亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 693 | 回復(fù): 0
打印 上一主題 下一主題

面瓜學(xué)linux——深入Linux的LILO【z】 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2003-05-14 10:24 |只看該作者 |倒序?yàn)g覽
深入Linux的LILO

  Linux的引導(dǎo)可以采用多種方式,其加載器LILO(Linux Loader)
是一個(gè)靈活的引導(dǎo)加載程序,與其他常用的引導(dǎo)加載程序相比,LILO
引導(dǎo)方式顯得更具有藝術(shù)性,對(duì)其深入的理解,將有助于我們方便地
處理多重系統(tǒng)、網(wǎng)絡(luò)引導(dǎo)、大硬盤(pán)及大內(nèi)存等諸多棘手的問(wèn)題。

  一、LILO的引導(dǎo)機(jī)制

  眾所周知,計(jì)算機(jī)的最初啟動(dòng)是由BIOS控制的,在對(duì)一些硬件
(如:內(nèi)存、鍵盤(pán)等)初始化之后,它會(huì)試圖加載硬盤(pán)的主引導(dǎo)記錄
(MBR)或軟盤(pán)的引導(dǎo)扇區(qū)。

  MBR可通過(guò)兩種方式運(yùn)行,其一是定位到活動(dòng)分區(qū)并加載相應(yīng)的
引導(dǎo)扇區(qū),然后由引導(dǎo)扇區(qū)完成該分區(qū)內(nèi)操作系統(tǒng)的基本組件的加載
;其二是直接從一指定分區(qū)中加載信息,并通過(guò)它裝入任一分區(qū)的操
作系統(tǒng),諸如LILO、OS/2 boot loader及Partition Magic等引導(dǎo)加載
程序都可以配置成這種方式。

  軟盤(pán)的引導(dǎo)扇區(qū)相當(dāng)于硬盤(pán)活動(dòng)分區(qū)的引導(dǎo)扇區(qū),它通常用于裝
入軟盤(pán)上的操作系統(tǒng)。

  由此可見(jiàn),只要把LILO安裝在MBR、活動(dòng)分區(qū)或者引導(dǎo)軟盤(pán)上,
就能接管計(jì)算機(jī)的控制權(quán),然后由LILO完成后繼的引導(dǎo)過(guò)程。LILO中
建有一個(gè)引導(dǎo)表地址編碼,借此它的引導(dǎo)程序就能定位到Linux的內(nèi)
核文件,這種地址編碼既可以按照柱面/磁頭/扇區(qū)(CHS)模式,又可
以采用LBA的線性塊號(hào)模式,因此,即使對(duì)某些SCSI控制程序LILO也
能運(yùn)轉(zhuǎn)良好。

  當(dāng)LILO定位到配置文件后,經(jīng)過(guò)預(yù)引導(dǎo)過(guò)程,就顯示提示符:
  LILO boot:

  此時(shí),系統(tǒng)允許選擇引導(dǎo)不同的操作系統(tǒng)或者不同的內(nèi)核配置,
按Tab鍵顯示可選項(xiàng)列表,然后輸入可選項(xiàng)或者直接回車(chē)選擇缺省配
置,如果選擇了引導(dǎo)Linux,還可以直接傳遞參數(shù)到系統(tǒng)內(nèi)核。

  和其他系統(tǒng)的引導(dǎo)加載程序相比,LILO具有更大的靈活性,其引
導(dǎo)方式也更豐富多彩。

  ●當(dāng)LILO被安裝在硬盤(pán)的MBR、活動(dòng)分區(qū)或引導(dǎo)軟盤(pán)上時(shí),作為
原引導(dǎo)程序的替身,它能引導(dǎo)任一硬盤(pán)任一分區(qū)上的Linux和其他操
作系統(tǒng);

  ●除了引導(dǎo)扇區(qū),它沒(méi)有任何隱含文件,也不需要使用特定的分
