• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            深入Linux的LILO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            二、幾個重要的LILO引導(dǎo)參數(shù)

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

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

            2.“root=”

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

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

            3.“nfsroot=”
            若需通過NFS提供根文件系統(tǒng)來引導(dǎo)無盤工作站,此參數(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ò)界面地址,如無此參數(shù),則內(nèi)核會 試圖用反向地址解析協(xié)定(RARP)或啟動協(xié)定(BOOTP)找出這些參數(shù),
            其格式為:

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

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

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

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

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

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

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


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

            12.“loader=”
            說明所使用的鏈加載程序(chain loader),缺省為/boot/chain.b,  假如不是從首硬盤或軟盤啟動,那么,此選項必須說明。

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

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

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

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

            17.“vga=”
            設(shè)置顯示模式,如80×50、132×44等。

            三、LILO典型配置方法

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

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

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

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

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

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

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


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

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

            boot=/dev/had#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硬盤上read-only
            other=/dev/hda1
            loader=/u2/etc/lilo/chain.b #指明加載程序label=dos

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

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

            posted on 2009-10-15 23:34 旅途 閱讀(548) 評論(0)  編輯 收藏 引用 所屬分類: LINUX基礎(chǔ)、管理

            久久精品成人欧美大片| 国产999精品久久久久久| 伊人久久大香线蕉综合影院首页 | 成人妇女免费播放久久久| 久久精品中文字幕久久| 国产精品综合久久第一页| 中文字幕乱码人妻无码久久| 精品久久久久久久无码 | 97精品国产97久久久久久免费 | 99久久国产亚洲综合精品| 精品久久久久久久无码| 亚洲国产成人久久综合碰| 99国产欧美精品久久久蜜芽| 欧美与黑人午夜性猛交久久久| 久久久久久毛片免费播放| 久久91精品综合国产首页| 国产成人精品久久一区二区三区| 伊人精品久久久久7777| 久久国产精品免费一区| 丁香五月网久久综合| 囯产精品久久久久久久久蜜桃 | 久久久久97国产精华液好用吗| 青青草原精品99久久精品66 | www性久久久com| 久久亚洲中文字幕精品一区| 久久精品国产只有精品66 | 色播久久人人爽人人爽人人片aV| 九九99精品久久久久久| 久久久久久国产精品无码超碰| 亚洲精品无码久久毛片| 久久伊人色| 思思久久99热免费精品6| 精品久久久久久无码国产 | 伊人久久综合无码成人网 | 久久99国产综合精品女同| 精产国品久久一二三产区区别| 久久亚洲AV永久无码精品| 青青久久精品国产免费看| 伊人色综合九久久天天蜜桃| 性做久久久久久久久老女人| 亚洲国产成人久久综合野外|