Linux cho người mới dùng
Trang 1Linux cho ngu’o`’i dùng
Tác gia’: Kostromin V A Di
˙ ch bo’’i: Phan Vı˜nh Thi
˙ nh
Trang 2˙ ˙
1 HD ¯ H Linux: li
2 Cài d¯a˘
2.1 Chuaˆ’n bi
˙cài d¯a˘
˙t . 3
2.2 Phòng xa và nhu˜’ng lo`’i khuyên 5
2.3 Phân vùng trên d¯ı˜a và quá trình kho’’i d¯oˆ ˙ng . 6
2.3.1 Theˆ´ nào là caˆ´u trúc "hình ho ˙c cu’a d¯ı˜a" 6
2.3.2 Phân vùng và ba’ng phân vùng cu’a d¯ı˜a 7
2.3.3 Quá trình kho’’i d¯oˆ ˙ng HD¯ H công ty Microsoft . 8
2.3.4 Vaˆ´n d¯eˆ` vo´’i các d¯ı˜a lo´’n 10
2.4 Lu ˙’a cho˙n trình kho’’i d¯oˆ ˙ng . 11
2.4.1 Trình kho’’i d¯oˆ ˙ng LILO cu’a HD¯ H Linux . 11
2.4.2 Các trình kho’’i d¯oˆ ˙ng khác . 13
2.4.3 Các phu’o’ng án kho’’i d¯oˆ ˙ng . 14
2.5 Chuaˆ’n bi ˙các phân vùng trên d¯ı˜a 14
2.5.1 Lo`’i khuyên khi ta ˙o phân vùng . 14
2.5.2 Chu’o’ng trình d¯eˆ’ phân chia oˆ’ d¯ı˜a 17
2.6 Windows NT và Linux: kho’’i d¯oˆ ˙ng qua OS Loader cu’a NT . 17
2.7 Su’’ du ˙ng trình kho’’i d¯oˆ ˙ng LILO . 20
2.7.1 Cài d¯a˘ ˙t và caˆ´u hình LILO 20
2.7.2 Cài d¯a˘ ˙t các heˆ ˙d¯ieˆ`u hành khác sau Linux 23
2.7.3 Chuyeˆ’n thu’ mu ˙c /boot lên phân vùng DOS . 23
2.8 Kho’’i d¯oˆ ˙ng Linux tu`’ MS-DOS ba˘`ng loadlin.exe 24
3 Bash 27 3.1 Heˆ ˙ vo’ là gì? . 27
3.2 Các ký tu ˙’ d¯a˘˙c bieˆ ˙t . 28
3.3 Thu ˙’c thi các câu leˆ˙nh . 29
3.3.1 Thao tác ; 29
3.3.2 Thao tác & 29
3.3.3 Thao tác && và || 29
3.4 ¯ aˆ`u vào/d¯aˆ`u ra tiêu chuaˆ’nD 30
3.4.1 Dòng du˜’ lieˆ ˙u vào-ra . 30
3.4.2 Leˆ ˙nh echo . 30
3.4.3 Leˆ ˙nh cat . 31
3.5 Chuyeˆ’n hu’o´’ng d¯aˆ`u vào/d¯aˆ`u ra, d¯u’o`’ng oˆ´ng và d¯aˆ`u lo ˙c . 31
3.5.1 Su’’ du ˙ng >, < và >> . 31
Trang 33.5.2 Su’’ du
˙ng | . 33
3.5.3 ¯ aˆ`u loD ˙c . 34
3.6 Tham bieˆ´n và các bieˆ´n soˆ´ Môi tru’o`’ng cu’a heˆ ˙vo’ . 34
3.6.1 Các da ˙ng tham bieˆ´n khác nhau 35
3.6.2 Daˆ´u nha˘´c cu’a heˆ ˙ vo’ . 36
3.6.3 Bieˆ´n môi tru’o`’ng PATH 38
3.6.4 Bieˆ´n môi tru’o`’ng IFS 38
3.6.5 Thu’ mu ˙c hieˆ ˙n tho`’i và thu’ mu ˙c cá nhân . 38
3.6.6 Câu leˆ ˙nh export . 38
3.7 Khai trieˆ’n bieˆ’u thu´’c 39
3.7.1 Khai trieˆ’n daˆ´u ngoa˘ ˙c . 39
3.7.2 Thay theˆ´ daˆ´u ngã (Tilde Expansion) 40
3.7.3 Phép theˆ´ các tham bieˆ´n và bieˆ´n soˆ´ . 40
3.7.4 Phép theˆ´ các câu leˆ ˙nh . 41
3.7.5 Phép theˆ´ soˆ´ ho ˙c (Arithmetic Expansion) . 41
3.7.6 Phân chia tu`’ (word splitting) 41
3.7.7 Khai trieˆ’n các maˆ˜u tên taˆ ˙p tin và thu’ mu ˙c (Pathname Expansion) . 41
3.7.8 Xóa các ký tu ˙’ d¯a˘˙c bieˆ ˙t . 42
3.8 Shell - moˆ ˙t ngôn ngu˜’ laˆ ˙p trình . 42
3.8.1 Toàn tu’’ if và test (hoa˘ ˙c [ ]) . 42
3.8.2 Toán tu’’ test và d¯ieˆ`u kieˆ ˙n cu’a bieˆ’u thu´’c 43
3.8.3 Toán tu’’ case 46
3.8.4 Toán tu’’ select 46
3.8.5 Toán tu’’ for 47
3.8.6 Toán tu’’ while và until 48
3.8.7 Các hàm soˆ´ 48
3.8.8 Tham soˆ´ 48
3.9 Script cu’a heˆ ˙ vo’ và leˆ ˙nh source . 49
3.10 Câu leˆ ˙nh sh . 50
Trang 42.1 Caˆ´u trúc cu’a sector kho’’i d¯oˆ
˙ng chính . 92.2 Nhu caˆ`u su’’ du
˙ng không gian d¯ı˜a cu’a HD¯ H 15
3.1 Các câu leˆ
˙nh d¯aˆ`u lo
˙c . 343.2 Thay theˆ´ các tham bieˆ´n d¯a˘
Trang 5DANH SÁCH BA ’ NG 1
Lo`’i nói d¯aˆ`u
D
¯ ây là ba’n di
˙ch cuoˆ´ n "Linux cho ngu’o`’i dùng" (sêri sách tu
˙’ ho˙c) cu’a Kostromin VictorAlexeevich coˆ
˙’c d¯u’a ra các liên keˆ´ t to´’i ba’ngoˆ´ c d¯ây:
http://rus-linux.net/book1.php?name=book1/oglavl
http://linux-ve.chat.ru/
Lo`’i ca’m o’n
Xin ca’m o’n các bác sau d¯ã giúp d¯o˜’: Kostromin V A d¯ã vieˆ´t moˆ
˙t cuoˆ´ n sách veˆ` Linux chongu’o`’i dùng mo´’i tuyeˆ
˙t vo`’i; Tru’o’ng Ma
˙ nh Cu’o`’ng d¯ã dành cho teppi moˆ
˙t khoa’ng không trên
http://phoc.minidns.net d¯eˆ’ d¯a˘
˙t cuoˆ´ n sách này; hai bác Nguyeˆ˜n D ¯ a
˙ i Quý và Nguyeˆ˜n D ¯ a˘ ˙ ng Hoàng Tuân d¯ã giúp trong vieˆ
˙iteppi@vnlinux.orgneˆ´u nhu’teppi có quên ai d¯ó
Ba’n quyeˆ`n
Cuoˆ´ n "Bash cho ngu’o`’i dùng" này su’’ du
˙ng ba’n quyeˆ`n GPL Nói moˆ
˙t cách nga˘´n go˙n, ba˙n cótheˆ’ làm baˆ´t ký thu´’gì: in, ta˘
˙ng, bán, d¯oˆ´ t, nhu’ng xin hãy thêm hai d¯u’o`’ng daˆ˜n sau vào các ba’nsao cu’a mình:
http://rus-linux.net/book1.php?name=book1/oglavl
http://teppi.org/l4u/
Tác gia’ Kostromin V A cu˜ng nhu’ ngu’o`’i di
˙ch không chi˙u trách nhieˆ
˙m veˆ` haˆ
˙u qua’ do vieˆ
˙c su’’du
˙ng cuoˆ´ n sách này gây ra
Phiên ba’n và caˆ
˙su’’a d¯oˆ’i, thông báo loˆ˜i chính ta’, loˆ˜i kieˆ´n thu´’c cu’a ba’n di
˙ch cu˜ng nhu’d¯eˆ` nghi
˙giúpd¯o˜’ di
˙ch xin gu’’i cho Phan Vı˜nh Thi
˙nh theo d¯i
˙a chı’teppi@vnlinux.org.
Trang 6HD ¯ H Linux: li
˙ ch su’’ và các ba’n phân phoˆ ´ i
Trang 7˙n có theˆ’ tìm thaˆ´y raˆ´t nhieˆ`u cuoˆ´ n sách nó veˆ` vaˆ´n d¯eˆ` này Và taˆ´tca’ các ba’n phân phoˆ´ i lo´’n (Debian, Slackware, Fedora, Mandrake, ) d¯eˆ`u d¯ã có cuoˆ´n hu’o´’ngdaˆ˜n cài d¯a˘
˙t raˆ´t chi tieˆ´t, cho mo
˙i tình huoˆ´ ng su’’ du
˙ng Hãy cho`’ d¯o
˙’i và hy vo˙ng trong tu’o’ng laikhông xa se˜ có ba’n di
˙ch Tieˆ´ng Vieˆ
˙t cu’a nhu˜’ng cuoˆ´ n sách này Chính vì vaˆ
˙y trong cuoˆ´ n sáchnày, tác gia’ se˜ không d¯u’a ra các bu’o´’c cu
˙ theˆ’ cu’a vieˆ
˙c cài d¯a˘
˙t, mà xin ba˙n d¯o
˙c hãy tìm cáccuoˆ´ n hu’o´’ng daˆ˜n tu’o’ng u´’ng Thay vào d¯ó là nhu˜’ng gì ba
˙n caˆ`n bieˆ´t và chuaˆ’n bi
˙tru’o´’c khi càid¯a˘
˙t, d¯oˆ`ng tho`’i, tác gia’ se˜ d¯i cu
˙theˆ’ và chi tieˆ´t vào nhu˜’ng gì d¯a˘
˙c bieˆ
˙t khi cài d¯a˘
˙t Linux trên máytính d¯ã có moˆ
˙t Nam tru’o´’c khi ba˘´t d¯aˆ`u ho
˙c Linux d¯ã làm quen vàraˆ´t có theˆ’ d¯ã có kinh nghieˆ
˙m su’’ du
˙ng các HD¯ H dòng Windows nhu’ Windows 98, Windows
2000 và Windows XP Và trên thu
˙c cu’a mình, cùng vo´’i nhu˜’ng gì d¯ã ta
˙o ra và d¯ã caˆ´u hình du’o´’i du’o´’i Windows Raˆ´t may làkhông nhaˆ´t thieˆ´t pha’i d¯ánh maˆ´t taˆ´t ca’ nhu˜’ng thu´’ d¯ó Bo’’i vì trên moˆ
˙t máy tính có theˆ’ cùng
"chung soˆ´ ng hòa bình hai HD¯ H và thaˆ
˙m chí nhieˆ`u ho’n nu˜’a (neˆ´u có d¯u’ choˆ˜ trên d¯ı˜a!) Chính
vì theˆ´, o’’ phía du’o´’i se˜ nói cách cài d¯a˘
˙t HD¯ H Linux trên máy tính d¯ã cài d¯a˘˙t moˆ
˙t trong các heˆ
˙d¯ieˆ`u hành cu’a hãng Microsoft
2.1 Chuaˆ’n bi
˙ cài d¯a˘
˙ t
Có theˆ’ cài d¯a˘
˙t Linux ba˘`ng moˆ
˙t trong các cách sau:
• Tu`’ oˆ’ d¯ı˜a CD-ROM
• Tu`’ ba’n sao chép Linux trên oˆ’ d¯ı˜a cu´’ng
• Tu`’ máy chu’ taˆ
˙p tin cu’a ma˙ng noˆ
Trang 8• Tu`’ máy tính o’’ xa (ví du
˙ tu`’ Internet) qua giao thu´’c FTP;
• Tu`’ moˆ
˙t máy chu’ WWW qua giao thu´’c HTTP
Theo ý kieˆ´n cá nhân cu’a tác gia’ thì thuaˆ
˙n tieˆ
˙n và có tính thu˙’c teˆ´ nhaˆ´t là cài d¯a˘
˙t Linux tu`’CD-ROM, ho’n nu˜’a vieˆ
˙c mua các d¯ı˜a CD bây gio`’ không gây khó kha˘n gì
Tru’o´’c khi ba˘´t d¯aˆ`u cài d¯a˘
˙t, hãy thu thaˆ
˙p (hãy vieˆ´t lên moˆ
˙t to`’ giaˆ´y) taˆ´t ca’ nhu˜’ng thông tincaˆ´u hình caˆ`n thieˆ´t cu’a máy tính Neˆ´u nhu’ máy tính cu’a ba
˙n ta˙m tho`’i vaˆ˜n còn làm vieˆ
˙c du’o´’i
HD¯ H Windows 95/98/2000/XP, thì ba
˙n se˜ tìm thaˆ´y raˆ´t nhieˆ`u thông tin neˆ´u nhaˆ´n chuoˆ
˙t pha’ivào bieˆ’u tu’o
˙’ng My Computer, cho˙n leˆ
˙c mo’’ vo’ máy và d¯o
˙c nhu˜’ng dòng chu˜’ trên thieˆ´t bi
˙.D
˙u veˆ` moˆ
˙t thieˆ´t bi
˙càng toˆ´ t (taˆ´t ca’ nhu˜’ng thôngtin có theˆ’ tìm thaˆ´y), nhu˜’ng du˜’ lieˆ
˙u này se˜ caˆ`n d¯eˆ´n khi cài d¯a˘
˙t và caˆ´u hình, khi mà vieˆ
˙c tìmkieˆ´m chúng se˜ khó kha˘n ho’n
• BIOS:
– nhà sa’n xuaˆ´t;
– soˆ´ hieˆ
˙u phiên ba’n.
• Controller oˆ’ d¯ı˜a cu´’ng: loa
˙i (IDE hay SCSI) và dung lu’o
˙’ng cu’a oˆ’ d¯ı˜a (neˆ´ u nhu’ ba
˙n d¯o
˙cdùng d¯ı˜a IDE, thì caˆ`n kieˆ’m tra xem BIOS có hoˆ˜ tro
˙’ vieˆ˙c truy caˆ
˙p o’’ cheˆ´ d¯oˆ
˙ LBA haykhông):
– hda (Master trên controller soˆ´ 1 hay Primary Master);
– hdb (Slave trên controller soˆ´ 1 hay Primary Slave);
– hdc (Master trên controller soˆ´ 2 hay Secondary Master);
– hdd (Slave trên controller soˆ´ 2 hay Secondary Slave)
– nhà sa’n xuaˆ´t và soˆ´ maˆ˜u mã cu’a adapter SCSI (neˆ´u có)
˙t (serial, PS/2, hay bus mouse);
– giao thu´’c (Microsoft, Logitech, MouseMan, v.v );
– soˆ´ nút;
– d¯oˆ´ i vo´’i chuoˆ
˙t ca˘´m vào coˆ’ng noˆ´ i tieˆ´p thì caˆ`n soˆ´ thu´’ tu
˙’ cu’a coˆ’ng d¯ó.
• Ca
˙c màn hình
Trang 92.2 Phòng xa và nhu ˜’ng lo`’i khuyên 5
˙này ba˙n d¯o
˙c chı’ có theˆ’ tìm thaˆ´y trong tài lieˆ
˙u d¯i kèm vo´’i mànhình, Windows không hieˆ’n thi
˙nhu˜’ng giá tri
˙này, và chúng raˆ´t quan tro
˙ng trongkhi caˆ´u hình giao dieˆ
˙n d¯oˆ` ho
˙a).
• Neˆ´u nhu’ ba
˙n d¯o
˙c muoˆ´ n keˆ´t noˆ´i ma
˙ng (mà UNIX nói chung là HD¯ H dành cho ma˙ng),thì hãy ghi la
˙i nhu˜’ng du˜’ lieˆ
˙a chı’ IP cu’a máy chu’ WINS(Windows Internet Name Service);
– tên mieˆ`n cu’a công ty ba
˙n d¯o
˙c.
• Loa
˙i và nhà sa’n xuaˆ´t ca
˙c âm thanh và game controller (neˆ´u nhu’ có)
2.2 Phòng xa và nhu ˜’ng lo`’i khuyên
Tru’o´’c khi cài d¯a˘
˙t HD¯ H Linux sau Windows, raˆ´ t nên thu
˙’c hieˆ˙n vài thao tác "phòng xa" ("phòng
cháy ho’n chu˜’a cháy") Vì raˆ´t có theˆ’ ba
˙n d¯o
˙c se˜ pha’i phân vùng la
˙i oˆ’ d¯ı˜a, thay d¯oˆ’i ba’n ghikho’’i d¯oˆ
˙ng (Boot Record) và làm vieˆ
˙c vo´’i các taˆ
˙p tin kho’’i d¯oˆ
˙ng cu˜ng nhu’các taˆ
˙p tin caˆ´u hình.Các thao tác này không pha’i lúc nào cu˜ng d¯em la
˙c se˜ không kho’’i d¯oˆ
˙ng nu˜’a Có bieˆ´t cách thoát rakho’i tình huoˆ´ ng này và phu
˙c hoˆ`i du˜’lieˆ
˙u caˆ`n thieˆ´t không d¯ó còn là moˆ
˙t câu ho’i Nhu’ng ro’i vàotình huoˆ´ ng nhu’ vaˆ
˙y heˆ´t su´’c deˆ˜ dàng nhaˆ´t là vo´’i ngu’o`’i dùng laˆ`n d¯aˆ`u tiên cài d¯a˘
˙n d¯o
˙c còn chu’a ta
˙o) Thu´’ hai, caˆ`n ghi la
˙i nhu˜’ng du˜’ lieˆ
˙u có giá tri˙(backup) Và thu´’
ba, chuaˆ’n bi
˙các taˆ
˙p tin (d¯ı˜a meˆ`m, CD) cài d¯a˘
˙t cho heˆ
˙ thoˆ´ ng cu˜ Moˆ
˙t lo`’i khuyên quan tro
˙ngkhác: neˆ´u có gì d¯ó xa’y ra không theo ý muoˆ´ n thì không nên hoang mang Xin chia se’ moˆ
˙tkinh nghieˆ
˙m buoˆ`n: khi laˆ`n d¯aˆ`u tiên tác gia’ cài Linux trên máy tính d¯ã có Windows NT, vàkeˆ´t qua’ là máy tính không theˆ’ kho’’i d¯oˆ
˙ng d¯u’o
˙’c Không hieˆ’u heˆ´ t vaˆ´n d¯eˆ` tác gia’ nghı˜ là khôngcòn cách gì khác ngoài d¯i
˙nh da˙ng la˙i oˆ’ d¯ı˜a và cài d¯a˘
˙t la˙i tu`’ d¯aˆ`u Bây gio`’ thì tác gia’ d¯ã hieˆ’u là
Trang 10• Không hoa’ng hoˆ´ t Neˆ´u nhu’có gì d¯ó không làm vieˆ
˙c, hãy thu’’mo
˙i cách d¯eˆ’ tìm ra nguyênnhân, kieˆ’m tra la
˙i nhieˆ`u laˆ`n thao tác cu’a mình Chı’ sau khi d¯ó mo´’i thu
˙’c hieˆ˙n các bu’o´’csu’’a loˆ˜i
˙’i.
Xin thêm moˆ
˙t lo`’i khuyên phoˆ’ bieˆ´n sau: * Hãy xem các taˆ
˙p tin log, tu´’c là các taˆ
˙p tin ghila
˙i su˙’ kieˆ˙n cu’a heˆ
˙thoˆ´ ng (caˆ`n tìm chúng trong thu’ mu
˙c/var/log).
Nhu’ d¯ã nói o’’ trên, quá trình cài d¯a˘
˙t HD¯ H Linux nói riêng không pha’i là d¯eˆ` tài cu’a cuoˆ´ nsách Ngu’o`’i dùng caˆ`n tìm các cuoˆ´n hu’o´’ng daˆ˜n tu’o’ng u´’ng Tuy nhiên, tác gia’ cu˜ng muoˆ´n d¯u’a
ra vài lo`’i khuyên d¯eˆ’ giúp ngu’o`’i dùng d¯u’a ra quyeˆ´t d¯i
˙nh trong khi cài d¯a˘
và hãy suy nghı˜ ky˜ khi cho
˙n câu tra’ lo`’i D¯ eˆ’ minh chu´’ng cho lo`’i khuyên này xin d¯u’o
˙’c keˆ’ la˙itru’o`’ng ho
˙’p khi tác gia’ cài Red Hat 7.1, và tu˙’ d¯oˆ˙ng nhaˆ´n lên nút Next, vì cho ra˘`ng phu’o’ng ántheo ma˘
˙ng (telnet, ftp, NFS, Samba), ma˘˙c dù d¯ã caˆ´u hình giao dieˆ
˙n ma˙ng cho máy Nguyênnhân là trong phu’o’ng án theo ma˘
˙c d¯i
˙nh thì tu’o`’ng lu’’a d¯u’o
˙’c cài d¯a˘˙t, và tu’o`’ng lu’’a d¯óng heˆ´t cáctruy caˆ
˙i vàng! Thu´’ hai, tác gia’ khuyên không nên d¯oˆ`ng ý vo´’i vieˆ
˙c tu˙’d¯oˆ
Sau khi làm xong các công vieˆ
˙c phòng xa, caˆ`n quyeˆ´t d¯i
˙nh se˜ toˆ’ chu´’c kho’’i d¯oˆ
˙ng nhieˆ`u
HD¯ H nhu’ theˆ´ nào, chuaˆ’n bi
˙các oˆ’ d¯ı˜a (phân vùng) d¯eˆ’ cài d¯a˘
˙t, tu´’c là caˆ`n chia oˆ’ d¯ı˜a thành soˆ´phân vùng caˆ`n thieˆ´t Nhu’ng tru’o´’c khi chuyeˆ’n sang các bu’o´’c cu
˙ theˆ’ d¯eˆ’ chuaˆ’n bi
˙oˆ’ d¯ı˜a, xind¯u’o
˙’c nói qua moˆ˙t chút veˆ` caˆ´u trúc cu’a d¯ı˜a và quá trình kho’’i d¯oˆ
˙ng HD¯ H Neˆ´ u ai d¯ó không d¯u’kiên nhaˆ˜n d¯eˆ’ d¯o
˙c phaˆ`n lý thuyeˆ´t này, thì có theˆ’ bo’ qua chúng và chuyeˆ’n tha˘’ng d¯eˆ´n vaˆ´n d¯eˆ`cho
˙n chu’o’ng trình kho’’i d¯oˆ
˙ng.
2.3 Phân vùng trên d¯ı˜a và quá trình kho’’i d¯oˆ
˙ ng 2.3.1 Theˆ ´ nào là caˆ´u trúc "hình ho
˙n toˆ´ c lo´’n D¯ o
˙c/Ghi du˜’ lieˆ
˙u d¯u’o
˙’c thu˙’c hieˆ˙n bo’’i các d¯aˆ`u d¯o
˙c na˘`m giu˜’a các d¯ı˜a này, dichuyeˆ’n tu`’ tâm d¯ı˜a ra rìa ngoài cu’a d¯ı˜a Vòng tròn d¯aˆ`u d¯o
˙c ve˜ ra trên các d¯ı˜a khi quay quanhchúng go
˙t oˆ’ d¯ı˜a thu’o`’ng là taˆ
˙p ho˙’p ba sô: soˆ´ cylinder/soˆ´ rãnh trong cylinder/soˆ´ sector trên
rãnh hay còn vieˆ´t ta˘´t là C/H/S (ba chu˜’ cái d¯aˆ`u tiên cu’a các thuaˆ
˙t ngu˜’ Tieˆ´ng Anh tu’o’ng u´’ng:Cyliner/Head/Sector) Ba soˆ´ này go
˙i là caˆ´u trúc "hình ho
˙ c cu’a d¯ı˜a" D¯ ı˜a vo´’i caˆ´ u trúc hình ho
˙cC/H/S có dung lu’o
˙’ng C*H*S*512 byte.
D
¯ ı˜a cu´’ng là các thieˆ´ t bi
˙khoˆ´ i, tu´’ là d¯o
˙c và ghi thông tin theo các khoˆ´ i, và kích thu’o´’c nho’nhaˆ´t cu’a khoˆ´ i ba˘`ng moˆ
˙t sector (512 byte) D¯ eˆ’ có theˆ’ ghi thông tin lên d¯ı˜a, caˆ`n d¯a˘˙t d¯aˆ`u d¯ı˜ad¯úng vi
˙trí, tu´’c là chı’ cho controller bieˆ´t caˆ`n ghi thông tin này vào sector nào Sector d¯u’o
˙’cd¯ánh d¯i
˙a chı’ theo soˆ´ thu´’tu
˙’ cylinder, soˆ´ thu´’tu
˙’ d¯aˆ`u d¯o˙c (hay rãnh) và soˆ´ thu´’tu
˙’ sector trên rãnh.
Trang 112.3 Phân vùng trên d¯ı˜a và quá trình kho’’i d¯oˆ
2.3.2 Phân vùng và ba’ng phân vùng cu’a d¯ı˜a
Trong các heˆ
˙ thoˆ´ ng Intel oˆ’ d¯ı˜a thu’o`’ng d¯u’o
˙’c chia thành các phân vùng Raˆ´ t có theˆ’ nguyênnhân cu’a vieˆ
˙c phân vùng là nguyên nhân li˙ch su’’: các phiên ba’n MS-DOS d¯aˆ`u tiên không theˆ’
su’’ du
˙ng d¯u’o
˙’c các d¯ı˜a lo´’n, mà dung lu’o˙’ng d¯ı˜a la˙i phát trieˆ’n nhanh ho’n kha’ na˘ng cu’a DOS
Khi d¯ó d¯ã nghı˜ ra vieˆ
˙c chia oˆ’ d¯ı˜a thành các phân vùng D¯ eˆ’ làm d¯u’o
˙’c d¯ieˆ`u này, trong sectorsoˆ´ 0 cu’a d¯ı˜a (sector soˆ´ 0 cu’a rãnh d¯aˆ`u tiên trong cylinder soˆ´ 0) ghi nho´’ ba’ng chia oˆ’ d¯ı˜a thành
các phân vùng (partition table) Moˆ˜i phân vùng d¯u’o
˙’c dùng nhu’ moˆ˙t d¯ı˜a vaˆ
˙t lý riêng re˜ Moˆ
˙ttru’o`’ng ho
˙’p nói riêng d¯ó là trong các phân vùng khác nhau có theˆ’ cài d¯a˘˙t các heˆ
˙ d¯ieˆ`u hànhkhác nhau
Ba’ng phân vùng chu´’a 4 ba’n ghi 16 byte cho 4 phân vùng chính Moˆ˜i ba’n ghi có caˆ´u trúc
char begin[3]; /* CHS sector d ¯a ˆ `u tiên, 24 bit
char type; /* loa
˙i phân vùng (ví du˙, 83 — LINUX_NATIVE, 82 — LINUX_SWAP) */char end[3]; /* CHS sector cuo ´ i cùng, 24 bit */ ˆ
int start; /* so ´ cu ˆ ’a sector d¯a ˆ `u tiên (32-bit, tính tu `’ 0) */
int length; /* so ´ sector có trong phân vùng (32 bit) */ ˆ
};
Ba’ng phân vùng d¯ı˜a thu’o`’ng d¯u’o
˙’c ta˙o bo’’i chu’o’ng trình fdisk Trên HD¯ H Linux ngoàichu’o’ng trìnhfdisk"truyeˆ`n thoˆ´ ng" (tuy vaˆ
˙y raˆ´t khác so vo´’i chu’o’ng trình fdisk trong MS-DOS
và Windows), còn có hai chu’o’ng trình d¯eˆ’ làm vieˆ
˙c vo´’i phân vùng d¯ı˜a: cfdiskvàsfdisk.Chu’o’ng trìnhcfdisk, gioˆ´ ng nhu’fdiskchı’ dành d¯eˆ’ làm vieˆ
˙c vo´’i ba’ng phân vùng d¯ı˜a: nókhông quan tâm chú ý d¯eˆ´n thông tin có trên d¯ı˜a Chı’ khác bieˆ
˙t vo´’i fdisko’’ giao dieˆ
˙n thuaˆ
˙ntieˆ
˙n: chı’ daˆ˜n su’’du
˙ng leˆ
˙nh và heˆ
˙thoˆ´ ng trình d¯o’n (thu
˙’c d¯o’n) Chu’o’ng trìnhsfdiskcó vài kha’
na˘ng cao ho’n, ví du
˙, cho phép thao tác trên các phân vùng d¯ã có cu’a d¯ı˜a
DOS su’’du
˙ng tru’o`’ng begin và end cu’a ba’ng phân vùng và Interrupt 13 cu’a BIOS (Int 13h)
d¯eˆ’ truy caˆ
˙p to´’i d¯ı˜a, vì theˆ´ không theˆ’ su’’ du
˙ng d¯ı˜a có dung lu’o
˙’ng lo´’n ho’n 8,4 Gbyte, ngay ca’
vo´’i các BIOS mo´’i (veˆ` vaˆ´n d¯eˆ` này se˜ nói d¯eˆ´n o’’ sau), còn phân vùng thì không theˆ’ lo´’n ho’n 2,1
Gbyte (nhu’ng d¯ây là do ha
˙n cheˆ´ cu’a heˆ
˙’ng có theˆ’ d¯a˙t 2 Tbyte
Vì trong ba’ng chia oˆ’ d¯ı˜a chı’ có 4 dòng cho các phân vùng, soˆ´ phân vùng chính trên d¯ı˜a
ngay tu`’ d¯aˆ`u dã ha
˙n cheˆ´: không theˆ’ lo´’n ho’n 4 Khi mà 4 phân vùng tro’’ thành ít, thì ngu’o`’i tasáng cheˆ´ ra phân vùng lôgíc Moˆ
˙t trong soˆ´ các phân vùng chính tro’’ thành mo’’ roˆ
˙ ng (loa˙i phânvùng - 5 hay F hay 85 trong heˆ
˙co’ soˆ´ mu’o`’i sáu) Và trong phân vùng mo’’ roˆ
˙t dùng cho phân vùng lôgíc, moˆ
˙t cho phân vùng mo’’ roˆ
˙ng khác, còn hai cáicòn la
˙t phân vùng mo’’ roˆ
˙ng Nhu’ vaˆ
˙y, thu d¯u’o
˙’c moˆ˙t chuoˆ˜i các ma˘´t xích tu`’
ba’ng phân vùng, ma˘´t xích d¯aˆ`u tiên mô ta’ ba phân vùng chính, và moˆ˜i ma˘´t xích tieˆ´p theo –
moˆ
˙t phân vùng lôgíc và vi˙trí cu’a ba’ng tieˆ´p theo
Chu’o’ng trìnhsfdisktrên Linux cho thaˆ´y toàn boˆ
˙ chuoˆ˜i này:
Trang 12kênh giao tác
[root]# sfdisk -l -x /dev/hda
Disk /dev/hda: 784 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Soˆ´ phân vùng lôgíc theo nguyên ta˘´c không ha
˙n cheˆ´, vì moˆ˜i phân vùng lôgíc có theˆ’ chu´’aba’ng phân vùng và các phân vùng lôgíc cu’a mình Tuy nhiên trên thu
˙’c theˆ´ vaˆ˜n có nhu˜’ng ha
˙ncheˆ´ Ví du
˙, Linux không theˆ’ làm vieˆ
˙c vo´’i ho’n 15 phân vùng trên các d¯ı˜a SCSI và ho’n 63 phânvùng trên d¯ı˜a IDE
Phân vùng mo’’ roˆ
˙ng trên moˆ
˙t d¯ı˜a vaˆ
˙t lý, hay trong moˆ
˙t phân vùng mo’’ roˆ
˙ng chu´’a nó (cótheˆ’ go
˙i là "me˙") chı’ có theˆ’ làm moˆ
˙t: không moˆ
˙t chu’o’ng trình phân chia oˆ’ d¯ı˜a nào trong soˆ´ d¯ã
có (fdiskvà tu’o’ng tu
˙’) có theˆ’ ta˙o thêm moˆ
˙t phân vùng mo’’ roˆ
/dev/hda1,/dev/hda2,/dev/hda3, còn phân vùng lôgíc thì có các tên:/dev/hda5, /dev/hda6, /dev/hda7
(ba˘´t d¯aˆ`u tu`’ soˆ´ 5) Tu`’ nhu˜’ng gì d¯eˆ` caˆ
˙p d¯eˆ´n o’’ trên có theˆ’ suy ra ta
˙i sao la˙i có theˆ’ bo’ qua cáctên nhu’/dev/hda3 hay/dev/hda4(d¯o’n gia’n là phân vùng chính thu´’ ba và thu´’ tu’ không
d¯u’o
˙’c ta˙o ra) và ngay sau/dev/hda2ba˙n d¯o
˙c thaˆ´y/dev/hda5(phân vùng lôgíc trong phânvùng mo’’ roˆ
˙ng/dev/hda2), và sau d¯ó thì vieˆ
˙t phân vùng mo’’ roˆ
˙ng, trong phân vùng mo’’ roˆ
˙ng ta˙o ra hai phân vùng lôgíc, thì nhu˜’ngphân vùng lôgíc này se˜ d¯u’o
˙’c d¯a˘˙t tên E: và F: Xin nói thêm, trong Windows NT và 2000/XP
có theˆ’ thay d¯oˆ’i tên cu’a các phân vùng d¯ı˜a
2.3.3 Quá trình kho’’i d¯oˆ
˙ ng HD ¯ H công ty Microsoft
Dù heˆ
˙ d¯ieˆ`u hành có là gì, thì d¯eˆ’ có theˆ’ ba˘´t d¯aˆ`u d¯ieˆ`u khieˆ’n máy tính, caˆ`n na
˙p HD¯ H vào boˆ˙nho´’ Vì theˆ´ hãy xem xét qua quá trình kho’’i d¯oˆ
˙ng cu’a các HD¯ H khác nhau Chúng ta chı’ quantâm d¯eˆ´n vieˆ
˙c phát trieˆ’n và hoàn thieˆ
˙n máy tính cá nhân song song vo´’i su
˙’ phát trieˆ’n cu’a HD¯ H cu’aMicrosoft và nhu˜’ng quyeˆ´t d¯i
Trang 132.3 Phân vùng trên d¯ı˜a và quá trình kho’’i d¯oˆ
Nhu’ ba
˙n d¯o
˙c bieˆ´t, khi baˆ
˙t máy tính d¯aˆ`u tiên se˜ cha
˙y chu’o’ng trình POST (Power On SelfTest) Chu’o’ng trình xác d¯i
˙ng các the’ adaptor Trên màn hình thu’o`’ng xuaˆ´t hieˆ
˙ncác thông báo veˆ` dung lu’o
˙’ng boˆ˙ nho´’, veˆ` vieˆ
ra (oˆ’ d¯ı˜a cu´’ng và meˆ`m, boˆ
˙ xu’’ lý, coˆ’ng COM và v.v )
Sau khi hoàn thành vieˆ
˙c thu’’nghieˆ
˙m POST go˙i Int 19h Công vieˆ
˙c cu’a Int 19h là tìm thieˆ´tbi
˙kho’’i d¯oˆ
˙ng Vieˆ
˙c tìm kieˆ´m thu
˙’c hieˆ˙n theo thu´’ tu
˙’ xác d¯i˙nh trong Setup BIOS và theo cáchtha˘m dò sector soˆ´ 0 cu’a các thieˆ´t bi
˙tu’o’ng u´’ng Neˆ´u d¯ı˜a có theˆ’ kho’’i d¯oˆ
˙ng, thì trong sector soˆ´
0 cu’a d¯ı˜a có ba’n ghi kho’’i d¯oˆ
˙ ng chính – Master Boot Record (MBR) Hai byte cuoˆ´ i cùng cu’a
MBR – "soˆ´ màu nhieˆ
˙ m", là daˆ´u hieˆ
˙u cho bieˆ´t sector có MBR, và theo d¯ó d¯ı˜a có theˆ’ kho’’i d¯oˆ
˙ng.Ngoài "soˆ´ màu nhieˆ
˙m" MBR còn chu´’a ba’ng phân vùng d¯ı˜a d¯ã nói o’’ trên, và moˆ
˙t chu’o’ng trình
nho’ – trình kho’’i d¯oˆ
˙ ng chính, kích thu’o´’c chı’ có 446 (0x1BE) byte.
Ba’ng2.1cho thaˆ´y caˆ´u trúc cu’a sector kho’’i d¯oˆ
˙ng chính sau khi cài d¯a˘
˙t Windows.
Ba’ng 2.1: Caˆ´u trúc cu’a sector kho’’i d¯oˆ
˙ng chínhDi
˙ch chuyeˆ’n Noˆ
˙i dung0x000 Mã cu’a trình kho’’i d¯oˆ
˙ng chính0x1BE Ba’ng phân vùng oˆ’ d¯ı˜a
0x1FE "Soˆ´ màu nhieˆ
˙m" (0xAA55)MS-DOS, Windows95 và NT ghi nho´’ DOS MBR trong khi cài d¯a˘
˙t Ngoài ra cu˜ng có theˆ’ta
˙o MBR cu’a MS vo´’i câu leˆ
˙ nh DOS sau:fdisk /mbr.
Xin tro’’ la
˙i vo´’i quá trình kho’’i d¯oˆ
˙ng Int 19h cu’a BIOS na˙p trình kho’’i d¯oˆ
˙ng chính vào boˆ
˙nho´’ máy tính và chuyeˆ’n quyeˆ`n d¯ieˆ`u khieˆ’n cho chu’o’ng trình này Nhu’ng chu’o’ng trình "bénho’" này không d¯u’ kha’ na˘ng kho’’i d¯oˆ
˙ng HD¯ H; taˆ´ t ca’ nhu˜’ng gì mà nó có theˆ’ làm – d¯ó là na
˙pvào boˆ
˙ng thu´’ hai, ba˘´t d¯aˆ`u tu`’ sector lôgíc d¯aˆ`u tiên cu’a phân vùng kích hoa
˙t Hãy chú ý d¯eˆ´ncu
˙m tu`’ "ba˘´t d¯aˆ`u tu`’" Vì trình kho’’i d¯oˆ
˙ng thu´’ hai trên các heˆ
˙ thoˆ´ ng khác nhau có d¯oˆ
˙ dài khácnhau
Trong phân vùng d¯u’o
˙’c d¯i˙nh da˙ng du’o´’i heˆ
˙thoˆ´ ng taˆ
˙p tin FAT, trình kho’’i d¯oˆ
˙ng thu´’hai chieˆ´mmoˆ
˙t sector (512 byte) Trong phân vùng d¯i
˙nh da˙ng du’o´’i heˆ
˙ thoˆ´ ng taˆ
˙p tin NTFS, trình kho’’id¯oˆ
˙ng thu´’ hai chieˆ´m vài sector
˙’p MS DOS chu’o’ng trình kho’’i d¯oˆ˙ng d¯oˆ
˙ng na˙p IO.SYS theo d¯i
˙a chı’700h, sau d¯ó MSDOS.SYS và chuyeˆ’n quyeˆ`n d¯ieˆ`u khieˆ’n cho SYSINIT cu’a môd¯un IO.SYS.Neˆ´u vì lý do nào d¯ó không tìm thaˆ´y trên d¯ı˜a phân vùng kích hoa
˙t, thì quá trình kho’’ d¯oˆ
˙ngse˜ tieˆ´p tu
˙c vo´’i vieˆ
˙c xu’’ lý Int 18h Tru’o`’ng ho
˙’p này trên thu˙’c teˆ´ raˆ´t hieˆ´m khi su’’ du
˙ng, nhu’ngkha’ na˘ng này có theˆ’ có ích trong tru’o`’ng ho
˙’p nào d¯ó Trong khi kho’’i d¯oˆ˙ng tu`’ xa, khi heˆ
˙ d¯ieˆ`uhành kho’’i d¯oˆ
˙ng tu`’ máy chu’, thì Int này d¯u’o
˙’c POST chuyeˆ’n hu’o´’ng lên ROM cu’a ca˙c ma˙ng.D
¯ oˆ´ i vo´’i các HD¯ H khác cu’a Microsoft thì quá trình kho’’i d¯oˆ
˙ng dieˆ˜n ra tu’o’ng tu
˙’.
• Windows95 kho’’i d¯oˆ
˙ng gioˆ´ ng nhu’ DOS nhu’ng thay theˆ´ IO.SYS và MSDOS.SYS bo’’icác taˆ
˙p tin cu’a mình Các taˆ
˙p tin DOS d¯u’o
˙’c giu˜’ la
˙i du’o´’i các tên tu’o’ng u´’ng IO.DOS vàMSDOS.DOS Khi ba
˙n d¯o
˙c cho˙n kho’’i d¯oˆ
˙ng DOS, Windows95 se˜ d¯oˆ’i tên các taˆ
˙p tincu’a mình vo´’i phaˆ`n mo’’ roˆ
˙ng w40 và phu˙c hoˆ`i tên ban d¯aˆ`u cu’a các taˆ
˙p tin heˆ
˙thoˆ´ ng cu’aDOS Quá trình kho’’i d¯oˆ
˙ng tieˆ´p tu
˙c vo´’i vieˆ
˙c na˙p IO.SYS Nhu’theˆ´, sector kho’’i d¯oˆ
˙ng cu’aDOS và Windows95 là nhu’ nhau
Trang 14• Windows NT4 su’’ du
˙ng MBR DOS, nhu’ng thay theˆ´ ba’n ghi kho’’i d¯oˆ
˙ng cu’a phân vùngkích hoa
˙t ba˘`ng cách thay theˆ´ NTLDR vào choˆ˜ IO.SYS D¯ ây là moˆ
˙t chu’o’ng trình ma
˙ng
và có theˆ’ làm d¯u’o
˙’c nhieˆ`u thu´’ Ví du˙, có theˆ’ tìm taˆ
˙p tin boot.ini và neˆ´u nhu’ tham soˆ´
timeout lo´’n ho’n 0, thì d¯u’a ra trình d¯o’n (thu
˙’c d¯o’n) kho’’i d¯oˆ˙ng.
Moˆ˜i dòng cu’a phaˆ`n [operating systems] trong taˆ
˙p tin boot.ini xác d¯i
˙nh moˆ
˙tphu’o’ng án (moˆ
˙t HD¯ H) kho’’i d¯oˆ˙ng và d¯u’o
˙’c vieˆ´ t theo maˆ˜u sau:
˙a chı’ cu’a trình kho’’i d¯oˆ
˙ng thu´’ hai có theˆ’ là moˆ
˙t phân vùng cu˙ theˆ’ nào d¯ó cu’a d¯ı˜a cu˜ngnhu’ taˆ
˙p tin kho’’i d¯oˆ
˙ng Du’o´’i d¯ây là moˆ
˙t ví du˙ taˆ
˙p tin boot.ini:
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation 4.00 VIETNAM"
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation 4.00 VIETNAM [VGA mode]" /basevideo /sosC:\="Microsoft Windows"
C:\BOOTSECT.LNX="Linux"
Neˆ´u ngu’o`’i dùng cho
˙n NT, thì se˜ kho’’i d¯oˆ
˙ng theo d¯i
˙a chı’ phân vùng d¯u’o
˙’c chı’ trên dòng d¯aˆ`utiên Trên dòng tu’o’ng u´’ng vo´’i phu’o’ng án Microsoft Windows, chı’ d¯u’a ra "C:\", vì tên cu’a
D
¯ oˆ´ i vo´’i vieˆ
˙c kho’’i d¯oˆ
˙ng các heˆ
˙ thoˆ´ ng khác, có theˆ’ su’’ du
˙ng cách d¯ó Chı’ caˆ`n thêm vàoboot.ini các dòng chu´’a liên keˆ´t d¯eˆ´n taˆ
˙p tin kho’’i d¯oˆ
˙ng khác Khi cho˙n các dòng này se˜ kho’’id¯oˆ
˙ng HD¯ H tu’o’ng u´’ng Trong ví du˙ trên Linux cu˜ng d¯u’o
˙’c kho’’i d¯oˆ˙ng theo các này Trong taˆ
˙ptin C:\BOOTSECT.LNX caˆ`n ghi noˆ
˙i dung cu’a ba’n ghi kho’’i d¯oˆ
˙ng, ta˙o bo’’i Linux (nói d¯úngho’n – LILO, trình kho’’i d¯oˆ
˙ng tiêu chuaˆ’n cu’a Linux)
2.3.4 Vaˆ ´ n d¯eˆ` vo´’i các d¯ı˜a lo´’n
Trên MS-DOS và các phiên ba’n d¯aˆ`u tiên cu’a Windows truy caˆ
˙p to´’i d¯ı˜a (trong d¯ó có ca’ bu’o´’ckho’’i d¯oˆ
˙ng d¯aˆ`u tiên cu’a HD¯ H) d¯u’o
˙’c toˆ’ chu´’c qua Int 13 (Int 13h) cu’a BIOS Khi này su’’ du˙ngsu
˙’ d¯ánh d¯i˙a chı’ sector trên d¯ı˜a trên co’ so’’ C/H/S (xem trên) Chính xác ho’n:
• AH — cho
˙n thao tác;
• CH — 8 bit nho’ ho’n cu’a soˆ´ cylinder;
• CL — 7-6 bit tu’o’ng u´’ng bit lo´’n cu’a soˆ´ cylinder, 5-0 tu’o’ng u´’ng soˆ´ sector;
• DH — soˆ´ cu’a d¯aˆ`u d¯o
˙c;
• DL — soˆ´ cu’a d¯ı˜a(80h hay 81h)
(Caˆ`n lu’u ý ra˘`ng vieˆ
˙c d¯ánh soˆ´ cylinder vaˆ
˙t lý và rãnh thu’o`’ng ba˘´t d¯aˆ`u tu`’ 0, còn sector trênrãnh d¯ánh soˆ´ ba˘´t d¯aˆ`u tu`’ 1) Tuy nhiên trên thu
˙’c teˆ´ soˆ´ d¯aˆ`u d¯o
˙c không quá 16, còn soˆ´ sectortrên rãnh – không quá 63, và dù có dùng 10 bit d¯eˆ’ chı’ ra cylinder, BIOS vaˆ˜n không theˆ’ làm
vieˆ
˙c vo´’i d¯ı˜a dung lu’o
˙’ng lo´’n ho’n 1024*63*16*512 = 528 Mbyte.
D
¯ eˆ’ vu’o˙’t qua ha
˙n cheˆ´ này, ngu’o`’i ta áp du
˙ng nhieˆ`u cách "láu cá" khác nhau Ví du
˙, ExtendedCHS (ECHS) hay "Large disk support" (d¯ôi khi còn go
˙i là "Large") su’’du
˙ng ba bit chu’a dùng
Trang 152.4 Lu
˙ ’a cho ˙ n trình kho’’i d¯oˆ
d¯eˆ´n cu’a soˆ´ thu´’ tu
˙’ d¯aˆ`u d¯o˙c d¯eˆ’ ta˘ng soˆ´ cylinder Cách này cho pehsp su’’ du
˙ng caˆ´u trúc "hìnhho
˙c gia’ ma˙o cu’a d¯ı˜a" vo´’i 1024 cylinder, 128 d¯aˆ`u d¯o
˙c và 63 sector/rãnh Bieˆ´n d¯oˆ’i ExtendedCHS thành d¯i
˙a chı’ CHS thu˙’c (có theˆ’ chu´’a d¯eˆ´ n 8192 cylinder) d¯u’o
˙’c BIOS thu˙’c hieˆ˙n Cách nàycho phép làm vieˆ
˙c vo´’i d¯ı˜a có dung lu’o
˙’ng d¯eˆ´ n 8192*16*63*512 = 4 227 858 432 byte hay 4,2Gbyte
Nhu’ng các nhà phát trieˆ’n càng ngày càng ta˘ng maˆ
˙c cu’a d¯ı˜a", và các phiên ba’n BIOS cu˜ không theˆ’ hoˆ˜ tro
˙’ truycaˆ
˙p to´’i toàn boˆ
˙ không gian d¯ı˜a
Khi d¯ó ngu’o`’i ta nghı˜ ra phu’o’ng pháp khác d¯eˆ’ làm vieˆ
˙c vo´’i các d¯ı˜a lên qua Int 13h - d¯ánh
d¯i
˙ a chı’ các khoˆ´i theo d¯u’o`’ng tha˘’ng ("Linear Block Addressing" hay LBA) Không d¯i sâu vào
chi tieˆ´t, có theˆ’ nói ra˘`ng taˆ´t ca’ sector trên d¯ı˜a d¯u’o
˙t d¯i
˙a chı’ lôgíc – soˆ´ thu´’ tu
˙’ cu’a sector trong toˆ’ng soˆ´ taˆ´t ca’ sector Vieˆ
˙c d¯ánh soˆ´ sector lôgícba˘´t d¯aˆ`u tu`’ 0, trong d¯ó sector soˆ´ 0 chu´’a ba’n ghi kho’’i d¯oˆ
˙ng chính (MBR) Trong Setup BIOShoˆ˜ tro
˙’ bieˆ´ n d¯oˆ’i soˆ´ thu´’ tu
˙’ theo d¯u’o`’ng tha˘’ng thành d¯i˙a chı’ CHS có da˙ng "Hoˆ˜ tro
˙’ LBA" Nhu’vaˆ
˙y, trong các phiên ba’n BIOS mo´’i thu’o`’ng có lu
˙’a cho˙n vo´’i ba phu’o’ng án: "Large", "LBA",
và "Normal" (phu’o’ng án cuoˆ´i cùng có nghı˜a là không thu
˙’c hieˆ˙n bieˆ´n d¯oˆ’i d¯i
˙ 3D (C,H,S) Vì nguyên nhân này xuaˆ´t hieˆ
˙n ha˙n cheˆ´ lên dung lu’o
˙’ngcu’a d¯ı˜a: BIOS, và theo d¯ó, MS-DOS và các phiên ba’n Windows d¯aˆ`u tiên không theˆ’ d¯ánh d¯i
˙achı’ các d¯ı˜a có dung lu’o
˙’ng lo´’n ho’n 8,4 Gbyte.
Caˆ`n chú ý ra˘`ng ha
˙n cheˆ´ nói trên chı’ áp du
˙ng vo´’i các d¯ı˜a có giao dieˆ
˙n IDE Trong cáccontroller cu’a d¯ı˜a SCSI, soˆ´ cu’a sector d¯u’o
˙’c chuyeˆ’n vào các leˆ˙nh SCSI, và sau d¯ó tu
˙’ d¯ı˜a tìm
ra vi
˙trí caˆ`n thieˆ´t, vì theˆ´ ha
˙n cheˆ´ lên dung lu’o
˙’ng d¯ı˜a không xuaˆ´ t hieˆ
˙n.
Moˆ
˙t laˆ`n nu˜’a muoˆ´n nha˘´c la
˙i ra˘`ng, taˆ´t ca’ nhu˜’ng ha
˙n cheˆ´ nói trên chı’ có ý nghı˜a trong giaid¯oa
˙n kho’’i d¯oˆ
˙ng HD¯ H Bo’’i vì Linux và các phiên ba’n Windows mo´’i nhaˆ´ t khi làm vieˆ
˙c vo´’i d¯ı˜ad¯ã không còn su’’ du
˙ng Int 13 cu’a BIOS, mà su’’ du
˙ng driver riêng cu’a mình Nhu’ng tru’o´’c khi
có theˆ’ su’’du
˙ng driver cu’a mình, heˆ
˙thoˆ´ ng pha’i d¯u’o
˙’c na˙p Vì theˆ´ trong giai d¯oa
˙n kho’’i d¯oˆ
˙ng d¯aˆ`utiên baˆ´t ky` heˆ
˙ thoˆ´ ng nào cu˜ng caˆ`n su’’ du
˙ng BIOS D¯ ieˆ`u này ha˙n cheˆ´ vieˆ
˙c vo´’i các d¯ı˜a có dung lu’o
˙’ng lo´’n ho’n nhieˆ`u D¯ eˆ’ có theˆ’ hieˆ’u cách thoátkho’i nhu˜’ng ha
˙n cheˆ´ này, chúng ta caˆ`n moˆ
˙t chút kieˆ´n thu´’c veˆ` quá trình kho’’i d¯oˆ
˙ng cu’a HD¯ HLinux
˙ ’a cho ˙ n trình kho’’i d¯oˆ
˙ ng 2.4.1 Trình kho’’i d¯oˆ
˙ ng LILO cu’a HD ¯ H Linux
Trình kho’’i d¯oˆ
˙ng LILO d¯u’o
˙’c vieˆ´ t bo’’i Werner Almesberber LILO có theˆ’ kho’’i d¯oˆ
˙ng nhânLinux tu`’ d¯ı˜a meˆ`m, d¯ı˜a cu´’ng, và cu˜ng có theˆ’ kho’’i d¯oˆ
˙ng d¯eˆ’ cài d¯a˘
˙t và caˆ´u hình trình kho’’i d¯oˆ
˙ng, và các taˆ
˙p tin phu˙c vu˙:
Trang 16• chu’o’ng trình/sbin/lilo, cha
˙y du’o´’i Linux, phu
˙c vu˙ d¯eˆ’ ghi taˆ´t ca’ thông tin caˆ`n thieˆ´ttrong giai d¯oa
˙n kho’’i d¯oˆ
˙ng vào các choˆ˜ tu’o’ng u´’ng Caˆ`n cha
˙y chu’o’ng trình này sau moˆ˜ilaˆ`n có thay d¯oˆ’i trong nhân hay trong taˆ
˙p tin caˆ´u hình LILO;
˙ng (xem phía du’o´’i) và taˆ
˙p tin map (/boot/map); trong taˆ
˙p tin này có chı’ ravi
˙trí cu’a nhân Moˆ
˙t taˆ
˙p tin quan tro˙ng khác – taˆ
˙p tin caˆ´u hình LILO; thu’o`’ng có tên
˙ng goˆ`m có hai phaˆ`n Phaˆ`n thu´’ nhaˆ´t d¯u’o
˙’c ghi vào sector kho’’i d¯oˆ˙ng và phu˙c vu˙d¯eˆ’ na
˙p phaˆ`n thu´’ hai, có kích thu’o´’c lo´’n ho’n raˆ´t nhieˆ`u Ca’ hai phaˆ`n thu’o`’ng d¯u’o
˙’c ghi trênd¯ı˜a trong taˆ
˙p tin/boot/boot.b.Caˆ`n nho´’ ra˘`ng, d¯i
˙nh da˙ng cu’a sector kho’’i d¯oˆ
˙ng ta˙o ra bo’’i LILO khác vo´’i d¯i
˙nh da˙ng MBRcu’a DOS Vì theˆ´ neˆ´u ghi sector kho’’i d¯oˆ
˙ng LILO vào MBR, thì các heˆ
˙ d¯ieˆ`u hành d¯ã cài cu’aMicrosoft se˜ ngu`’ng kho’’i d¯oˆ
˙ng (neˆ´u nhu’ không có các bieˆ
˙n pháp boˆ’ sung)
Sector kho’’i d¯oˆ
˙ng cu’a LILO có theˆ’ d¯u’o
˙’c thieˆ´ t keˆ´ d¯eˆ’ su’’ du
˙ng nhu’ sector kho’’i d¯oˆ
˙ng cu’aphân vùng; trong d¯ó có choˆ˜ cho ba’ng phân vùng
Sector kho’’i d¯oˆ
˙ng cu’a LILO trong khi cài d¯a˘
˙t có theˆ’ d¯a˘
˙t vào nhu˜’ng choˆ˜ sau:
• sector kho’’i d¯oˆ
˙ng cu’a d¯ı˜a meˆ`m trong d¯i
˙nh da˙ng Linux (/dev/fd0, );
• MBR cu’a d¯ı˜a cu´’ng d¯aˆ`u tiên (/dev/hda, /dev/sda, );
• sector kho’’i d¯oˆ
˙ng cu’a phân vùng chính vo´’i heˆ
˙thoˆ´ ng taˆ
˙p tin Linux trên d¯ı˜a cu´’ng d¯aˆ`u tiên(/dev/hda1, /dev/hda2, );
• sector kho’’i d¯oˆ
˙ng cu’a phân vùng lôgíc trong phân vùng mo’’ roˆ
˙ng d¯ı˜a cu´’ng d¯aˆ`u tiên(/dev/hda5, ) Su
˙’thaˆ˙t là phaˆ`n lo´’n chu’o’ng trình da
˙ngfdiskkhông d¯eˆ` ra kha’ na˘ngkho’’i d¯oˆ
˙’t qua ha˙n cheˆ´ này Tuy nhiên chu’o’ng trìnhfdiskcu’a ba’n phân phoˆ´ i Linux hoˆ˜ tro
˙’kha’ na˘ng kích hoa
˙t phân vùng mo’’ roˆ
˙ng Caˆ`n su’’ du
˙ng tùy cho˙n-bhoa˘˙c bieˆ´nBOOT.Sector kho’’i d¯oˆ
˙ng cu’a LILO không theˆ’ d¯a˘
˙t vào các choˆ˜ sau:
• sector kho’’i d¯oˆ
˙ng cu’a d¯ı˜a meˆ`m hay phân vùng chính, vo´’i d¯i
˙nh da˙ng heˆ
˙ thoˆ´ ng taˆ
˙p tinkhác Linux;
• trong phân vùng swap cu’a Linux;
• trên d¯ı˜a cu´’ng thu´’ hai
Ngoài ra, caˆ`n nho´’ ra˘`ng, LILO trong tho`’i gian kho’’i d¯oˆ
Trang 17˙y, sector kho’’i d¯oˆ
˙ng LILO cu˜ng nhu’nhu˜’ng taˆ
˙p tin d¯ã lieˆ
˙t kê (trong soˆ´ d¯ó có các taˆ
˙ptin ba
˙n d¯o
˙c se˜ cài d¯a˘
˙t sau này) caˆ`n na˘`m trong pha
˙m vi 1024 cylinder d¯aˆ`u tiên cu’a d¯ı˜a cu´’ng,bo’’i vì chúng caˆ`n d¯u’o
˙’c truy caˆ˙p qua BIOS Xem phaˆ`n nói veˆ` ha
˙n cheˆ´ cu’a BIOS o’’ trên
Ba˘´t d¯aˆ`u tu`’ phiên ba’n 21, LILO d¯u’a ra màn hình trình d¯o’n (thu
˙’c d¯o’n) cho phép cho˙n heˆ
˙thoˆ´ ng d¯eˆ’ kho’’i d¯oˆ
˙ng (tru’o´’c d¯ây caˆ`n nhaˆ´n phím Tab d¯eˆ’ go
˙i trình d¯o’n này)
2.4.2 Các trình kho’’i d¯oˆ
˙ ng khác
Ngoài LILO d¯eˆ’ kho’’i d¯oˆ
˙ng Linux có theˆ’ kho’’i d¯oˆ
˙ng các trình kho’’i d¯oˆ
˙ng khác.
• Neˆ´u nhu’tru’o´’c khi cài d¯a˘
˙t Linux d¯ã có HD¯ H Windows NT/2000/XP, thì trình kho’’i d¯oˆ
˙ngba
˙ng, ví du˙, oˆ’ d¯ı˜a thu´’hai trên controller thu´’hai(Secondary Slave)
• Neˆ´u nhu’tru’o´’c khi cài d¯a˘
˙c không muoˆ´ n cài d¯a˘
˙t LILO, thì có theˆ’ su’’ d¯u
˙ng chu’o’ng trìnhkho’’i d¯oˆ
˙ng loadlin.exe (thu’o`’ng d¯i kèm vo´’i ba’n phân phoˆ´i Linux);
• Tho`’i gian gaˆ`n d¯ây trong thành phaˆ`n ba’n phân phoˆ´i Linux thu’o`’ng có chu’o’ng trình kho’’id¯oˆ
˙ng GRUB.
• Trong thành phaˆ`n OS/2 cu’a công ty IBM có chu’o’ng trình kho’’i d¯oˆ
˙ng Boot Manager.Trong raˆ´t nhieˆ`u hu’o´’ng daˆ˜n ngu’o`’i ta khuyên dùng chu’o’ng trình này d¯eˆ’ toˆ’i chu´’c kho’’id¯oˆ
Ngoài ra tác gia’ còn thaˆ´y ngu’o`’i ta nói d¯eˆ´n moˆ
˙t loa˙t trình kho’’i d¯oˆ
˙ng khác (moˆ
˙t soˆ´ có theˆ’tìm thaˆ´y trong thu’ mu
˙c /public/ftp/pub/Linux/system/boot/loaders trên trang
ftp://metalab.unc.edu/ Nhu’ng vì tác gia’ không su’’ du
˙ng nhu˜’ng chu’o’ng trình này, nên khôngtheˆ’ nói cu
˙ theˆ’ cách su’’ du
˙ng chúng Và taˆ´t ca’ nhu˜’ng lo`’i khuyên dùng sau cu’a tác gia’ se˜ du
˙’atrên vieˆ
˙c su’’ du
˙ng LILO, NT Loader và loadlin.exe Neˆ´u nhu’ có ý muoˆ´n cài d¯a˘
˙t chu’o’ng trìnhkho’’i d¯oˆ
Trang 182.4.3 Các phu’o’ng án kho’’i d¯oˆ
˙ ng
Nhu’ vaˆ
˙y, theo ý kieˆ´n cu’a tác gia’ có các phu’o’ng án kho’’i d¯oˆ
˙ng sau:
• Neˆ´u d¯ã cài d¯a˘
˙t Windows NT hay Windows 2000/XP, thì hãy su’’ du
˙ng nào khác, thì có theˆ’ su’’du
˙ng LILO, hoa˘˙c d¯aˆ`u tiên cha
˙y DOS vàsau d¯ó kho’’i d¯oˆ
˙ng Linux nho`’ chu’o’ng trình loadlin.exe (hay moˆ
˙t chu’o’ng trình tu’o’ng tu
˙’,
có vài chu’o’ng trình nhu’ vaˆ
˙y, nhu’ng chúng ta se˜ không xét d¯eˆ´n)
• Neˆ´u d¯ã cài d¯a˘
˙t Windows 95 OSR2 hay Windows 98 trên FAT32, và ba˙n d¯o
˙c khôngmuoˆ´ n cài d¯a˘
˙t thêm chu’o’ng trình kho’’i d¯oˆ
˙ng, thì caˆ`n su’’ du
˙ng loadlin.exe Raˆ´t nhieˆ`uHOWTO kha˘’ng d¯i
˙nh ra˘`ng không caˆ`n su’’ d¯u
˙ng LILO, neˆ´u nhu’ phân vùng kích hoa
˙t cód¯i
˙nh da˙ng FAT32, ma˘˙c dù tác gia’ không rõ nguyên nhân Tuy nhiên thí nghieˆ
˙m kho’’id¯oˆ
˙ng Linux qua NT Loader, cài d¯a˘
˙t trên phân vùng FAT32, cu’a tác gia’ d¯ã keˆ´t thúckhông thành công Vì theˆ´, trong tru’o`’ng ho
˙’p này tác gia’ d¯ã pha’i su’’ du˙ng chu’o’ng trìnhloadlin.exe Chu’o’ng trình này d¯ã hoàn thành toˆ´t nhieˆ
˙m vu˙, và ta˙o cho tác gia’ moˆ
˙t aˆ´ntu’o
˙’ng toˆ´ t, vì theˆ´ tác gia’ khuyên ba
˙n d¯o
˙c su’’ du
˙ng loadlin.exe d¯eˆ’ kho’’i d¯oˆ
˙ng Linux.Trong nhu˜’ng phaˆ`n tieˆ´p theo tác gia’ se˜ cho bieˆ´t cách cài d¯a˘
˙t Linux, su’’ du
˙ng taˆ´t ca’ baphu’o’ng án kho’’i d¯oˆ
˙ng: qua trình kho’’i d¯oˆ
˙ng NT Loader, trình kho’’i d¯oˆ
˙ng LILO và trình kho’’id¯oˆ
˙ng loadlin.exe Tuy nhiên tru’o´’c khi cài d¯a˘
˙t trình kho’’i d¯oˆ
˙ng caˆ`n chuaˆ’n bi
˙các phân vùngtrên d¯ı˜a, hay ít nhaˆ´t là nghı˜ cách toˆ’ chu´’c chúng
˙sau Tácgia’ se˜ d¯a˘
˙t tên d¯ı˜a và phân vùng theo "tiêu chuaˆ’n" cu’a Linux, tu´’c là/dev/hda, /dev/hdb,v.v d¯oˆ´ i vo´’i d¯ı˜a và/dev/hda1, /dev/hda2, v.v – d¯oˆ´ i vo´’i các phân vùng
Vieˆ
˙c phân chia d¯ı˜a thành các phân vùng là caˆ`n thieˆ´t, bo’’i vì Windows và Linux su’’ du
˙ngcác cách lu’u tru˜’ thông tin trên d¯ı˜a và sau d¯ó d¯o
˙c chúng tu`’ d¯ı˜a khác nhau Chính vì theˆ´ toˆ´t ho’nheˆ´t là dành cho moˆ˜i heˆ
˙’t quá 8,4 Gbyte (nói chính xác ho’n – soˆ´ cylinder không vu’o
˙’t quá 1024) Trongtru’o`’ng ho
˙’p này mo˙i thu´’ d¯eˆ`u d¯o’n gia’n: ba
˙n d¯o
˙c chı’ vieˆ
˙c chia d¯ı˜a làm sao d¯eˆ’ d¯u’ choˆ˜ cho heˆ
˙d¯ieˆ`u hành se˜ cài d¯a˘
˙d¯ieˆ`u hành vo´’i caˆ´u hình co’ ba’n trong ba’ng2.2
Tuy nhiên xin hãy nho´’ ra˘`ng, không nhu˜’ng pha’i tính kích thu’o´’c các taˆ
˙p tin cu’a ba’n thânheˆ
˙ d¯ieˆ`u hành, mà còn pha’i tính ca’ kích thu’o´’c cu’a các chu’o’ng trình ba
˙n d¯o
˙c du˙’ tính cha˙y Vàcòn pha’i dành moˆ
˙t phaˆ`n du
˙’ tru˜’ không nho’ cho các chu’o’ng trình se˜ cài d¯a˘
˙t sau này (không theˆ’tránh kho’i!) Hãy tính ra˘`ng, 700 Mbyte dành cho Linux o’’ trong ba’ng nói trên chı’ dành chocác chu’o’ng trình cài d¯a˘
˙t cùng vo´’i Linux theo ma˘
˙c d¯i
˙nh, trong soˆ´ d¯ó có, ví du
˙, chu’o’ng trìnhsoa
˙n tha’o raˆ´t ma
˙nh Lyx D¯ oˆ´ i vo´’i Windows cu˜ng tu’o’ng tu
˙’ nhu’ vaˆ˙y.
Trang 192.5 Chuaˆ’n bi
Ba’ng 2.2: Nhu caˆ`u su’’ du
˙ng không gian d¯ı˜a cu’a HD¯ HHeˆ
˙ d¯ieˆ`u hành Yêu caˆ`u
Linux Red Hat 6.2
(Worksta-tion vo´’i KDE)
700 Mbyte
Theo kinh nghieˆ
˙m cu’a tác gia’ thì d¯eˆ’ làm vieˆ
˙c vo´’i Windows 95/98, Windows NT và Linuxcác phân vùng vo´’i kích thu’o´’c 800-1000 Mbyte là d¯u’ (taˆ´t nhiên, neˆ´u ba
˙n d¯o
˙c không cài d¯a˘
˙tcác gói chu’o’ng trình lo´’n, nhu’ OpenOffice.Org), còn d¯oˆ´i vo´’i Windows 200 thì caˆ`n phân vùnglo´’n ho’n
Bây gio`’ chúng ta se˜ xem xét vaˆ´n d¯eˆ` chia các phân vùng cho Linux O’’ d¯ây không theˆ’ chı’chia moˆ
˙t phân vùng Thu´’ nhaˆ´t, caˆ`n chia moˆ
˙t phân vùng swap riêng bieˆ
˙t cho Linux Khi xácd¯i
˙nh dung lu’o
˙’ng cu’a phân vùng swap Linux caˆ`n tính d¯eˆ´ n nhu˜’ng yeˆ´u toˆ´ sau:
• Trong Linux, RAM và không gian swap ho
˙’p la˙i ta˙o thành boˆ
˙ nho´’ a’o chung Ví du
˙, neˆ´uba
˙n d¯o
˙c có 256 MByte RAM và 128 Mbyte không gian swap, thì se˜ có 384 Mbyte boˆ
˙nho´’ a’o
• D¯ eˆ’ làm vieˆ
˙c vo´’i Linux caˆ`n ít nhaˆ´t 16 Mbyte boˆ
˙ nho´’ a’o, vì theˆ´ neˆ´u ba
˙n d¯o
˙c chı’ có 4Mbyte RAM, thì caˆ`n phân vùng swap không nho’ ho’n 12 Mbyte
• Trên Linux kích thu’o´’c moˆ
˙t phân vùng swap không theˆ’ vu’o
˙’t quá 128 Mbyte Nghı˜a làphân vùng swap có theˆ’ có kích thu’o´’c lo´’n bao nhiêu tùy thích nhu’ng Linux không theˆ’su’’ du
˙ng ho’n 128 Mbyte Neˆ´u ba
˙n d¯o
˙c muoˆ´ n có boˆ
˙ nho´’ a’o lo´’n ho’n, thì caˆ`n ta
˙o hai phânvùng swap hoa˘
˙c su’’ du
˙ng taˆ
˙ p tin swap.
• Khi tính kích thu’o´’c cu’a không gian swapping, caˆ`n nho´’ ra˘`ng kích thu’o´’c quá lo´’n có theˆ’
là vô ích Trên máy tính vo´’i 16 Mbyte RAM khi cài d¯a˘
˙t Linux vo´’i caˆ´u hình chuaˆ’n vàcác chu’o’ng trình u´’ng du
˙ng chuaˆ’n thì 48 Mbyte không gian swapping là d¯u’ Còn neˆ´ucài d¯a˘
˙t Linux vo´’i caˆ´u hình nho’ nhaˆ´t, thì không caˆ`n d¯eˆ´n không gian swap Taˆ´t nhiên,kích thu’o´’c chính xác cu’a không gian swap phu
˙thuoˆ
˙c lo´’n vào chu’o’ng trình se˜ d¯u’o
˙’c càid¯a˘
˙t.
Nói chung, chı’ nên suy nghı˜ veˆ` vaˆ´n d¯eˆ` dung lu’o
˙’ng cu’a phân vùng swap khi có moˆ˙t d¯ı˜anho’ và ít boˆ
˙ nho´’ RAM Trong tru’o`’ng ho
˙’p ngu’o˙’c la˙i hãy phân chia d¯eˆ’ toˆ’ng soˆ´ dung lu’o
˙’ng cu’aboˆ
˙ nho´’ a’o (goˆ`m RAM và phân vùng swap) không nho’ ho’n 128 Mbyte Còn neˆ´u nhu’ ba
˙n d¯o
˙c
có 128 Mbyte RAM hay nhieˆ`u ho’n, thì phân vùng này có theˆ’ không caˆ`n thieˆ´t
Taˆ´t ca’ các phaˆ`n còn la
˙i cu’a Linux và các chu’o’ng trình hoˆ˜ tro
˙’ theo nguyên ta˘´c có theˆ’ d¯a˘˙tvào moˆ
˙t phân vùng Tuy nhiên, vieˆ
˙’c ga˘´n vào thu’ mu˙c/usr Vieˆ
˙c phân chia nhu’ vaˆ
˙y du˙’a trên nhu˜’ng lý le˜sau Dù HD¯ H Linux có oˆ’n d¯i
Trang 20˙ng nên làm ho’ng taˆ
˙p tin heˆ
˙ thoˆ´ ng quan tro
˙ng, hoa˘˙c d¯o’n gia’n là muoˆ´n cài d¯a˘
˙t moˆ
˙t ba’n phânphoˆ´ i khác Neˆ´u nhu’ taˆ´t ca’ d¯u’o
˙’c cài d¯a˘˙t vào moˆ
˙t phân vùng, thì khi cài d¯a˘
˙t la˙i nhu˜’ng du˜’ lieˆ
˙ud¯ã làm ra và ghi nho´’ trong thu’mu
˙t không d¯i
˙nh da˙ng la˙i chúng, thì nhu˜’ng chu’o’ng trình nói trênse˜ d¯u’o
˙’c giu˜’ la
˙i và có theˆ’ se˜ làm vieˆ
˙c (raˆ´t có theˆ’ caˆ`n vài caˆ´u hình nho’) sau khi cài d¯a˘
˙t la˙i heˆ
˙thoˆ´ ng Trong tiêu chuaˆ’n veˆ` heˆ
˙ thoˆ´ ng taˆ
˙p tin cu’a Linux FHS (cu˙ theˆ’ xin xem o’’ chu’o’ng ??)
cu˜ng có lo`’i khuyên veˆ` vieˆ
Tu`’nhu˜’ng gì d¯ã nói d¯eˆ´n o’’ phaˆ`n tru’o´’c (ha
˙n cheˆ´ dung lu’o
˙’ng d¯ı˜a cu´’ng), caˆ`n d¯a˘˙t chu’o’ng trìnhkho’’i d¯oˆ
˙ng trong pha˙m vi 1024 cylinder d¯aˆ`u tiên Nhân tieˆ
˙n, NT Loader không nhaˆ´t thieˆ´t pha’id¯a˘
˙t vào phân vùng NTFS, cu˜ng nhu’ không nhaˆ´t thieˆ´t pha’i d¯a˘
˙t vào phân vùng chu´’a các taˆ
˙p tinkhác cu’a HD¯ H Nhu’ d¯ã nói o’’ trên, d¯oˆ´ i vo´’i Linux có theˆ’ d¯a˘
˙t thu’ mu
˙c goˆ´ c cùng vo´’i thu’ mu
˙ccon/bootvào các cylinder "thaˆ´p" (trong vòng 1024 d¯aˆ`u tiên), còn các thu’mu
˙c khác – o’’ choˆ˜nào tùy thích
Nhu’ vaˆ
˙y trong tru’o`’ng ho
˙’p này, nhu˜’ng d¯eˆ` nghi
˙cu’a tác gia’ cho ra ba’ng toˆ’ng keˆ´t sau:
• phaˆ`n kho’’i d¯oˆ
˙ng cu’a taˆ´t ca’ các heˆ
˙thoˆ´ ng Microsoft d¯a˘
˙t vào phân vùng chính d¯aˆ`u tiên cu’ad¯ı˜a, vo´’i d¯i
˙nh da˙ng FAT16 (DOS);
• phân vùng chính tieˆ´p theo dành cho thu’ mu
˙c goˆ´ c (/), kích thu’o´’c khoa’ng 1 Gbyte;
• phân vùng chính thu´’ ba dành cho swap cu’a Linux (lo`’i khuyên veˆ` kích thu’o´’c cu’a phânvùng này xem o’’ trên);
• phaˆ`n còn la
˙i cu’a d¯ı˜a d¯a˘
˙t thành phân vùng mo’’ roˆ
˙ng;
• trong phân vùng mo’’ roˆ
˙ng ta˙o các phân vùng lôgíc cho moˆ˜i HD¯ H se˜ cài d¯a˘
˙t: Windows
98, Windows NT/2000/XP, và d¯oˆ`ng tho`’i cho các heˆ
˙thoˆ´ ng taˆ
˙p tin/homevà/usrcu’a
HD¯ H Linux (trong/home se˜ d¯a˘
˙’p heˆ˙thoˆ´ ng có vaˆ´n d¯eˆ`, ba
˙n d¯o
˙c
có theˆ’ kho’’i d¯oˆ
˙ng tu`’ d¯ı˜a meˆ`m DOS (ta
˙m tho`’i khi chu’a làm quen vo´’i Linux moˆ
˙t cách "tu’o`’ngtaˆ
˙’ trên mo˙i HD¯ H, trong d¯ó có Linux, vì theˆ´ phân vùng này có theˆ’ phu
˙c vu˙ cho vieˆ
˙c traod¯oˆ’i taˆ
˙p tin giu˜’a các heˆ
˙ thoˆ´ ng Nhu’ng không nên d¯eˆ’ phân vùng này lo´’n, vì FAT16 su’’ du
˙ngkhông gian d¯ı˜a raˆ´t không ho
˙’p lý Chính vì vaˆ˙y hãy dành cho phân vùng này khoa’ng 256 hoa˘˙c
˙t trên d¯ı˜a khác vo´’i d¯ı˜a dành cho Linux Ngu’o`’i ta nói ra˘`ng nhu’vaˆ
˙y ta˘ng toˆ´ c d¯oˆ
˙làm vieˆ
˙ctrong Linux (cu˜ng deˆ˜ hieˆ’u vì d¯aˆ`u d¯o
˙c ít pha’i cha˙y ho’n)
Trang 212.6 Windows NT và Linux: kho’’i d¯oˆ
2.5.2 Chu’o’ng trình d¯eˆ’ phân chia oˆ’ d¯ı˜a
Sau khi hoàn thành keˆ´t hoa
˙ch chia oˆ’ d¯ı˜a, caˆ`n lu
˙’a cho˙n công cu˙ d¯eˆ’ d¯u’a keˆ´ hoa
˙ch này thànhhieˆ
˙n thu˙’c Chu’o’ng trình phân chia d¯ı˜a d¯u’o˙’c bieˆ´ t d¯eˆ´n nhieˆ`u nhaˆ´t là fdisk; trên mo
˙i heˆ
˙ d¯ieˆ`uhành d¯eˆ`u có phiên ba’n riêng cu’a chu’o’ng trình này Và không caˆ`n gì ho’n ngoài chu’o’ng trìnhnày, neˆ´u nhu’phân chia oˆ’ d¯ı˜a tra˘´ng, không chu´’a baˆ´t ký du˜’lieˆ
˙u nào Nhu’ng chúng ta d¯ang xemxét tru’o`’ng ho
˙’p d¯ã có HD¯ H nào d¯ó trên d¯ı˜a và caˆ`n phân chia oˆ’ d¯ı˜a mà không làm maˆ´ t thôngtin.fdiskkhông thích ho
˙ng chu’o’ng trình này
Thu´’nhaˆ´t, chu’o’ng trình này cho phép phân chia la
˙i oˆ’ d¯ı˜a mà không làm maˆ´t thông tin (tu´’c
là, taˆ´t ca’ nhu˜’ng cài d¯a˘
˙t và caˆ´u hình tru’o´’c d¯ó se˜ d¯u’o
˙’c ghi la˙i) Khi này, không chı’ ta˙o d¯u’o
˙’cphân vùng mo´’i tu`’ choˆ˜ troˆ´ng trên d¯ı˜a, mà còn có theˆ’ di chuyeˆ’n các phân vùng d¯ã có theo ýmuoˆ´ n
Thu´’ hai, chu’o’ng trình này (thaˆ
˙m chí trong phiên ba’n dành cho DOS) cung caˆ´p moˆ
˙t giaodieˆ
¯ ieˆ`u này raˆ´ t quan tro
˙ng vo´’i ngu’o`’i dùng mo´’i
Khi ta
˙o phân vùng caˆ`n d¯eˆ’ ý không cho ranh gio´’i giu˜’a các phân vùng ca˘´t laˆ˜n nhau
Tác gia’ cho ra˘`ng, nhu˜’ng thông tin d¯ã d¯u’a d¯u’ d¯eˆ’ ba
˙t hai HD¯ H trên moˆ˙t máy tính.
2.6 Windows NT và Linux: kho’’i d¯oˆ
˙ ng qua OS Loader cu’a NT
Trong phaˆ`n này, khi nói veˆ` Windows NT xin ngaˆ`m hieˆ’u ca’ Windows 2000 và NT, vì "quanheˆ
˙" cu’a chúng d¯oˆ´ i vo´’i vieˆ
˙’c cài d¯a˘˙t Và nhu’theˆ´ có theˆ’ su’’du
˙ng chu’o’ng trình này d¯eˆ’ kho’’i d¯oˆ
˙ng Linux.Tác gia’ hy vo
˙ng ra˘`ng ba˙n d¯o
˙c d¯ã sao lu’u nhu˜’ng thông tin có giá tri
˙cu’a mình Các bu’o´’c càid¯a˘
˙t có theˆ’ mô ta’ nhu’ sau:
1 Neˆ´u nhu’ ba
˙n d¯o
˙c chu’a cài d¯a˘
˙t Linux bao gio`’, thì tru’o´’c khi ba˘´t d¯aˆ`u caˆ`n chuaˆ’n bi
˙ d¯ı˜ameˆ`m kho’’i d¯oˆ
˙ng và phu˙c hoˆ`i Windows NT D¯ eˆ’ ta
˙o d¯ı˜a meˆ`m kho’’i d¯oˆ
˙ng chı’ caˆ`n d¯i
˙nhda
˙ng la˙i d¯ı˜a meˆ`m, roˆ`i sao chép lên d¯ó các taˆ
˙p tin ntldr, ntdetect.com và boot.ini tu`’ thu’mu
˙c goˆ´ c cu’a oˆ’ d¯ı˜a kho’’i d¯oˆ
˙ng NT Chu’o’ng trình ta
˙o d¯ı˜a phu
˙c hoˆ`i Windows 2000/XP cótheˆ’ cha
˙y tu`’ trình d¯o’n heˆ
˙ thoˆ´ ng (leˆ
˙nh Backup trong Start/Program/Accessories).
2 Dùng chu’o’ng trình Partition Magic d¯eˆ’ laˆ´y moˆ
˙t phaˆ`n d¯ı˜a troˆ´ ng và tu`’d¯ó ta
˙o ra phân vùngvo´’i da
˙t Linux theo chı’ daˆ˜n cu’a ba’n phân phoˆ´ i Trong khi cài d¯a˘
˙t caˆ`n chú ý d¯eˆ´n nhu˜’ngd¯ieˆ’m sau:
Trang 22• thu´’ nhaˆ´t, trong quá trình cài d¯a˘
˙t nhaˆ´t d¯i
˙nh pha’i ta˙o ra các d¯ı˜a meˆ`m kho’’i d¯oˆ
˙ngLinux Tu´’c là caˆ`n tra’ lo`’i "Yes, make a BOOT DISK" (hay tu’o’ng tu
˙’ theˆ´ , tùy thuoˆ
˙cvào ba’n phân phoˆ´ i) khi d¯u’o
˙’c ho’i có ta˙o d¯ı˜a meˆ`m kho’’i d¯oˆ
˙ng hay không D¯ ı˜a meˆ`mnày se˜ d¯u’o
˙’c dùng d¯eˆ´ n o’’ sau Ngoài ra, có theˆ’ su’’ du
˙ng d¯ı˜a meˆ`m này d¯eˆ’ kho’’i d¯oˆ
˙ngLinux D¯ ây cu˜ng là moˆ
˙t phu’o’ng án kho’’i d¯oˆ
˙ng, và ho’n nu˜’a khác vo´’i d¯ı˜a meˆ`m kho’’id¯oˆ
˙ng DOS, sau khi kho’’i d¯oˆ
˙ng heˆ
˙ thoˆ´ ng không còn yêu caˆ`u d¯ı˜a meˆ`m nu˜’a, có theˆ’
bo’ nó ra kho’i oˆ’, su’’ du
˙ng oˆ’ d¯eˆ’ d¯o
˙c các d¯ı˜a meˆ`m khác Tuy nhiên cách kho’’i d¯oˆ
˙ngnày cu˜ng có d¯ieˆ`u tieˆ
˙n, vì theˆ´ không nên su’’du
˙ng thu’o`’ng xuyên Chı’ su’’du
˙ng trongtru’o`’ng ho
˙’p "baˆ´ t d¯a˘´c dı˜" D¯ ı˜a meˆ`m này còn caˆ`n thieˆ´ t cho caˆ´u hình d¯eˆ’ kho’’i d¯oˆ
˙ngnhieˆ`u HD¯ H.
• thu´’ hai, khi cài d¯a˘
˙t Linux caˆ`n cài LILO vào sector d¯aˆ`u tiên cu’a phân vùng dànhcho thu’ mu
˙c goˆ´ c (/) cu’a Linux, chu´’ không pha’i vào sector kho’’i d¯oˆ
˙ng chính cu’ad¯ı˜a (MBR) Chúng ta gia’ thieˆ´t Linux d¯u’o
˙’c cài vào phân vùng/dev/hda3 Nhu’
vaˆ
˙y LILO se˜ d¯u’o
˙’c cài vào sector d¯aˆ`u tiên cu’a/dev/hda3Theo nguyên ta˘´c, neˆ´u nhu’ba
˙t chút công su´’c Vaˆ´n d¯eˆ` o’’ choˆ˜, d¯i
˙nh da˙ng MBR ta˙o bo’’i LILO và Windows (DOS)khác nhau Vì theˆ´ neˆ´u ba
˙n d¯o
˙c cài LILO vào MBR, thì caˆ`u phu
˙c hoˆ`i la
˙i MBR cu’aWindows Tác gia’ cu˜ng se˜ nói cách phu
˙c hoˆ`i, nhu’ng toˆ´t ho’n heˆ´t là ba
˙n d¯o
˙c cài LILOngay laˆ
˙p tu´’c vào sector d¯aˆ`u tiên cu’a phân vùng d¯ã cài Linux
4 Sau khi cài d¯a˘
˙t xong, kho’’i d¯oˆ
˙ng Linux ba˘`ng d¯ı˜a meˆ`m (neˆ´u nhu’ ba
˙n d¯o
˙c cài LILO vàophân vùng cu’a Linux và không d¯oˆ
˙ng gì d¯eˆ´n MBR, thì d¯ây là kha’ na˘ng duy nhaˆ´t)
5 Sao chép sector kho’’i d¯oˆ
˙ng cu’a Linux vào moˆ
[root]# mount -t vfat /dev/fd0 /mnt/floppy
chuyeˆ’n vào thu’ mu
˙i dung sector kho’’i d¯oˆ
˙ng cu’a d¯ı˜a/dev/hda3vào taˆ
˙p tin/mnt/floppy/bootsect.lnx.
1
6 Tieˆ´p theo caˆ`n kho’’i d¯oˆ
˙ng la˙i d¯eˆ’ vào Windows NT, ba˘`ng câu leˆ
˙ ng không caˆ`n d¯ı˜a meˆ`m không, neˆ´u phân vùng chính d¯aˆ`u tiên có d¯i
˙nh da˙ ng NTFS Tuy nhiên o’’ d¯ây cu˜ng không có vaˆ´n d¯eˆ` gì, chı’ caˆ`n sao chép sector kho’’i d¯oˆ
˙ ng qua d¯ı˜a meˆ`m nhu’ d¯ang trình bày Ta
˙ m tho`’i nhân Linux còn chu’a hoˆ˜ tro
˙’ toˆ´ t vieˆ
˙c ghi lên phân vùng NTFS.
Trang 232.6 Windows NT và Linux: kho’’i d¯oˆ
kênh giao tác
[root]# shutdown -h now
Vì MBR chu’a có gì thay d¯oˆ’i, nên Windows NT se˜ kho’’i d¯oˆ
˙ng Trong NT caˆ`n sao chéptaˆ
˙p tin bootsect.lnx vào thu’ mu
˙c goˆ´ c cu’a d¯ı˜a C:, hay chính xác ho’n là vào thu’mu
˙c goˆ´ ccu’a phân vùng mà tu`’ d¯ó kho’’i d¯oˆ
˙ng Windows NT D¯ ây có theˆ’ là phân vùng FAT16 hayphân vùng NTFS D¯ a˘
˙c d¯ieˆ’m d¯eˆ’ nhaˆ
˙n ra phân vùng này là hai taˆ
˙p tin ntldr và boot.initchu´’a trong d¯ó (nhu˜’ng taˆ
˙p tin này có theˆ’ aˆ’n!) Taˆ
˙p tin bootsect.lnx có theˆ’ d¯a˘
˙t thuoˆ
˙c tínhchı’ d¯o
˙n LINUX, thì LILO se˜ d¯u’o
˙’c cha˙y và sau d¯ó nó (LILO) se˜na
˙ng chính cu’a d¯ı˜a (Master Boot Record, MBR) Trong tru’o`’ng ho
˙’p này ba’nghi kho’’i d¯oˆ
˙ng Windows NT (hay 2000) se˜ bi
˙xóa, và vieˆ
˙c kho’’i d¯oˆ
˙ng Windows NT (bu’o´’c thu´’
6 o’’ trên) là không theˆ’ Neˆ´u nhu’ ba
˙n d¯o
˙c vaˆ˜n còn muoˆ´ n su’’ du
˙ng trình kho’’i d¯oˆ
˙ng OS Loadercu’a NT, chu´’ không muoˆ´n dùng LILO, thì nhu˜’ng bu’o´’c trên có thay d¯oˆ’i moˆ
˙t chút: thay chobu’o´’c thu´’ 6 caˆ`n làm các thao tác sau
˙’c d¯o’n) cu’a trình kho’’i d¯oˆ˙ng caˆ`n cho
˙n leˆ
˙nh Recover, roˆ`i cho
˙n cheˆ´ d¯oˆ
˙Command mode Sau d¯ó d¯a˘ng nhaˆ
˙p vào tài khoa’n nhà qua’n tri˙(administrator).
2 Phu
˙c hoˆ`i la
˙i ba’n ghi kho’’i d¯oˆ
˙ng chính cu’a d¯ı˜a Su’’ du
˙ng câu leˆ
˙nh fdisk /mbr Tác gia’dùng leˆ
˙nh này thành công, ma˘˙c dù trong moˆ
˙t soˆ´ bài báo nói cách phu
˙c hoˆ`i MBR nhu’vaˆ
˙y không pha’i lúc nào cu˜ng làm vieˆ
˙c Trong Windows 2000 có các leˆ
˙nh chuyên dùngfixboot và fixmbr (cha
˙y tu`’ console phu
˙ng bình thu’o`’ng
3 Kho’’i d¯oˆ
˙ng la˙i máy tính tu`’ d¯ı˜a meˆ`m kho’’i d¯oˆ
˙ng Linux và d¯a˘ng nhaˆ
˙p vào heˆ
˙ thoˆ´ ng vo´’iquyeˆ`n ngu’o`’i dùng root
4 Nhaˆ
˙p leˆ
˙nhcd /etcvà mo’’ taˆ
˙p tinlilo.conf O’’ d¯aˆ`u taˆ
˙p tin này có liên keˆ´t d¯eˆ´n phânvùng kho’’i d¯oˆ
˙ng theo ma˘˙c d¯i
˙nh, ví du˙,/dev/hda.
5 Dùng baˆ´t ky` trình soa
˙n tha’o nào, ví du˙, CoolEdit cu’a Midnight Commander, d¯eˆ’ thaytheˆ´ giá tri
˙này thành phân vùng d¯ã cài Linux lên (chính xác ho’n là thành phân vùngd¯u’o
˙’c ga˘´n nhu’ goˆ´ c (/) cu’a Linux) Neˆ´u Linux d¯u’o
˙’c cài vào phân vùng/dev/hda3, thìcaˆ`n ghi cái d¯ó, tu´’c là thay theˆ´ /dev/hdathành/dev/hda3 Neˆ´u nhu’ ba
˙n d¯o
˙c khôngnho´’ d¯ã cài Linux vào d¯âu, thì hãy cha
˙y câu leˆ
˙nhmount và tìm keˆ´t qua’ tu’o’ng tu
˙’ nhu’sau2:
2 có nghı˜a là tìm phân vùng d¯ã ga˘´n vào thu’ mu
˙ c goˆ ´ c /, trong ví du
˙này là /dev/hda3
Trang 24kênh giao tác
/dev/hda3 on / type reiserfs (rw)
6 Cha
˙y leˆ
˙nh /sbin/lilo d¯eˆ’ ghi trình kho’’i d¯oˆ
˙ng vào phân vùng /dev/hda3 (caˆ`n cha
˙yleˆ
˙nh lilokhông có tham soˆ´ ) Se˜ có ca’nh báo veˆ` vieˆ
˙c phân vùng không pha’i là d¯aˆ`utiên trên d¯ı˜a D¯ ây chính là d¯ieˆ`u chúng ta caˆ`n, ba’n ghi kho’’i d¯oˆ
˙ng cu’a Windows d¯u’o
˙’c giu˜’nguyên ve
˙n.
7 Thu
˙’c hieˆ˙n các bu’o´’c 6-8 nhu’ o’’ trên
Deˆ˜ dàng d¯oán ra ra˘`ng, "quy trình" phu´’c ta
˙p vo´’i hai laˆ`n kho’’i d¯oˆ
˙ng la˙i chı’ d¯eˆ’ chuyeˆ’n sectorkho’’i d¯oˆ
˙ng Linux tu`’ MBR vào sector d¯aˆ`u tiên cu’a phân vùng dành cho Linux, và phu
˙c hoˆ`iMBR cu’a Windows
Quá trình cài d¯a˘
˙t Linux keˆ´t thúc o’’ d¯ây Ba
˙ t và caˆ ´ u hình LILO
Nhu’ d¯ã nói trong phaˆ`n lu
˙’a cho˙n chu’o’ng trình kho’’i d¯oˆ
˙ng, neˆ´u trên máy d¯ã cài Windows 98vo´’i heˆ
˙thoˆ´ ng taˆ
˙p tin FAT16, thì lu˙’a cho˙n toˆ´ t ho’n cho trình kho’’i d¯oˆ
˙ng là chu’o’ng trình có trongthành phaˆ`n cu’a mo
˙i ba’n phân phoˆ´ i HD¯ H Linux – LILO (LInux LOader).
Gioˆ´ ng nhu’ tru’o`’ng ho
˙’p Windows NT, chúng ta se˜ d¯u’a ra các bu’o´’c caˆ`n thu˙’c hieˆ˙n d¯eˆ’ có theˆ’kho’’i d¯oˆ
˙ng nhieˆ`u HD¯ H.
1 Tru’o´’c khi cài d¯a˘
˙t Linux hãy chuaˆ’n bi
˙d¯ı˜a meˆ`m kho’’i d¯oˆ
˙’ng oˆ’ d¯ı˜a cu´’ng vu’o˙’t quá 8,4 Gbyte thì hãy d¯o˙c ky˜các phaˆ`n2.3và2.5
3 Cài d¯a˘
˙t Linux theo chı’ daˆ˜n d¯i kèm vo´’i ba’n phân phoˆ´i Caˆ`n nho´’ ra˘`ng, neˆ´u ba
˙n muoˆ´ n su’’du
˙ng trình kho’’i d¯oˆ
˙ng LILO, thì trong quá trình cài da˘˙t Linux caˆ`n cho
˙n phu’o’ng án càiLILO vào ba’n ghi kho’’i d¯oˆ
˙ng chính (Master Boot Record) Ta˙o các d¯ı˜a meˆ`m kho’’i d¯oˆ
˙ngtheo nguyên ta˘´c là không ba˘´t buoˆ
˙c, nhu’ng tác gia’ khuyên ba
˙n d¯o
˙c nên làm.
3
4 Bu’o´’c tieˆ´p theo caˆ`n caˆ´u hình LILO d¯eˆ’ có theˆ’ kho’’i d¯oˆ
˙ng các HD¯ H theo lu˙’a cho˙n LILOd¯u’o
˙’c caˆ´ u hình ba˘`ng taˆ
˙p tin/etc/lilo.confvà câu leˆ
˙nh/sbin/lilo Câu leˆ
˙nh nàydùng d¯eˆ’ cài d¯a˘
˙t (hay cài d¯a˘
˙t la˙i) LILO.
Chúng ta xem xét moˆ
˙t ví du˙ nho’ cu’a taˆ
˙p tin caˆ´u hình LILO Trong ví du
˙ này chúng
ta se˜ coi nhu’ thieˆ´t bi
˙ /dev/hda1 là phân vùng vo´’i DOS/Windows, còn phân vùng
3
Ghi chú Trình kho’’i d¯oˆ
˙ ng LILO không ba˘´t buoˆ
˙ c pha’i cài d¯a˘
˙ t vào ba’n ghi kho’’i d¯oˆ
˙ ng chính cu’a d¯ı˜a, LILO
có theˆ’ na˘`m o’’ ba’n ghi kho’’i d¯oˆ
˙ ng cu’a phân vùng chính d¯u’o
˙’c kích hoa˙ t và chu´’a thu’ mu
˙ c goˆ ´ c cu’a Linux hoa˘
˙ c thaˆ
˙mchí trên phân vùng lôgíc trong phân vùng mo’’ roˆ
˙ ng Trong tru’o`’ng ho
˙’p d¯ó MBR caˆ`n pha’i có kha’ na˘ng na˙p LILO,
ví du
˙ khi MBR là trình kho’’i d¯oˆ
˙ ng cu’a MS-DOS hay Windows Tuy nhiên tác gia’ chu’a nhìn thaˆ´y su
˙’ caˆ`n thieˆ´ t cu’a u´’ng du
˙ ng này (neˆ´u d¯ã cho
˙ n LILO làm trình kho’’i d¯oˆ
˙ ng chính thì hãy su’’ du
˙ng cho "tro˙ n boˆ
˙ "), vì theˆ´ chúng ta se˜ không xem xét d¯eˆ´n.
Trang 252.7 Su’’ du
˙ ng trình kho’’i d¯oˆ
/dev/hda2 chu´’a Linux Trong tru’o`’ng ho
˙’p d¯ó /etc/lilo.conf có da˙ng gaˆ`n nhu’sau:
Vài lo`’i gia’i thích cho ví du
˙: Dòngbootcho bieˆ´t thieˆ´t bi
˙p tin map – taˆ
˙p tin chu´’a d¯a˘
˙c tính cu’a nhân d¯u’o
˙’c kho’’id¯oˆ
˙ng; tính na˘ng (nén) này ta˘ng toˆ´ c d¯oˆ
˙ cu’a kho’’i d¯oˆ
˙ng d¯aˆ`u
Câu leˆ
˙nhmessagedùng d¯eˆ’ d¯u’a ra thông báo theo ý muoˆ´n khi kho’’i d¯oˆ
˙ng.
Ba˘´t d¯aˆ`u tu`’ dòngimagelà các phaˆ`n nho’ cu’a taˆ
˙p tin caˆ´u hình, moˆ˜i phaˆ`n tu’o’ng u´’ng vo´’imoˆ
˙t heˆ
˙ d¯ieˆ`u hành se˜ kho’’i d¯oˆ
˙ng theo lu˙’a cho˙n cu’a ngu’o`’i dùng Trong moˆ˜i phaˆ`n nhu’vaˆ
˙y
có moˆ
˙t dònglabel Trên dòng này ghi tên caˆ`n nhaˆ
˙p vào daˆ´u nha˘´c LILO hay tên se˜hieˆ’n thi
˙trong trình d¯o’n cu’a LILO d¯eˆ’ có theˆ’ cho
˙n HD¯ H muoˆ´ n kho’’i d¯oˆ
˙ng Neˆ´u nhu’ tênkhông d¯u’o
˙’c nhaˆ˙p sau khoa’ng tho`’i gian chı’ trên dòngdelay(tính theo phaˆ`n mu’o`’i giây– caˆ`n nhân vo´’i 0,1 giây), thì se˜ kho’’i d¯oˆ
˙ng HD¯ H theo ma˘˙c d¯i
˙nh Trong ví du˙ này, se˜kho’’i d¯oˆ
˙ng Linux theo ma˘˙c d¯i
˙nh, vì phaˆ`n caˆ´u hình tu’o’ng u´’ng vo´’i Linux na˘`m d¯aˆ`u tiêntrong taˆ
˙p tin Có theˆ’ chı’ ra heˆ
˙ d¯ieˆ`u hành d¯u’o
˙’c kho’’i d¯oˆ˙ng theo ma˘˙c d¯i
˙nh khi thêm moˆ
˙tdòng có da
˙ngdefault=dos, tu´’c là su’’ du
˙ng tên d¯ã d¯a˘
˙t trên dònglabel.Dòngtable=<device>cho bieˆ´t tên thieˆ´t bi
˙chu´’a ba’ng phân chia d¯ı˜a LILO se˜ khôngd¯u’a thông tin veˆ` phân chia d¯ı˜a cho heˆ
˙’c hieˆ˙n câu leˆ
˙nh/sbin/lilo, sau khi thayd¯oˆ’i chı’ daˆ˜n d¯eˆ´n ba’ng phân chia d¯ı˜a, tu´’c là thay d¯oˆ’i bieˆ´n table Neˆ´u d¯a˘
˙t dòng (go˙i
là phaˆ`n nho’ thì toˆ´ t ho’n) other = /dev/hda1 trong taˆ
˙p tin/etc/lilo.conf, thìtrong thu’mu
˙c goˆ´ c cu’a d¯ı˜a/dev/hda1(d¯ı˜a C: trong heˆ
˙thoˆ´ ng thuaˆ
˙t ngu˜’Microsoft) caˆ`n
có trình kho’’i d¯oˆ
˙ng phu˙(không pha’i là chính) Trên moˆ
˙t máy cu’a tác gia’ o’’ d¯ó na˘`m trìnhkho’’i d¯oˆ
˙ng NT Loader (vì Windows NT d¯u’o
˙’c cài d¯a˘˙t tru’o´’c Linux), và LILO kho’’i d¯oˆ
˙ngthành công Windows NT Chı’ caˆ`n d¯a˘
˙t tho`’i gian cho`’ kho’’i d¯oˆ
˙ng trong taˆ
˙p tin boot.iniba˘`ng không, d¯eˆ’ không thaˆ´y trình d¯o’n kho’’i d¯oˆ
˙ng cu’a NT Loader Tuy nhiên, neˆ´u vì moˆ
˙t
lý do nào d¯ó ba
˙n muoˆ´ n thaˆ´y trình d¯o’n này thì giá tri
˙timeout trong taˆ
˙p tin boot.ini caˆ`nd¯a˘
˙t khác không (tho`’i gian cho`’ d¯u’o
˙’c tính theo giây) D¯ ieˆ`u này có theˆ’ caˆ`n thieˆ´ t khi muoˆ´nkho’’i d¯oˆ
˙ng ca’ Windows 98 tu`’ trình d¯o’n cu’a NT Loader (trong tru’o`’ng ho
˙’p này se˜ có 3
HD¯ H: Linux, Windows NT và Windows 98, trong trình d¯o’n cu’a LILO neˆ´ u cho
˙n dosthì se˜ hieˆ
˙n ra trình d¯o’n cu’a NT Loader roˆ`i tu`’ d¯ó cho
˙c muoˆ´ n kho’’i d¯oˆ
˙ng Windows tru˙’c tieˆ´ p tu`’ LILO, thì hãy thêm phaˆ`n nho’ sauvào/etc/lilo.conf:
Trang 26kênh giao tác
other = /boot/bootsect.dos
label = win
trong d¯ó bootsect.dos laˆ´y tu`’ thu’ mu
˙c goˆ´ c cu’a oˆ’ d¯ı˜a chu´’a NT Loader
5 Sau khi su’’a xong taˆ
˙p tin/etc/lilo.conftheo ý muoˆ´ n, caˆ`n cha
˙y câu leˆ
˙nh/sbin/lilod¯eˆ’ nhu˜’ng thay d¯oˆ’i có hieˆ
˙u lu˙’c Câu leˆ˙nh này (trong tài lieˆ
˙u hu’o´’ng daˆ˜n go
˙i là installer) cài d¯a˘
map-˙t trình kho’’i d¯oˆ
˙ng phu˙, mà se˜ d¯u’o
˙’c kích hoa˙t trong laˆ`n kho’’i d¯oˆ
˙ng tieˆ´ptheo Tru’o´’c khi cha
˙y/sbin/lilod¯eˆ’ thay d¯oˆ’i bu’o´’c kho’’i d¯oˆ
˙ng, hãy thu˙’c hieˆ˙n câu leˆ
˙nhnày vo´’i tham soˆ´ -t Khi có tham soˆ´ này se˜ thu
˙’c hieˆ˙n taˆ´t ca’ các thu’ tu
˙c cài d¯a˘
˙t trìnhkho’’i d¯oˆ
˙ng, tru`’vieˆ
˙c thay d¯oˆ’i taˆ
˙p tin map, ba’n ghi sector kho’’i d¯oˆ
˙ng, và ba’ng phân chia oˆ’d¯ı˜a, tu´’c là chı’ cha
˙y thu’’ caˆ´u hình mo´’i Neˆ´u cho thêm tùy cho
˙n-v, thì ba˙n d¯o
˙c se˜ d¯u’o
˙’cbieˆ´t thêm thông tin chi tieˆ´t veˆ` nhu˜’ng gì leˆ
˙nh/sbin/lilose˜ thu
˙’c hieˆ˙n.
Khi /sbin/lilo ghi d¯è noˆ
˙i dung mo´’i lên sector kho’’i doˆ
˙ng, thì noˆ
˙i dung cu˜ cu’asector này se˜ tu
˙’ d¯oˆ˙ng d¯u’o
˙’c ghi nho´’ vào moˆ˙t taˆ
˙p tin Theo ma˘˙c d¯i
˙nh d¯ó là taˆ
˙p tin
/boot/boot.NNNN, trong d¯ó NNNN tu’o’ng u´’ng vo´’i soˆ´ cu’a thieˆ´t bi
˙, ví du˙, 0300 –tu’o’ng u´’ng/dev/hda, 0800 –/dev/sda, v.v Neˆ´u taˆ
˙p tin này d¯ã có trên d¯ı˜a, thì nókhông bi
˙ghi d¯è lên Tuy nhiên có theˆ’ d¯a˘
˙t moˆ
˙t tên khác d¯e’ ghi sector kho’’i d¯oˆ
˙ng, khôngnhaˆ´t thieˆ´t pha’i dùng/boot/boot.NNNN
˙ng, neˆ´u không còn cách phu
˙c hoˆ`i nào khác d¯o’n gia’n ho’n Câu leˆ
˙nh d¯eˆ’ thu
˙’c hieˆ˙n códa
Cu˜ng có theˆ’ phu
˙c hoˆ`i MBR cu˜ khi caˆ`n thieˆ´t ba˘`ng câu leˆ
˙nh/sbin/lilovo´’i tùy cho
˙t.
MBR cu’a MS-DOS có theˆ’ d¯u’o
˙’c phu˙c hoˆ`i ba˘`ng cách kho’’i d¯oˆ
˙ng vào DOS tu`’ d¯ı˜a meˆ`m(CD) roˆ`i cha
˙y câu leˆ
˙nh fdisk /mbr (xem trên) Leˆ
˙nh này chı’ thay d¯oˆ’i mã chu’o’ng trìnhkho’’i d¯oˆ
˙ng na˘`m trong MBR, mà không thay d¯oˆ’i ba’ng phân chia d¯ı˜a
6 Sau khi cài d¯a˘
˙t la˙i trình kho’’i d¯oˆ
˙ng caˆ`n kho’’i d¯oˆ
˙ng la˙i máy tính và thu’’ các phu’o’ng ánkho’’i d¯oˆ
˙ng khác nhau d¯eˆ’ kieˆ’m tra
D
¯ eˆ’ keˆ´ t thúc phaˆ`n nói veˆ` LILO này chúng ta se˜ xem xét vài khó kha˘n có theˆ’ xuaˆ´t hieˆ
˙n khisu’’ du
˙ng LILO, và cách kha˘´c phu˙c (neˆ´u có theˆ’)
Khi LILO d¯u’o
˙’c na˙p, nó d¯u’a ra màn hình tu`’ "LILO" Khi này moˆ˜i chu˜’ cái bieˆ’u thi
˙su˙’ keˆ´ tthúc moˆ
˙n d¯i
˙nh veˆ` nguyên nhân xuaˆ´t hieˆ
˙n vaˆ´n d¯eˆ`
Trang 272.7 Su’’ du
˙ ng trình kho’’i d¯oˆ
• Không chu˜’cái nào hieˆ
˙n ra – không có phaˆ`n nào cu’a LILO d¯u’o
˙’c na˙p Hoa˘˙c LILO khôngd¯u’o
˙’c cài d¯a˘˙t, hoa˘˙c phân vùng chu´’a LILO chu’a d¯u’o
˙p trình kho’’i d¯oˆ
˙ng phu˙ Mã loˆ˜i hai ký tu
˙’ cho bieˆ´ tnguyên nhân cu
˙theˆ’ cu’a vaˆ´n d¯eˆ` (cách gia’i mã caˆ`n tìm trong tài lieˆ
˙u ky˜ thuaˆ
˙t cu’a LILO).Thông thu’o`’ng thì vaˆ´n d¯eˆ` na’y sinh do oˆ’ d¯ı˜a xaˆ´u (có khuyeˆ´t taˆ
˙t) hay không d¯a˘
˙t d¯úng caˆ´utrúc hình ho
˙c cu’a d¯ı˜a Neˆ´u LILO không du`’ng la
˙i o’’ d¯ây, mà tieˆ´p tu
nó Có theˆ’ là loˆ˜i d¯u’a caˆ´u trúc hình ho
˙c cu’a d¯ı˜a, hoa˘
˙c taˆ
˙p tinboot/boot.bbi˙di chuyeˆ’n
mà ngu’o`’i dùng quên không cha
˙y/sbin/lilo.
• LIL — trình kho’’i d¯oˆ
˙ng phu˙ d¯ã d¯u’o
˙’c cha˙y, nhu’ng nó không theˆ’ na
˙p ba’ng mô ta’ tu`’ taˆ
˙ptin map Nguyên nhân thu’o`’ng do khuyeˆ´t taˆ
˙t cu’a oˆ’ d¯ı˜a hoa˘
˙c không d¯u’a d¯úng caˆ´u trúchình ho
• LIL- – ba’ng mô ta’ trong taˆ
˙p tin map bi˙phá hu’y Thông thu’o`’ng do loˆ˜i d¯u’a ra caˆ´u trúchình ho
˙c cu’a d¯ı˜a hoa˘
˙ t các heˆ ˙ d¯ieˆ`u hành khác sau Linux
Khi cài d¯a˘
˙t MS-DOS và Windows 95/98, trình kho’’i d¯oˆ
˙ng cu’a chúng (không phu˙ thuoˆ
˙c vào ýmuoˆ´ n cu’a ba
˙n d¯o
˙c) d¯u’o
˙’c ghi vào Master Boot Record (MBR), và daˆ´ u kích hoa
˙t trong ba’ngphân vùng se˜ d¯u’o
˙’c chuyeˆ’n sang phân vùng MS-DOS (Windows 95/98) Mà trình kho’’i d¯oˆ˙ngMS-DOS và Windows 95/98 chı’ "bieˆ´t" chuyeˆ’n quyeˆ`n d¯ieˆ`u khieˆ’n cho sector d¯aˆ`u tiên cu’aphân vùng kích hoa
˙t Nhu’ theˆ´, neˆ´u nhu’ ba
˙n d¯o
˙c d¯aˆ`u tiên cài d¯a˘
˙t Linux, và sau d¯ó mo´’i cài d¯a˘
˙tWindows 95/98 hay MS-DOS, thì Linux se˜ không theˆ’ kho’’i d¯oˆ
˙ng Có theˆ’ phu
˙c hoˆ`i la
˙i LILOba˘`ng cách cha
˙y leˆ
˙nh/sbin/lilo(neˆ´u LILO d¯u’o
˙’c cài vào MBR), hoa˘˙c kích hoa˙t phân vùngchu´’a LILO (neˆ´u LILO d¯u’o
˙’c cài vào phân vùng chính).
Khi có vaˆ´n d¯eˆ` sau khi cài d¯a˘
˙ c /boot lên phân vùng DOS
Nhu˜’ng phiên ba’n nhân Linux mo´’i nhaˆ´t hoˆ˜ tro
˙’ kha’ na˘ng d¯a˘˙t các taˆ
˙p tin caˆ`n thieˆ´t trên giai d¯oa
˙nkho’’i d¯oˆ
˙ng vào heˆ
˙ thoˆ´ ng taˆ
˙p tin MS-DOS (hay UMSDOS) Vì trong phaˆ`n lo´’n các tru’o`’ng ho
˙’pphân vùng DOS chieˆ´m các vùng d¯ı˜a o’’ d¯aˆ`u (không có ha
˙n cheˆ´ cu’a BIOS), nên cho phép gia’iquyeˆ´t nhieˆ`u vaˆ´n d¯eˆ` cu’a oˆ’ d¯ı˜a lo´’n, khi mà thu’mu
˙c/bootkhông theˆ’ na˘`m trên phân vùng dànhcho Linux