歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 全面了解Linux加載器

全面了解Linux加載器

日期:2017/2/27 9:36:44   编辑:更多Linux

LILO的引導機制     計算機的啟動是由BIOS控制的,在完成對硬盤配置的測試及初始化之後,便會根據指定的引導信息,尋找加載硬盤、軟盤或光盤的主引導記錄MBR(Master Boot Record)或引導扇區。只要把LILO安裝在MBR或活動分區上,就能取得引導控制權,由LILO完成各種引導過程。系統出現LILO boot:提示符後,按TAB鍵,顯示可引導選擇項列表,然後輸入選項或直接回車選擇缺省配置。       與OS/2 Boot Loader和Partition Magic引導加載程序相比,LILO的靈活性更高,其引導方式也更加豐富:       1.當LILO被安裝在MBR上時,它能引導任意硬盤任一分區上的任一操作系統。       2.如果選擇引導Linux,它還可以直接傳遞參數到系統內核。       3.能引導不同配置、不同版本的Linux內核。       4.能從網絡引導Linux系統。     LILO的配置方法     LILO的配置一般有兩種方法:命令配置和手工配置。通常情況下,在安裝Linux系統時就可以根據畫面提示完成LILO的安裝配置,從而解決多重系統的引導問題。如果對系統的分區、設備配置不是很熟悉,或不能正確理解安裝畫面的英文提示,可能無法正確安裝配置。如果安裝配置LILO失敗,也不必大驚小怪,可使用手工配置來解決。手工配置的方法是用vi編輯命令來編輯/etc目錄下的lilo.conf文本文件,然後在超級用戶下執行lilo命令,將配置信息寫入MBR即可。     常見問題及解決方法     1.系統安裝完成後重新啟動系統時,屏幕沒有任何提示。出現這種情況說明LILO沒有正確安裝到MBR。       解決方法:用軟盤啟動系統,檢查/etc/lilo.conf文件配置是否正確。如果不正確,可用vi編輯命令修改lilo.conf文件,然後再執行lilo命令將配置寫入硬盤引導區。至於配置細節,可從以下配置實例來說明。       例一.C盤為IDE接口,D盤為SCSI接口,引導文件在IDE硬盤上,根文件在SCSI硬盤上,其配置文件/etc/lilo.conf的內容為:       # lilo configuration file       boot=/dev/had(設定boot所在的位置為IDE的MBR)       delay=100(啟動一個引導的等待時間)       vga=normal(顯示模式為標准VGA)       Prompt(響應鍵盤輸入)       imgae=/vmlinuz(指定linux的核心文件)       root=/dev/sda1(指定linux所在硬盤及分區)       lable=linux(為系統起一個名字,以供引導時選擇)       read-only       other=/dev/hda1(其他可引導設備)       label=dos(其他系統為DOS)       table=/dev/had(設定DOS所在分區)       例二.C盤和D盤均為SCSI接口,引導文件在C盤上,根文件在D盤上,光驅接口為SCSI,其配置文件/etc/lilo.conf的內容為:       #lilo configuration file       boot=/dev/sha       delay=100       vga=normal       prompt       image=/vmlinuz       root=/dev/sdb1       label=linux       read-only       other=/dev/sda       label=dos       table=/dev/sda1       2.系統啟動時出現L XXXX,其中XXXX為錯誤代碼,范圍是0x00-0x80。出現這種畫面時,可察看磁盤錯誤代碼,爾後根據錯誤代碼采取相應的措施。例如錯誤代碼0x04表示扇區沒有找到,比較典型的原因是硬盤C、H、S參數(該參數可用FDISK查到)不匹配。可以重新調整硬盤參數,再執行LILO。       3.系統啟動時出現LILO後死機。出現這種情況一般有以下幾種原因:(1)硬盤C、H、S參數不匹配,重新調整硬盤參數後執行LILO;(2)使用雙SCSI硬盤,SCSI ID號設置不當,會出現系統自檢為第二硬盤,而在安裝系統時Linux認為是第一硬盤,故在系統啟動時不能正確裝入。以筆者使用的AHA2940SCSI卡為例,如果將兩塊硬盤的ID號都設置在ID7以前,就會出現上述情況。正確的設置方法是將第一塊硬盤設為ID0,第二塊硬盤設為ID8,這樣就不會出現上述情況了。       4.系統引導時能出現LILO,但在引導過程中找不到硬盤。這種情況一般是因為Linux的主分區在1024磁道以外,解決的方法是重新安裝Linux系統,將主分區調整到1024磁道以內。       5.系統中既有IDE硬盤又有SCSI硬盤,Linux的根分區建在SCSI硬盤上,有些主板在系統引導時出現LILO後死機。出現這種問題是因為系統不能確定是IDE為先還是SCSI為先,這時可在lilo.conf文件加上以下語句解決:       disk=/dev/sda       bios=0x80(指定SCSI硬盤為第一硬盤)       sectors=63       heads=255(CHS的值根據實際填寫)       cylinders=1216       disk=/dev/had       bios=0x81(指定IDE硬盤為第二硬盤)       sectors=63       heads=128(CHS的值根據實際填寫)       cylinders=821     LILO的卸載     在反復執行LILO進行引導系統地安裝過程中,要使LILO正確、可靠的安裝,每次最好對上次的安裝進行卸載。LILO的卸載方式一般有兩種,一種是DOS方式卸載,具體步驟是在DOS命令行下執行fdisk/MBR,即可將LILO卸下;第二種是在Linux系統下卸載。LILO在安裝引導扇區時,一般會在/etc目錄下保留一個原引導扇區的備份文件boot.xxyy,其中xxyy是該引導設備的主、次設備號(Major/Minor Number),Linux的各種設備均放在/dev目錄下,利用ls -l命令就可獲得各種設備的主次設備號。IDE接口硬盤的主設備號一般為03,相應的備份文件為boot.0300。SCSI硬盤的主設備號一般為08,相應的備份文件為boot.0800。使用下面的命令即可卸下IDE或SCSI硬盤的LILO:       dd if=/boot/boot.0300 of=/dev/had bs=446 count=1       dd if=/boot/boot.0800 of=/dev/sda bs=446 count=1     建立MBR的備份     為了防止引導區被破壞而無法引導系統,可建立一個MBR的備份(包括分區表),具體操作方法是:       dd if=/dev/had of=/dev/MBR bs=512 count=1     恢復MBR     當MBR被破壞,系統不能正常引導時,可用軟盤引導系統,在LILO提示符下輸入:       mount root=/dev/sda1       將Linux引導起來,爾後執行:       dd if=/boot/MBR of=/dev/had bs=446 count=1       執行以上命令恢復MBR,不包括分區表,如果要連分區表一起恢復,則讓bs=512。   






Copyright © Linux教程網 All Rights Reserved