區(qū),它的配置文件可以在任何分區(qū)、甚至是存放在與Linux毫不相干
的DOS分區(qū)的某個(gè)子目錄下;

  ●它能引導(dǎo)幾個(gè)不同的內(nèi)核配置,甚至是幾個(gè)不同的內(nèi)核;

  ●它能引導(dǎo)同一機(jī)程序上的多個(gè)Linux版本;

  ●它能從網(wǎng)絡(luò)上引導(dǎo)Linux。

  LILO的靈活性使得其配置變得相當(dāng)復(fù)雜,當(dāng)有多個(gè)系統(tǒng)共存時(shí),
建議先安裝其他操作系統(tǒng),最后再裝Linux,這樣,設(shè)置LILO對(duì)其他
系統(tǒng)的引導(dǎo)會(huì)相對(duì)簡(jiǎn)單一些。
  
  二、幾個(gè)重要的LILO引導(dǎo)參數(shù)

  LILO的引導(dǎo)參數(shù)有很多,在此只對(duì)一些比較重要的參數(shù)作一介紹
。
  1.“boot=”

  此參數(shù)指明包含引導(dǎo)扇區(qū)的設(shè)備名(如:/dev/had),若此項(xiàng)忽
略,則從當(dāng)前的根分區(qū)中讀取引導(dǎo)扇區(qū)。

  2.“root=”

  此參數(shù)告訴內(nèi)核啟動(dòng)時(shí)以哪個(gè)設(shè)備作為根文件系統(tǒng)使用,其設(shè)定
值為構(gòu)造內(nèi)核時(shí)根文件系統(tǒng)的設(shè)備名,可用的設(shè)備名有:

  (1)/dev/hdaN~/dev/hddN:ST-506兼容硬盤(pán),a到d上的N個(gè)分區(qū)
  (2)/dev/sdaN~/dev/sdeN:SCSI兼容硬盤(pán),a到e上的N個(gè)分區(qū)
  (3)/dev/xdaN~/dev/xdbN:XT兼容硬盤(pán),a到b上的N個(gè)分區(qū)
  (4)/dev/fdN:軟盤(pán),A:(N=0)或B:(N=1)
  (5)/dev/nfs:由網(wǎng)絡(luò)取得根文件系統(tǒng)的標(biāo)志

  3.“nfsroot=”
  若需通過(guò)NFS提供根文件系統(tǒng)來(lái)引導(dǎo)無(wú)盤(pán)工作站,此參數(shù)為內(nèi)核
指定了網(wǎng)絡(luò)根文件系統(tǒng)所在的機(jī)程序、目錄及NFS,其格式為:nfsroot=
(〈server_ip〉:)〈root_dir〉(,nfs_options〉)

  4.“nfsaddrs=”
  設(shè)定網(wǎng)絡(luò)通訊所需的各種網(wǎng)絡(luò)界面地址,如無(wú)此參數(shù),則內(nèi)核會(huì)
試圖用反向地址解析協(xié)定(RARP)或啟動(dòng)協(xié)定(BOOTP)找出這些參數(shù),
其格式為:

  nfsaddrs=〈客戶(hù)端IP〉:〈服務(wù)端IP〉:〈網(wǎng)關(guān)IP〉:〈子網(wǎng)屏蔽〉:
〈客戶(hù)端名稱(chēng)〉:〈網(wǎng)絡(luò)設(shè)備名 〉:〈auto〉

  5.“image=”
  指定Linux的內(nèi)核文件。

  6.“delay=”
  設(shè)定引導(dǎo)第一個(gè)映像前的等待時(shí)間。

  7.“disk=”
  此參數(shù)為某一特殊的硬盤(pán)定義非標(biāo)準(zhǔn)參數(shù)。

  8.“append=”
  為內(nèi)核傳遞一個(gè)可選的參數(shù)行,其典型的應(yīng)用是為不能完全由系
統(tǒng)自動(dòng)識(shí)別的硬盤(pán)指定參數(shù),如:append = \"hd=64,32,202\"

  9.“l(fā)abel=”
  此參數(shù)為每個(gè)映像指定一個(gè)名字,以供引導(dǎo)時(shí)選擇。

  10.“read-only”
  設(shè)定以只讀方式掛入根文件系統(tǒng),用于文件系統(tǒng)一致性檢查(fsck)
