Xem mẫu

  1. ’’ ¯ ˆ 2.3 Phân vùng trên d˜a và quá trình khoi dong ¯ı 9 ˙ ¯o ´ ` Nhu ban d c biet, khi bat máy tính d ˆ u tiên se chay chuong trình POST (Power On Self ˜ ¯a ˆ ˆ ’ ’’ ˙ong ˙trình xác d nh dung luong bo nho, thu ˙nghiem bo nho, và xác d nh các thành ˙ ˆ ´’ ’’ Test). Chu ’ ˆ ´’ ¯i ¯i ˆ ’ ’’ ’ cu˙ng. . . ), kho˙ d ˆ ng các the adaptor. Trên màn hình thu˙’ng xuat hien ˙ ˙ ˙ ` ´ˆ ’’i ¯o ’ phan khác (bàn phím, o ´’ ’o ` ˆ ˆ ˆ `˙ ˆ ˙ ` dung luong bo nho, ve viec thu nghiem bo nho, danh sách các thiet bi nhan ´ ’’ các thông báo ve ˆ ´’ ˆ ˆ ´’ ˆ ˆ ˆ ˆ ’’ ra (o d˜a cung và mem, bo xu lý, cong COM và v.v. . .˙). ˙ ˙ ˙’ ˙ ˙˙ ˆ’ ¯ı ´’ ` ˆ ’’ ˆ ˆ ˙ ´ ’’ ˆ’ Sau khi hoàn thành viec thu nghiem POST goi Int 19h. Công viec cua Int 19h là tìm thiet ˆ ˆ ˆ ˙ m thuc hien theo thu ˙ xác d nh trong Setup BIOS và theo cách ˙ ˙ ´ ’’ ¯o bi khoi d ˆ ng. Viec tìm kie ´’ tu ¯i ˆ ˆ ’ˆ ’ ˙˘ ˙ ˙ ´˙ ˙ ´ ¯ı ˙ ˆ’ ’’ ¯o ˙ ´ ´ ’ tham dò sector so 0 cua các thiet bi tuong ung. Neu d˜a có the khoi d ˆ ng, thì trong sector so ’ ’ ´’ ˆ ˆ ˆ ˆ ˙ ˙ ´ ’ a d˜a có ban ghi khoi d ˆ ng chính – Master Boot Record (MBR). Hai byte cuoi cùng cua ’ ’ ’ ¯o 0 cu ¯ı ˆ ’ ˙´ ˆ’ ’’ ¯o ´ ´ MBR – "so màu nhiem", là dau hieu cho biet sector có MBR, và theo d d˜a có the khoi d ˆ ng. ¯ó ¯ı ˆ ˆ ˆ ˆ ˆ ˙ ˙´ ’ ˙ ´ ’’ Ngoài "so màu nhiem" MBR còn chua bang phân vùng d˜a d nói o trên, và mot chuong trình ¯ı ¯ã ˆ ˆ ˆ ’ ’’ nho – trình khoi d ˆ˙ng chính, kích thuoc chı có 446 (0x1BE) byte. ˙ ’ ’´’ ’ ’ ¯o ’ ˙´ ´ ’ ’ ’’ ¯o Bang 2.1 cho thay cau trúc cua sector khoi d ˆ ng chính sau khi cài d ˘ t Windows. ¯a ˆˆ ˙ ˙ ´ ’ ’ ’’ ¯o Bang 2.1: Cau trúc cua sector khoi d ˆ ng chính ˆ ˙ ˆ’ Dich chuyen Noi dung ˆ ˙ ˙’ ’’ ¯o 0x000 Mã cua trình khoi d ˆ ng chính ˙ ˆ’ ¯ı ’ 0x1BE Bang phân vùng o d˜a ´ 0x1FE "So màu nhiem" (0xAA55) ˆ ˆ ˙ ˆ’ MS-DOS, Windows95 và NT ghi nho DOS MBR trong khi cài d ˘ t. Ngoài ra cung có the ´’ ˜ ¯a ˙ ’ ˆ tao MBR cua MS voi câu lenh DOS sau: fdisk /mbr. ´’ ˙ Xin tro lai voi quá trình˙ khoi d ng. Int 19h cua BIOS nap trình khoi d ng chính vào bo ’’ ’’ ¯o ’ ’’ ¯o ´’ ˆ ˆ ˆ ˙ và chuyen quyen d `u khien cho chuong trình này. Nhung ˙ ong trình "bé ˙ ˙ ˙ ’ ’ ` ¯ie nho máy tính ’ chu ’ ´’ ˆ ˆ ˆ ˆ ’’ ’ ˆ’ ´ ’ ˜’ nho" này không d ’ kha nang khoi d ˆ ng HDH; tat ca nhung gì mà nó có the làm – d là nap ’ ¯u ’ ˘ ’’ ¯o ¯ó ˆ ˙ trình¯khoi d ng thu hai. ˙ ’’ ¯o vào bo nho chuong trình manh hon – ˆ ´’ ’ ’ ´’ ˆ ’ ˙ ˙ ˙ D ˆ’ ` ’ ¯ e làm d ’oc d ˆ u này, nó tìm trong bang phân vùng kích hoat và d ˙ c vào bo nho trình ˆ ´’ ¯u ’ ¯ie ¯o khoi d ˆ ng thu ˙ ´’ hai, bat d ˆ u tu sector lôgíc d ˆ u tiên cua phân vùng˙ kích hoat. Hãy˙ chú ý d´ n ´` ` ’’ ¯o ’ ˘ ¯a `’ ¯a ¯eˆ ˙ "bat d `u tu". Vì trình khoi d ng thu hai trên các he thong khác nhau có d dài khác ˙ ´ ¯a `’ ´ ’’ ¯o cum tu ˘ ˆ `’ ´’ ¯o ˆ ˆˆ ˆ ˙ ˙ ˙ ˙ nhau. ’´’ ˆ ´ ´ ’’ ¯o Trong phân vùng d ’oc d nh dang duoi he thong tap tin FAT, trình khoi d ˆ ng thu hai chiem ´’ ¯u ’ ¯i ˆ ˆ ˆ ˙ ˙ phân vùng d ˙ dang ˙duoi he thong tap tin NTFS, trình khoi ˙ ˙ ´ ’’ mot sector (512 byte). Trong ¯inh ’´’ ˆ ˆ ˆ ˆ ˙ng thu hai chiem vài sector. ˙ ˙ ˙ ˙ ´ dˆ ´’ ¯o ˆ ˙ Trình khoi d ng thu hai nap lop chuong trình d `u tiên, can thiet cho viec khoi d ng he ` ´ ’’ ¯o ’’ ¯o ´’ ´’ ¯a ˆ ˆ ˆ ˆ ˆ ˆ ˆ ’’ ˙ truong hop MS DOS chuong trình khoi d ng d ng nap IO.SYS theo d a chı ˙ ˙ ˙ ˙ ` ’’ ¯o ¯o ’ d ˆ u hành. Trong ’`’ ¯ie ¯i ˆ ˆ ’ ’’ ˙ và chuyen quyen d `u khien cho SYSINIT cua môd IO.SYS. ’˙ ˙ ˙’ ˙ ’ ` 700h, sau d MSDOS.SYS ¯ó ˆ ¯ie ¯un ˆ ˆ ˆ ´ u vì lý do nào d không tìm thay trên d˜a phân vùng kích hoat, thì quá trình kho d ˆ ng ´ ’’ ¯o Ne ¯ó ¯ı ˆ ˆ ˙ ´ m khi su dung, nhung ˙ ’´´ ˜´ ´’ ˆ ’’ ’’ ˆˆ ˆ se tiep tuc voi viec xu lý Int 18h. Truong hop này trên thuc te rat hie ’`’ ˆ ’ ’ ˙ này có ˙ ’ có ích trong truong hop nào d Trong khi khoi d ng tu xa, khi he d `u ˙ ˙ ˙ ’˘ ’’ ¯o kha nang the ’`’ `’ ¯ó. ˆ ¯ie ˆ ˆ ˆ ’ ˙ ˙ ˙ ’ ’´’ ’’i d ˆ ng tu máy chu, thì Int này d ’oc POST chuyen huong lên ROM cua cac mang. ’ ’ hành kho ¯o `’ ¯u ’ ˆ Doi voi các HDH khác cua Microsoft thì quá trình khoi d ˆ ng dien ra tuong tu.˙ ´ ´’ ˙ ˙ ˙ ˜ ’ ’’ ¯o ˆ ˆ ’’ ’ ¯ ¯ ˙ ˙ ´ ´ ’’ ¯o ’’ • Windows95 khoi d ˆ ng giong nhu DOS nhung thay the IO.SYS và MSDOS.SYS boi ˆ ˆ ’ ’ ˙ Các tap tin DOS d oc giu lai duoi các tên tuong ung IO.DOS và ’ các tap tin cua mình. ’´’ ’ ’ ´’ ¯u ’ ˜’ ˆ ˆ ’ MSDOS.DOS. Khi ban d ˙ chon khoi d ˆ ng DOS, Windows95 se d ˆ’i tên các tap tin ˙ ˙ ˙ ’’ ¯o c ˜ ¯o ¯o ˆ ˙ rong w40 và phuc ˙hoi tên ban d `u cua các tap tin he thong cua ˙ ˙ ˙’ ` ` ˆ´ ’ ’’ ¯a ’ cua mình voi phan mo ˆ ´’ ˆ ˆ ˆ ˆ ˆ ˙ tiep tuc voi viec nap IO.SYS. Nhu the, sector khoi d ng cua ˙ ˙ ˙ DOS. Quá trình khoi d ˆ ng ´ ’´ ’’ ¯o ’’ ¯o ’ ´’ ˆ ˆ ˆ ˆ ˙ nhu nhau. ˙ ˙˙ ˙ DOS và Windows95 là ’
  2. 10 Cài dat HDH Linux trên cùng máy tính voi Windows ¯˘ ¯ ´’ ˙ ´’ ’’ ’’ ¯o ’ • Windows NT4 su dung MBR DOS, nhung thay the ban ghi khoi d ˆ ng cua phân vùng ˆ ’ ˙thay the NTLDR vào cho IO.SYS. Dây là mot ˙ ong trình mang ˜ ` ´ kích hoat bang cách ˆ chu ’ ˘ ˆ ˆ ’ ¯ và có the làm d ’oc nhieu thu. Ví du, có the tìm tap tin boot.ini˙ và neu nhu tham˙ so ˙’ ˆ’ ` ´ ´ ´’ ¯u ’ ˆ ˆ ˆ ˆ ˆ ’ ˙ thì d a ra trình d ˙n (thuc d n) khoi d ng. ˙’ timeout lon hon 0, ´’ ’ ¯u ¯o ’ ¯o ’ ¯oˆ ’ ’ ’ ˙ ˙ ˜ ` ’ Moi dòng cua phan [operating systems] trong tap tin boot.ini xác d nh mot ¯i ˆ ˆ ˆ ˆ ’’i d ˆ ng và d ’oc viet theo mau sau: ˙ ˙ ˙ ˜ ´ phuong án (mot HDH) kho ¯o ¯u ’ ˆ ˆ¯ ˆ ’’ d a_chı˙ ’ ˙ ¯o ˙´ ’_trình_khoi_dˆng_thu_hai="tên_goi_cua_phuong_án" ’ ’ ’ ’’ ¯i ˙ ’’ ˙ ˙ ’ là mot phân vùng cu the nào d cua d˜a cung ’ ’’ ¯o ¯ó ’ ¯ı ˜ ¯ ˙a chı cua trình khoi d ˆ ng thu hai có the Di ´’ ˆ ˆ ˆ ’’i d ˆ ng. Duoi ˙d là mot ví du tap tin˙ boot.ini: ˙ nhu tap tin kho ¯o ’´’ ¯ây ’ˆ ˆ ˆ ˙ ˙ ˙ ˙˙ [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation 4.00 VIE multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation 4.00 VIE C:\="Microsoft Windows" C:\BOOTSECT.LNX="Linux" ´ ` ˜ ’’ ¯o ’ ¯u ’ ’ Neu nguoi dùng chon NT, thì se khoi d ˆ ng theo d a chı phân vùng d ’oc chı trên dòng d ˆ u ’`’ ¯i ¯a ˆ ˙ ng voi phuong án ˙Microsoft˙Windows, chı d a ˙ "C:\", vì tên cua ’ ¯u ra ’ tiên. Trên dòng tuong u ’ ’ ´’ ´’ ’’ ’ ’’ ¯o ¯u ’ ´ tap tin khoi d ˆ ng d ’oc lay theo mac d nh: bootsect.dos. Tap tin d ’oc nap vào bo nho và quá ˘ ¯i ˆ ´’ ¯u ’ ˆ ˆ ˆ ˙ khoi d ng d oc˙tiep tuc giong nhu khi ban ghi khoi d˙ ng d oc nap boi mã chuong trình ˙ ´ ˙ ˙’ ˙ ˙’ ˙ ´ trình ’’ ¯o ¯u ’ ˆ ’ ’’ ¯o ¯u ’ ˆ ˆ ˆ ’ ’ ’ ’’ tu MBR. ˙ ˙ ˙ ˙ ˙˙ `’ ˆ’ ’’ D´ ´’ ˆ ˆ´ ` ’’ ¯o ¯ó. ’ ˆ ¯ oi voi viec khoi d ˆ ng các he thong khác, có the su dung cách d Chı can thêm vào ˆ ˆ ˙ chua liên ket d´˙n tap tin khoi d ng khác. ˙Khi chon các dòng này se khoi ˙ ´ ¯e ˆ ’’ ¯o ˜ ’’ boot.ini các dòng ´’ ˆˆ ˆ ˙ Linux cung d oc khoi d ng˙ theo các này. Trong tap ˙ ’’ ¯o d ˆ ng HDH tuong ung. Trong ví du trên ’ ’ ´’ ˜ ¯o ¯u ’ ˆ ˆ ’ ¯ ˙ C:\BOOTSECT.LNX can ghi ˙noi dung cua ban ghi khoi d ng, tao boi Linux (nói d ˙ ˙’ ˙ ` ’’ ’’ tin ’ ¯o ¯úng ˆ ˆ ˆ ˙’ ’ ˙ ˙ ’’ ¯o hon – LILO, trình khoi d ˆ ng tiêu chuan cua Linux). ˆ ’ ˙ ´ ¯ˆ ´’ ` ˆ 2.3.4 Van de voi các d˜a lon ¯ı ´’ ` ’ ¯a ’ ’ ’´’ Trên MS-DOS và các phiên ban d ˆ u tiên cua Windows truy cap toi d˜a (trong d có ca buoc ˆ ´’ ¯ı ¯ó ˙’ ’ ´’ ` ’’i d ˆ ng d ˆ u tiên cua HDH) d ’oc to chuc qua Int 13 (Int 13h) cua BIOS. Khi này su dung ’¯ ’’ kho ¯o ¯a ¯u ’ ˆ su d ˙ d a chı sector trên d˜a trên co so C/H/S (xem trên). Chính xác hon: ˙ ˙ ’ ’ ’’ ’ ¯ánh ¯i ¯ı ’ ˙ ˙ • AH — chon thao tác; ˙ ’’’´ • CH — 8 bit nho hon cua so cylinder; ˆ ´’ ’ ´ ´ • CL — 7-6 bit tuong ung bit lon cua so cylinder, 5-0 tuong ung so sector; ’ ’ ´’ ’ ’ ´’ ˆ ˆ ´ ’ ¯a ¯o ` • DH — so cua d ˆ u d c; ˆ ˙ ´ cua d˜a(80h hay 81h). ’ ¯ı • DL — so ˆ ` ` ´ ´ ¯a `’ ˘` (Can luu ý rang viec d ˆ ¯ánh so cylinder vat lý và rãnh thuong bat d ˆ u tu 0, còn sector trên ˘ ’`’ ˆ’ ˆ ˆ ´ bat d ˆ u tu 1). Tuy nhiên trên ˙thuc te so d ˆ u d c không quá 16, còn so sector ´ ¯a ˙`’ ` ´ ´ ¯a ¯o ` ´ rãnh d ¯ánh so ˘ ˆ ’ˆˆ ˆ ˙ d ’ chı ra cylinder, BIOS van không the làm ˙ ˆ’ ˜ trên rãnh – không quá 63, và dù có dùng 10 bit ¯e ’ ˆ ˆ viec voi d˜a dung luong lon hon 1024*63*16*512 = 528 Mbyte. ˆ ´’ ¯ı ’ ’ ´’ ’ ˙ De vuot qua han ˙ ´ này, nguoi ta áp dung nhieu cách "láu cá" khác nhau. Ví du, Extended ’ ’’ ` che ’`’ ¯ˆ ˙ ˆ ˆ ˙"Large disk support" (d˙ khi còn goi là "Large") su dung ba bit chua dùng ˙ ’’ CHS (ECHS) hay ¯ôi ’ ˙ ˙
  3. ’’ ¯ ˆ 2.4 Lua chon trình khoi dong 11 ’ ˙ ˙ ˙ d´ n cua so thu tu d ˆ u d c d ˆ’ tang so cylinder. Cách này cho pehsp su dung cau trúc "hình ¯e ’ ´ ´’ ’ ¯a ¯o ¯e ˘ ` ´ ´ ’’ ˆ ˆ ˆ ˆ ˙ d a" voi 1024 cylinder, 128 d `u d c và 63 sector/rãnh. Bien d ’i Extended ˙ ˙´ ’ ’˜ hoc gia mao cua ¯ı ´’ ¯a ¯o ˆ ¯o ˆ ˆ ˙ thành d a chı CHS thuc (có the chua d´ n 8192 cylinder) d oc BIOS thuc hien. Cách này ˙ ˙ ’ ´’ ¯e ’ CHS ¯i ¯u ’ ˆ ˆ ’ˆ ’ ’ ˙ viec voi d a có dung luong d´ n 8192*16*63*512 = 4 227 858˙ 432˙byte hay 4,2 ˙ ˙ cho phép làm ˆ ´’ ¯ı ˜ ’ ’ ¯e ˆ ˙ ˙ Gbyte. ˆ’ ’ ¯ı ´ ¯ı ´ Nhung các nhà phát trien càng ngày càng tang mat d ˆ ghi cua d˜a, so d˜a và so rãnh, và ˘ ˆ ¯o ˆ ˆ ’ ˙ lu˙ ng d a. Ví du, so sector trên rãnh còn phát minh ra các phuong pháp khác d ˆ’ tang dung ’o ´ ˘ ˜ ¯e ’ ¯ı ˆ ’’ không còn co d nh mà tro thành khác nhau trên các rãnh ˙ ˙ ´ ¯i ` ` ’’ khác nhau (trên các rãnh nam gan ˘ ˆ ˆ ˙ ´ ´ ´ ’ a d˜a, dài hon, so sector d ’oc tang lên). Ket qua là bo ba so C/H/S không còn ’ rìa ngoài cu ¯ı ¯u ’ ˘ ’ˆ ˆ ˆ ˆ ’ ¯ı˙ ˙ ˆ’ ˆ ’˜ ´ ’ ’ phan ánh d ¯úng cau trúc "hình hoc cua d˜a", và các phiên ban BIOS cu không the ho tro truy ˜ ˆ ˙ ˙ cap toi toàn bo không gian d˜a. ˆ ´’ ¯ı ˆ ˙ ˙ Khi d nguoi ta nghı ra phuong pháp khác d ˆ’ làm viec voi các d˜a lên qua Int 13h - d ’`’ ˆ ´’ ¯ánh ˜ ¯ó ¯e ¯ı ’’ ˙ ’ ´ ’ ¯u ` ˘ d a chı các khoi theo d ’ong thang ("Linear Block Addressing" hay LBA). Không d sâu vào ¯i ¯i ˆ ’ ˙´ ˆ’ ` ´’ ´ˆ ˆ ’ ´ ¯a `’ ` ˘` chi tiet, có the nói rang tat ca sector trên d˜a d ’oc d ¯ı ¯u ’ ¯ánh so mot cách tuan tu, bat d ˆ u tu sector ˘ ˆ ˆ ˆ ˙ vào cho d a˙chı CHS mo˙ sector nhan d oc ˜ ˜ ` ´ ´ ’ ’ d ˆ u tiên trên rãnh so 0 cua cylinder so 0. Thay ˆi ¯a ˆ ¯i ˆ ¯u ’ ˆ ˆ ’ ˙ ˙ ˙ ’ng so tat ca sector. Viec d ´ ´’ ’ ’ ´´ ’ ´ ’ mot d a chı lôgíc – so thu tu cua sector trong to ˆ ¯ánh so sector lôgíc ˆ ¯i ˆ ˆ ˆˆ ˆ ˙ d `˙u tu 0, trong d sector so 0 chua ban ghi khoi d ng chính (MBR). Trong Setup BIOS ˙´ ˙ ´ˆ ´’ ’ ’’ ¯o bat ¯a `’ ˘ ¯ó ˆ ˆ ˙’ ’ ho tro bien d ˆ’i so thu tu theo d ’ong thang thành d a chı CHS có dang "Ho tro LBA". Nhu ˜ ˜ ˆ ’ ´ ¯o ´ ´’ ’ ¯u `’ ˘ ¯i ˆ ˆ ˆ’ ’ ˙ ˙ BIOS moi thuong có lua chon voi ba phuo˙ng án: "Large", "LBA", ˙ ˙ ’ vay, trong các phiên ban ´’ ’`’ ´’ ˆ ’ ’’ và "Normal" (phuong án cuoi cùng có nghıa là không˙thuc hien bien d ˆ’i d a chı). ˙ ˙ ´ ´ ¯o ¯i ’ ˜ ˆ ’ˆ ˆ ’’ ˙˜ ˙ ˙ ´ ¯o ˆ ’’ Tuy nhiên trong che d ˆ LBA viec su dung d˜a vat lý van d ’oc thuc hien qua Int 13h, mà ¯ı ˆ ˆ ¯u ’ ˆ ’ˆ ˙ ˙ ˙ ˙ ´ ˙ˆ ˙ ˙´ ˜n su dung bo 3D (C,H,S). Vì nguyên nhân này xuat hien han che lên dung luong ’’ Int 13h va ˆ ˆ ˆ ˆ ’’ cua d˜a: BIOS, và theo˙d MS-DOS và các phiên ban Windows d˙ˆ u tiên không the d ˙d a ˙ `˙ ˆ’ ¯ánh ¯i ’ ¯ı ’ ¯ó, ¯a ˙ ’ chı các d˜a có dung luong lon hon 8,4 Gbyte. ’ ’ ´’ ’ ¯ı ˙ ` ` ´ ’ Can chú ý rang han che nói trên chı áp dung voi các d˜a có giao dien IDE. Trong các ˘ ´’ ¯ı ˆ ˆ ˆ ˙ so cua sector d oc chuyen vào các lenh SCSI, và sau d tu d a tìm ˙’ ˙ controller cua d˜a SCSI, ´ ’ ’ ¯ı ˜ ¯u ’ ¯ó ’ ¯ı ˆ ˆ ˆ ’ ˙ ong d a không xuat hien. ˙ ˙ `n thiet, vì the han che lên dung lu ’ ¯ı ´ ´ ´ ´ˆ ra vi trí ca ˜ ˆ ˆ ˆ ˆ ˆ ’ ˙ ˙ ´ ’ ˙ ˜’ ˙’ ` ˜’ ´ ´ ` ´ Mot lan nua muon nhac lai rang, tat ca nhung han che nói trên chı có ý nghıa trong giai ˘ ˘ ˜ ˆˆ ˆ ˆ ˆ d n khoi d ˆ ng HDH. Boi vì ˙ ˙’ ’˙ ´’ ´ ’’ Linux và các phiên ban Windows moi nhat khi làm viec voi d˜a ˆ ´’ ¯ı ¯oa ’ ¯o ˆ ˙ ’¯ ˙không còn su dung Int 13 cua BIOS, mà su dung driver riêng cua mình. Nhung ˙truoc khi ’ ’’ ’ d ’´’ ¯ã ’ ’ ˙’ ’ ¯u ˙’ ˆ’ ’’ ˆ´ ´ ` ’’ ¯o ¯a có the su dung driver cua mình, he thong phai d ’oc nap. Vì the trong giai d n khoi d ˆ ng d ˆ u ¯oa ˆ ˆ ´ t ky ˙he thong nào cung can su dung BIOS. ¯ ieu này han che viec d ˘˙t nhieu he thong ` ˙ ’’ ˙ D ˙` ` ˙ˆ ´ ´ ´ ˆ ¯a tiên ba ` ˆ ˆ ˜ ˆ ˆ ˆ ˆ ˆ ˆ ˙ 8 Gbyte d a d `u tiên: chúng không the khoi d ˙ng tu d ˙ mac dù sau khi khoi ˙ ˙ ˙ ’ ’’ ¯o ’’ ra ngoài vùng `’ ¯ó, ˘ ˜ˆ ¯ı ¯a ˆ ˆ ˙ `u. De có the hieu cách thoát ˙’ ’ d ˆ ng thì có the làm viec voi các d˜a có dung luong lon hon nhie ¯ ˆ’ ˆ’ ˆ ´’ ’ ’ ´’ ’ ¯o ¯ı ˆ ˆˆ ˙ ’ i nhung han che này, chúng ta can mot chút kien thuc ve quá trình khoi d ng cua HDH ´˙ ˙´ ` ` ’’ ¯o ’¯ kho ´’ ˆ ˜’ ˆ ˆ ˆ ˆ ˆ ˙ ˙ ˙ Linux. ’’ ¯ ˆ 2.4 Lua chon trình khoi dong ’ ˙ ˙ ˙ ’’ ¯ ˆ ’ 2.4.1 Trình khoi dong LILO cua HDH Linux ¯ ˙ ˆ’ ’’ ¯o ¯u ’ ´ ’’ ’’ ¯o Trình khoi d ˆ ng LILO d ’oc viet boi Werner Almesberber. LILO có the khoi d ˆ ng nhân ˆ ˙ `m, d a cung, và cung có the khoi d ng các he d `u hành khác: PC/MS-DOS, ˙ ˙ ’ ’’ ¯o Linux tu d˜a me `’ ¯ı ¯ı ´’ ˜ ˜ ˆ ¯ie ˆ ˆ ˆ ˆ ˙ ˙ DR DOS, OS/2, Windows 95/98, Windows NT/2000/XP, 386BSD, SCO UNIX, Unixware v.v. . . LILO cho phép chon d´ n 16 he d ˆ u hành khác nhau d ˆ’ khoi d ˆ ng. ` ¯e ’’ ¯o ¯e ˆ ¯ie ˆ ’ i là chuong trình˙d ’n le mà là mot bo gom nhieu chuong trình: trình khoi ˙ ` ˙ ’’ ` ’ ’’ LILO không pha ¯o ˆ ˆˆ ˆ ’’ ˙ trình khoi d ng, và các tap tin phuc vu: ˙ d ˆ ng, các chuong trình su dung d ˆ’ cài d ˘ t và cau hình ´ ’’ ’’ ¯o ¯o ¯e ¯a ˆ ˆ ˆ ’’ ˙ ˙ ˙ ˙ ˙ ˙˙
  4. 12 Cài dat HDH Linux trên cùng máy tính voi Windows ¯˘ ¯ ´’ ˙ • chuong trình /sbin/lilo, chay duoi Linux, phuc vu d ˆ’ ghi tat ca thông tin can thiet ´’ ` ´ ’´’ ¯e ˆ ˆ ˆ ’’ ˙ cho tuong ung. Ca˙ chay chuong trình này sau moi ˙ `n ˜ ˜ ’’ ¯o trong giai d n khoi d ˆ ng vào các ˆ ’ ’ ´’ ¯oa ˆ ˆ ’’ ˙’i trong nhân hay trong tap tin cau hình LILO; ˙ ˙ ` ´ lan có thay d ˆ ¯o ˆ ˆ ˆ ˙ ` ’’ ¯o • các tap tin phuc vu, can cho LILO trong thoi gian khoi d ˆ ng. Nhung tap tin này thuong `’ ’`’ ˜’ ˆ ˆ ˆ ` m ˙trong thu muc /boot. Quan trong nhat trong so ˙ ˙˙ ˙’ ´ ´ chúng – d là ban thân trình na˘ ¯ó ˆ ˆ ’ ˙ ˙ ’’ ¯o ’ khoi d ˆ ng (xem phía duoi) và tap tin map (/boot/map); trong tap tin này có chı ra ´’ ˆ ˆ ’ ˙’ a nhân. Mot tap tin quan trong khác – tap tin cau hình LILO; thuong có tên ˙ ˙ ´ vi trí cu ’`’ ˆˆ ˆ ˆ ˙ ˙˙ ˙ ˙ /etc/lilo.conf; ` ` ’’ ¯o ’ • trình khoi d ˆ ng – d là phan LILO d ’oc nap vào bo nho d ˆ u tiên qua Int cua BIOS; ˆ ´’ ¯a ¯ây ¯u ’ ˆ ˙ ng nap nhân Linux hay sector˙khoi d ˙ cua he d `u hành khác. Trình ˙ ’’ ¯o ’’ ¯ong ’ ˆ ¯ie trình khoi d ˆ ˆ ˆ ˙ m có˙ hai phan. Phan thu nhat d oc ghi vào sector khoi d ng và phuc vu ˙ ˙ ` ` ` ´ ¯u ’ ’’ ¯o ’’ ¯o khoi d ˆ ng go ´’ ˆ ’ ˆ ˆ ˆ ˆ d ˆ’ nap˙phan thu hai, có kích thuoc lon hon rat nhieu. Ca hai phan thuong d ’oc ghi trên ´’ ´’ ’ ´ ˙ ˆ `’ ˙ ¯u ’ ˙ ˙ ` ` ` ’ ´’ ¯e ˆ ˆ ˆ ’ ’ ˙ ˙ d˜a trong tap tin /boot/boot.b. ¯ı ˆ ˙ ` ´’ ` ’ ’’ ¯o ’’ Can nho rang, d nh dang cua sector khoi d ˆ ng tao ra boi LILO khác voi d nh dang MBR ˘ ´’ ¯i ¯i ˆ cua DOS. Vì the ne˙ ghi˙sector khoi d ˆ ng LILO vào MBR, thì các he d ˆ u hành d cài cua ˙ ˙ `˙ ˙ ´ ´u ’ ’’ ¯o ’ ˆ ¯ie ¯ã ˆˆ ˙ không có các bien pháp bo sung). ˙ ’ ´ ’’ ¯o Microsoft se ngung khoi d ˆ ng (neu nhu ˜ `’ ˆ ˆ ˆ ’ ’’i d ˆ ng cua LILO có the d ’oc thiet ke d ˆ’˙ su dung nhu sector khoi d ˆ ng cua ’˙ ’ ¯u ’ ´ ´ ¯e ’’ ’’ ¯o ’ Sector kho ¯o ˆ ˆˆ ’ ˙ có cho cho bang phân˙vùng. ˙ ˙ ˜ ’ phân vùng; trong d ¯ó ˆ ˆ’ ¯a ˜ ’’ ¯o ’ Sector khoi d ˆ ng cua LILO trong khi cài d ˘ t có the d ˘ t vào nhung cho sau: ˜’ ¯a ˆ ˙ ˙ ˙ ` ’’ ¯o ’ ¯ı • sector khoi d ˆ ng cua d˜a mem trong d nh dang Linux (/dev/fd0, . . . ); ¯i ˆ ˙ ˙ ˙ ` ’ a d˜a cung d ˆ u tiên (/dev/hda, /dev/sda, . . . ); • MBR cu ¯ı ´’ ¯a ´’ ˆ ´ ` ’’ ¯o ’ • sector khoi d ˆ ng cua phân vùng chính voi he thong tap tin Linux trên d˜a cung d ˆ u tiên ¯ı ´’ ¯a ˆ ˆ ˙ /dev/hda2, . . . ); ˙ ˙ (/dev/hda1, ` ’’ ¯o ’ ’’ ˆ • sector khoi d ˆ ng cua phân vùng lôgíc trong phân vùng mo rong d˜a cung d ˆ u tiên¯ı ´’ ¯a ˙. . . ). Su that là phan lon chuong trình dang fdisk không d ` ra kha nang ˙ ` ’˘ (/dev/hda5, ˆ ´’ ¯e ’ˆ ˆ ’’ ’’i d ˆ ng khoi d ˆ ng tu phân vùng mo rong và tu choi ˙ ˆ c kích hoat phân vùng này. Vì ’’ ¯o ˙`’ ˙ ´ vie ’’ ˆ kho ¯o `’ ˆ vay trong thành phan LILO có chua mot chuong trình d˙˘ c biet (activate) cho phép ˙ ˙` ´’ ˆ˙ ˙ ¯a ˆ ˆ ˆ ’’ ˙ ot qua han che này. Tuy nhiên chuong trình fdisk cu˙a ban phân phoi Linux ho tro ˙ ˙ ˜ ´ ´ ’’ vu ’ ˆ ˆ ˆ’ ’ ’’ ˙ nang kích hoat phân vùng mo rong. Can su dung tùy chon -b hoac bien BOOT. ˙ ˙ ` ´ ’ ’’ ˆ ˆ ’’ kha ˘ ˘ ˆ ˙ ˙ ˙ ˙ ˙ ˆ’ ¯a ˜ ’’ ¯o ’ Sector khoi d ˆ ng cua LILO không the d ˘ t vào các cho sau: ˆ ˙ ˙ ` ˆ´ ’’ ¯o ’ ¯ı • sector khoi d ˆ ng cua d˜a mem hay phân vùng chính, voi d nh dang he thong tap tin ´’ ¯i ˆ ˆ ˆ ˙ ˙ ˙ ˙ ˙ khác Linux; ’ • trong phân vùng swap cua Linux; • trên d˜a cung thu hai. ¯ı ´’ ´’ ` ` ’’ ¯o Ngoài ra, can nho rang, LILO trong thoi gian khoi d ˆ ng nhung tap tin sau: ´’ ˘ `’ ˜’ ˆ ˆ ˙ ˙ • /boot/boot.b; ’’ ˆ • /boot/map (tao ra boi lenh /sbin/lilo); ˙ ˙
  5. ’’ ¯ ˆ 2.4 Lua chon trình khoi dong 13 ’ ˙ ˙ ˙ ´’ ´ ’ ’’ ¯o ’ ’’ ¯o • tat ca phiên ban nhân khoi d ˆ ng (neu ban d c chon phiên ban nhân khi khoi d ˆ ng); ¯o ˆ ˆ ˙ ˙˙ ˙ ˙ ` ´ ’’ ¯o ’ ’’ ¯o • sector khoi d ˆ ng cua các he d ˆ u hành khác mà ban d c muon khoi d ˆ ng qua LILO; ˆ ¯ie ¯o ˆ ˙ ˙ ˙˙ ˙ ´ ¯u ’ ’’ ¯o • tap tin chua các thông báo d ’a ra khi khoi d ˆ ng (neu d ’oc xác d nh). ´’ ¯u ¯i ˆ ˆ ˙ ˙ ˙ ˙ ´ ¯ó ’’ ¯o Nhu vay, sector khoi d ˆ ng LILO cung nhu nhung tap tin d liet kê (trong so d có các tap ˜ ’ ˜’ ˆ ¯ã ˆ ’ˆ ˆ ˆ ˙ se cài d ˘ t sau này) can nam trong pham vi 1024 cylinder d `u tiên cua d a cung, ˙ ˙ ˙ ’ ¯ı ´’ ˙ `` tin ban d c ˜ ˆ˘ ˜ ¯o ¯a ¯a ˆ boi vì chúng can d ’˙’c truy cap qua BIOS. Xem phan nói ve han che cua BIOS o trên. ’’ ˙ ˙ ˙` ` ` ´’ ’’ ˆ ¯uo ˆ ˆ ˆ ˆ ˙’ ˙ ˙ ´ t d ˆ u tu phiên ban 21, LILO d ’a ra màn hình trình d ’n (thuc d ’n) cho phép chon he ` `’ Ba ¯a ˘ ¯u ¯o ’ ¯o ˆ ˙ ˙˙ thong d ˆ’ khoi d ˆ ng (truoc d can nhan phím Tab d ˆ’ goi trình d ’n này). ´ ` ´ ¯e ’’ ¯o ´’ ¯ây ˆ ¯e ¯o ˆ ˆ ’ ˙ ˙ ’’ ¯ ˆ 2.4.2 Các trình khoi dong khác ˙ Ngoài LILO d ˆ’ khoi d ˆ ng Linux có the khoi d ˆ ng các trình khoi d ˆ ng khác. ˆ’ ’’ ¯o ¯e ’’ ¯o ’’ ¯o ˙ ˙ ˙ ´ ’’ ¯o • Neu nhu truoc khi cài d ˘ t Linux d có HDH Windows NT/2000/XP, thì trình khoi d ˆ ng ’ ’´’ ¯a ¯ã ˆ ¯ ’ su dung˙ là OS Loader cua NT. So sánh voi LILO thì trình khoi d ˙ ng ban d c có the ’’ ’ ’’ ¯o ´’ ¯o ˆ ˆ OS Loader có ít nha˙t hai uu the. Thu nhat, tat ca cau hình cu không bi mat (chúng ta ˙˙ ˙ ´ ´ ´’ ´ ´ ’ ´ ´ ˜ ˆ ’ˆ ˆˆ ˆ ˆ ´’ ˙ ˆ’ ˆ’ ’’ ¯o có the chon khoi d ˆ ng Windows hay Linux theo lua chon), và thu hai, có the cài d ˘ t ¯a ’ ˙d a mà LILO không the khoi d ng, ví du,˙o d a˙thu hai trên controller thu hai ˙ ´’ ˙ ’ ’’ ¯o ’ ¯ı Linux lên ¯ı ˆ ˜ ´’ ˜ ˆ ˆ ˙ ˙ (Secondary Slave). ´ ’ • Neu nhu truoc khi cài d ˘ t Linux ban d c chı có HDH Windows 95 hay Windows 98 và ’ ’´’ ¯a ¯o ˆ ¯ ˙ ˙ thì OS Loader không d oc cài d ˘ t. Và neu nhu vì ˙ ´ không có Windows NT/2000 hay XP, ¯u ’ ¯a ˆ ’ ’ ´ n cài d ˘ t LILO, thì có the su d ˙ng chuong trình ˙’ ’ mot lý do nào d ban d c không muo ¯ó ¯o ¯a ˆ ’ ¯u ˆ ˆ ’’ ˙’ ˙ ˙` ´’ ’ ˙ ˙ ´ khoi d ˆ ng loadlin.exe (thuong d kèm voi ban phân phoi Linux); ¯o ¯i ˆ ’ ’’ ˙ ` ` ´ ˆ’ ’’ • Thoi gian gan d trong thành phan ban phân phoi Linux thuong có chuong trình khoi `’ ’`’ ˆ ¯ây ˆ ’’ d ˆ ng GRUB. ¯o ˙ ` ’ ’’ ¯o • Trong thành phan OS/2 cua công ty IBM có chuong trình khoi d ˆ ng Boot Manager. ˆ ’’ ˙ Trong rat nhieu huong dan nguoi ta khuyên dùng chuong trình này d ˆ’ toi chuc khoi ¯e ˆ’ ˜ ´ ` ’’ ’´’ ’`’ ´’ ˆ ˆ ˆ ’’ `u HDH. d ˆ ng nhie ¯ ¯o ˆ ˙ • Trong các nguon thông tin khác nhau còn nhac d´ n chuong trình System Commander; ` ´ ¯e ˘ˆ ˆ ’’ ` ’’ ¯o ’ • Thêm mot trình khoi d ˆ ng khác có trong thành phan gói PartitionMagic cua công ty ˆ ˆ ˙ ˙se nói ve chuong trình này trong phan nho tiep theo. ` ’’ ` ´ ’ˆ Power Quest. Chúng ta ˜ ˆ ˆ ˆ’ Ngoài ra tác gia còn thay nguoi ta nói d´ n mot loat trình khoi d ˆ ng khác (mot so có the ´ ˆ´ ’ ’’ ¯o ’`’ ¯e ˆ ˆ ˆ ˆ ˙˙ ˙ ˙ ´ y trong thu muc /public/ftp/pub/Linux/system/boot/loaders trên trang tìm tha ˆ ’ ˙ ’ ’’ ftp://metalab.unc.edu/. Nhung vì tác gia không su dung nhung chuong trình này, nên không ˜’ ’ ’’ ’ nói cu the cách su dung chúng. Và tat ca nhung ˙loi khuyên dùng sau cua tác gia se dua ’ ´ ’ ˜’ ’’ ’ ’˜ ’ the `’ ˆ ˆ ˆ ˙ ’ dung LILO, ˙NT Loader và loadlin.exe. Neu nhu có ý muon cài d ˘ t chuong trình˙ ´ ´ trên viec su ¯a ˆ’ ˆ ˆ ’ ’’ khoi d ˆ ng khác, thì ban d c can d c huong dan cài d ˘ t và su dung cua nó. ˙ ˙ ˙ ˜ ` ’’ ¯o ’’ ’ ¯o ˆ ¯o ’´’ ¯a ˆ ˙ ˙˙ ˙ ˙ ˙
  6. 14 Cài dat HDH Linux trên cùng máy tính voi Windows ¯˘ ¯ ´’ ˙ ’’ ¯ ˆ 2.4.3 Các phuong án khoi dong ’’ ˙ ´’ ’ ’’ ¯o Nhu vay, theo ý kien cua tác gia có các phuong án khoi d ˆ ng sau: ’ˆ ˆ ’’ ˙ ˙ ´ ¯ã ’’ • Neu d cài d ˘ t Windows NT hay Windows 2000/XP, thì hãy su dung NT Loader. ¯a ˆ ˙ ˙ ´ ´ • Neu có Windows 95 hay Windows 98 trên FAT16, và ban d c không muon cài d ˘ t ¯o ¯a ˆ ˆ ’’i d ˆ ng nào khác, thì có the su dung LILO, hoa˙ d ˆ u tiên chay DOS và ˙ ˘c ` ˙ ’ ’’ chuong trình kho ¯o ¯a ˆ ’’ ˙ ˙ ˙ ˙ ¯ó ’’ ¯o sau d khoi d ˆ ng Linux nho chuong trình loadlin.exe (hay mot chuong trình tuong tu, `’ ’ ’ ˆ ’’ ’’ ’ ˙ trình nhu vay, nhung chúng ta se không xét d´ n). ˙ ˙ có vài chuong ˜ ¯e ’ˆ ˆ ’’ ’ ˙ ´ ¯ã • Neu d cài d ˘ t Windows 95 OSR2 hay Windows 98 trên FAT32, và ban d c không ¯a ¯o ˆ ´ n cài d ˘ t˙ thêm chuong trình khoi d ˆ ng, thì can su dung loadlin.exe. Rat nhieu ˙ ˙´ ` ’’ ` ’’ ¯o muo ¯a ˆ ˆ ˆ ˆ ’’ ˙˘ ng d nh rang không can su d ng LILO, neu nhu phân vùng kích hoat có ˙ ˙ ’ ` ` ´ ˆ ’’ ¯u HOWTO kha ˘ ¯i ˆ ’ ˙ mac dù tác gia không rõ nguyên nhân. Tuy nhiên thí nghiem ˙ ’ i ˙ ’ d nh dang FAT32, ˘ ˆ kho ¯i ’ ˙ ng Linux qua NT ˙Loader, cài d ˘ t trên phân vùng FAT32, cua tác gia d ket thúc ˙ ’ ¯ã ˙ ´ ’ dˆ ¯o ¯a ˆ ˙ ˙` ´ ’ ¯ã ’ ’’ không thành công. Vì the, trong truong hop này tác gia d phai su dung chuong trình ˆ ’’ ’ ’’ ˙ ˙ loadlin.exe. Chuong trình này d hoàn thành tot nhiem vu, và tao cho tác gia mot ´ n ´ ’ ˆa ¯ã ˆ ˆ ˆ ’’ tuong tot, vì the tác gia khuyên ban d c su dung loadlin.exe d ˆ’ khoi d ˆ ng Linux. ˙ ˙ ˙ ˙ ´ ´ ’ ¯o ’’ ¯e ’’ ¯o ’’ ˆ ˆ ˙ ˙˙ ˙ ˙ ˆ´ `ˆ ´ ´’ ’˜ ’’ Trong nhung phan tiep theo tác gia se cho biet cách cài d ˘ t Linux, su dung tat ca ba ˜’ ¯a ˆ ˆ ˙’ i d ng LILO ˙và trình khoi ’’ ¯o ’’ ¯o ’’ phuong án khoi d ˆ ng: qua trình khoi d ˆ ng NT Loader, trình kho ¯o ’ˆ ’’ ˙ ˙ d ˘ t trình khoi d ng can chuan bi các phân vùng ` ˙ ˆ’ ’’ ¯o d ˆ ng loadlin.exe. Tuy nhiên truoc khi cài ¯a ’´’ ¯o ˆ ˆ ˙ ˙ ˙ ˙ ˆ’ ´’ ´ trên d˜a, hay ít nhat là nghı cách to chuc chúng. ˜ ¯ı ˆ ˆ’ 2.5 Chuan bi các phân vùng trên d˜a ¯ı ˙ 2.5.1 Loi khuyên khi tao phân vùng `’ ˙ ˜ ˆ´ ` ’’ ¯ây ’ ¯ ua ra loi khuyên o d không phai là viec de dàng, vì phân vùng d˜a phuc thuoc rat nhieu D’ `’ ¯ı ˆˆ ˆ ˆ `u cua chu nhân d˜a. Nhung cung xin thu d ’a ra vài˙ d ˆ nghi sau. Tác ˙ `˙ vào ý thích và nhu ca ’ ’ ’’ ¯u ˜ ¯ı ¯e ˆ ’ ˙ ˆ’ ’ ˜ ¯a ’ gia se d ˘ t tên d˜a và phân vùng theo "tiêu chuan" cua Linux, tuc là /dev/hda, /dev/hdb, ´’ ¯ı ˙ i voi d a và /dev/hda1, /dev/hda2, v.v. . . – d´ i voi các phân vùng. v.v. . . d´ ´’ ¯ı ¯o ´’ ˜ ¯oˆ ˆ `n thiet, boi vì Windows và Linux su dung ´ ˆ ’’ ’’ Viec phân chia d˜a thành các phân vùng là ca ¯ı ˆ ˆ ˙ luu tru thông tin trên d a và sau d d c chúng tu d a khác nhau. Chính vì the tot hon ´ ´ ˙’ các cách ’ ˜’ `’ ¯ı ˜ ˜ ¯ı ¯ó ¯o ˆˆ ˙ m chí mot vài nhu chúng ta se thay o duoi) ˜ ˆ ¯ie ´ t là dành cho moi he d ˆ u hành mot (hoac tha ` ´ ’’ ’´’ he ˘ ˜ˆ ˆ ˆ ˆ ˆ ˆ ’ ˙ ˙ ˙ ˙ ˙ phân vùng riêng. ’ ’ ˆ’ ¯ı ’ ` ’ ¯ au tiên chúng ta hãy xem xét mot truong hop d ’n gian – dung luong o d˜a cua ban d ˙ c Dˆ ’`’ ’ ¯o ¯o ˆ ˙ xác hon – so cylinder không vuot quá 1024). ˙Trong ˙´ ˙ không vuot quá 8,4 Gbyte (nói chính ˆ ’’ ’ ’’ truong ho˙ này moi thu d ˆ u d ’n gian: ban d c chı viec chia d˜a làm sao d ˆ’ d ’ cho cho he ˙ ˜ ` ’ ’ˆ p `’ ´’ ¯e ¯o ¯o ¯ı ¯e ¯u ˆ ˆ ’ ’ ˙ se cài d ˘ t. Có the su dung du lieu cho biet kích thuoc d a nho nhat can thiet d ’ cài ˙ ˙˙ ˙ ´ ¯e ˙ ’ ’’ ` ´ ’´ˆ ˆ` d ˆ u hành ˜ ’´’ ¯ı ˜’ ˆ ˜ ¯ie ¯a ˆ ˆ ˆˆ `u hành voi cau hình co ˙ban trong bang 2.2. ˙´ ´ ˙’ ’ d ˘ t he d ˆ ¯a ˆ ¯ie ’ˆ ’ ˙˙ ` ’ ’’ Tuy nhiên xin hãy nho rang, không nhung phai tính kích thuoc các tap tin cua ban thân ´’ ˘ ’´’ ˜’ ˆ `u hành, mà còn phai tính ca kích thuoc cua các chuong trình ban d ˙ c du tính chay. Và ’ ’ ’´’ ’ he d ˆ ˆ ¯ie ¯o ’’ ’ còn phai dành mot phan du tru không nho cho các chuong trình se cài˙d ˘ t ˙ này (không the ˙ sau ˙ ˙ ˆ’ ` ’ ’ ˜’ ˜ ¯a ˆ ˆ ’ ’’ ˙ tính rang, 700 Mbyte dành cho Linux o trong bang nói trên chı dành cho ˙ ˙ ` ’ ’’ ’ ’ tránh khoi!). Hãy ˘ ´ d có, ví du, chuong trình các chuong trình cài d ˘ t cùng voi Linux theo mac d nh, trong so ¯ó ´’ ˘ ¯i ¯a ˆ ’’ ’’ soan thao rat manh Lyx. ¯ oi voi Windows cung ˙ ’ong tu nhu vay. ˙ D´ ´ ˙ ˙ ’´ ˜ tu ’ ˆ ˆ’ ˆ ’’ ˙ ˙ ˙ ˙
nguon tai.lieu . vn