。

  11.“install=”
  安裝一個(gè)指定文件作為新的引導(dǎo)扇區(qū),缺省為/boot/boot.b。

  12.“l(fā)oader=”
  說(shuō)明所使用的鏈加載程序(chain loader),缺省為/boot/chain.b,
如果不是從首硬盤(pán)或軟盤(pán)啟動(dòng),那么,此選項(xiàng)必須說(shuō)明。

  13.“table=”
  說(shuō)明包含分區(qū)表的設(shè)備名,如果此參數(shù)忽略,引導(dǎo)加載程序?qū)⒉?br /> 能傳遞分區(qū)信息到已引導(dǎo)的操作系統(tǒng)。當(dāng)此參數(shù)指向的分區(qū)表被修改
時(shí),必須重新運(yùn)行/sbin/lilo。

  14.“init=”
  內(nèi)核初始化時(shí)執(zhí)行的程序,通常過(guò)程為init、getty、rc和sh,
版本1.3.43以來(lái)的Linux內(nèi)核能夠執(zhí)行/sbin/init說(shuō)明的命令行,若
在引導(dǎo)過(guò)程中出現(xiàn)問(wèn)題,則可設(shè)置init=/bin/sh直接跳到Shell。

  15.“ramdisk_start=”
  由于內(nèi)核不能放在壓縮的內(nèi)存文件系統(tǒng)映像內(nèi),為使內(nèi)核映像能
夠和壓縮的內(nèi)存映像放在一張軟盤(pán)內(nèi),加入“ramdisk_start=〈offset〉”,這樣內(nèi)核才?
開(kāi)始執(zhí)行。

  16.“mem=”
  此參數(shù)的目的之一是為L(zhǎng)inux指定使用的內(nèi)存數(shù)量:如mem=96MB,
目的之二是指定mem=nopentium告訴內(nèi)核不要使用4MB分頁(yè)表。

  17.“vga=”
  設(shè)置顯示模式,如80×50、132×44等。
  
  三、LILO典型配置方法

  通常情況下,Linux的安裝程序自身就可以完成LILO的安裝配置,
從而較好地解決多重系統(tǒng)的引導(dǎo)問(wèn)題,如果系統(tǒng)不能自動(dòng)完成這種配
置,則可以通過(guò)手工修改配置文件/etc/lilo.conf來(lái)實(shí)現(xiàn)不同條件下
的引導(dǎo)。

  1.當(dāng)系統(tǒng)能自動(dòng)完成配置時(shí)

  對(duì)于這種情況只有一個(gè)建議:將LILO安裝到Linux分區(qū)的根上,
而不是MBR這個(gè)多事地帶。假設(shè)當(dāng)前hda1中裝有DOS/Windows,hda2中
安裝了Linux,則/etc/lilo.conf的內(nèi)容大致如下:

  boot=/dev/hda2#指定引導(dǎo)位置
compact delay=50#延時(shí)5秒
root=current#根在當(dāng)前分區(qū)
image=/boot/vmlinuz#指定linux的內(nèi)核文件
  label=linux#用linux為代表名稱(chēng) 
other=/dev/hda1#其他操作系統(tǒng)所在的分區(qū)
table=/dev/hda#指定包含分區(qū)表的硬盤(pán)
label=dos#用dos為代表名稱(chēng)

  2.當(dāng)系統(tǒng)無(wú)法自動(dòng)完成配置時(shí)

  系統(tǒng)無(wú)法自動(dòng)完成配置的情況不外乎兩種:
  (1)BIOS不能直接看到Linux的根分區(qū);
 。2)BIOS只能讀寫(xiě)標(biāo)準(zhǔn)IDE硬盤(pán)的前504MB。

  這時(shí),必須遵循一個(gè)最基本的原則:建立一個(gè)BIOS能存取的較小
的Linux分區(qū),其中包含內(nèi)核文件、映射文件及鏈加載程序等必要內(nèi)
容,而根則可以是另外一個(gè)獨(dú)立的分區(qū)。至于配置上的其他細(xì)節(jié),我
們通過(guò)以下實(shí)例來(lái)進(jìn)行說(shuō)明。


  例1:主硬盤(pán)為IDE接口,第二硬盤(pán)為SCSI接口,根文件在SCSI
上。

  對(duì)策:在IDE硬盤(pán)上劃分一個(gè)較小的Linux分區(qū)(/dev/hda2),
其中包含基本文件,掛接到/u2下,其配置文件/etc/lilo.conf的主
要內(nèi)容為:

  boot=/dev/hda#lilo裝在主ide的mbr
install=/u2/etc/lilo/boot.b#從boot.b安裝lilo引導(dǎo)記錄
map=/u2/etc/lilo/map#安裝程序建立此映射文件,告訴引導(dǎo)載入程序內(nèi)核塊的位置
compact
timeout=50
image=/u2/vmlinuz #內(nèi)核文件應(yīng)事先拷貝到/u2下
label=linux
root=/dev/sda1#告訴內(nèi)核根系統(tǒng)在scsi硬盤(pán)上read-only
other=/dev/hda1
loader=/u2/etc/lilo/chain.b #指明加載程序label=dos

  例2:一個(gè)標(biāo)準(zhǔn)的IDE大硬盤(pán)需安裝Linux和DOS/Windows。
  對(duì)于大硬盤(pán)問(wèn)題,很多人只知道低于1024個(gè)柱面的限制,而不知
為什么標(biāo)準(zhǔn)的IDE硬盤(pán)只能認(rèn)前504MB。

  其實(shí),BIOS的int13調(diào)用是采用三個(gè)位元組的CHS編碼,10位為柱
面號(hào),8位為磁頭號(hào),6位為扇區(qū)號(hào)?赡艿闹嫣(hào)碼是0~1023,可
能的磁頭號(hào)碼是0~255,而磁道上可能的扇區(qū)號(hào)碼是1~63,以這24
位最多可以定址8455716864個(gè)位元組(7.875GB)。

  但不幸的是,標(biāo)準(zhǔn)的IDE介面容許256個(gè)扇區(qū)/磁道、65536個(gè)柱
面及16個(gè)磁頭。它自己本身可以存取237= 137438953472(128 GB),
但是加上BIOS方面63個(gè)扇區(qū)與1024個(gè)柱面的限制后只剩528482304(504
MB)可以定址得到。

  對(duì)策:在硬盤(pán)的前500MB中劃分350MB(/dev/hda1)給DOS,150MB(/dev/hda2)給Linux,
相應(yīng)的配置文件中應(yīng)說(shuō)明硬盤(pán)的參數(shù)。
  boot=/dev/hda
  ... ...
  disk=/dev/hda
  bios=0x80
  sectors=63
  heads=16
  cylinders=2100
  image=/vmlinuz
  append=\"hd=2100,16,23\"
  root=/dev/hda2
  label=linux

  四、LILO的卸載

  當(dāng)LILO覆蓋了引導(dǎo)扇區(qū)時(shí),它會(huì)保留一個(gè)引導(dǎo)扇區(qū)的備份在/boot/boot.xxyy中,其中
xyy是16進(jìn)制的設(shè)備主/次號(hào)碼
(major/minor numbers),利用命令“l(fā)s -l /dev/device”就可
獲得硬盤(pán)或分區(qū)的主/次號(hào)碼。如果這些備份文件已經(jīng)存在,那么,當(dāng)你重新安裝LILO或?
構(gòu)內(nèi)核時(shí),它將不再生成此文件,這就保證了此備份文件是最原始的引導(dǎo)扇區(qū)。

  若要卸載LILO,你只需恢復(fù)初始的引導(dǎo)扇區(qū)就可以了。例如:LILO
安裝在/dev/had,對(duì)應(yīng)的備份文件為/boot/boot.0300,簡(jiǎn)單地使用
下面的命令即可:

  dd if=/boot/boot.0300 of=/dev/had bs=446 count=1

  當(dāng)然,若想完全卸掉Linux,必須用Linux的fdisk對(duì)Linux分區(qū)進(jìn)
行破壞,因?yàn)镈OS的fdisk無(wú)法移去非DOS分區(qū)。

  關(guān)于LILO值得探討的問(wèn)題還有很多,但只要懂得了其內(nèi)部機(jī)制,
對(duì)更復(fù)雜的實(shí)際情況也能較圓滿地解決.
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP