對LILO還有個很有名的問題: Linux的根文件系統不能超出1024柱面,否則LILO可能不能正確 讀出boot.b或內核.其實很多操作系統都有類似的問題。解決辦法是在跺死/瘟都死下使用loadlin .exe/load95來代替LILO,或者做個啟動軟盤,或者把Linux的根文件系統分配得靠前一些,LILO一旦 讀出內核後,內核不使用BIOS操作硬盤,將不再存在1024問題.專業的做法是:專門為根文件系統分配 一個64M左右的分區(當然全部在1024以前), 然後為/usr,/var,/home等(視情況而定)分配分區(獨立 的文件系統). 在我整理這個FAQ時,我自己還遇到了以前未提到的問題.先描述一下背景: 我的計算機采用了華碩雙CPU BX主板P2B-DS,集成了Adaptec AIC-7890 SCSI卡,那時候Linux 還不支持這種卡,只好找個IDE硬盤來裝了Redhat 5.1,過了一段時間在suse的主頁上找到一個補丁, 內核升級到2.0.35並打上這個patch,就認這個卡了,於是我開始琢磨用自己編譯的內核來代替RH啟 動盤上的內核,但我怎麼精簡內核配置,編譯出來的內核(用make bzImage)總比啟動盤上的大,後來 有個網友告訴我在FTP.dialnet.net/pub/linux/aic78xx下已經有了最新的啟動盤,於是下載了一個,原來它把aic-78xx編譯成一個模塊放在initrd.img裡.我用這個啟動盤把RH5.1裝到SCSI硬盤上(9.1G), 安裝時我小心翼翼地設定Linux根文件系統全在1024柱面以內,並選擇了Linear模式,重新啟動,出現 "L"後再也不動彈.於是想去掉linear參數看看: 進入BIOS設置IDE設備先於SCSI設備,啟動IDE硬盤上的Linux,把自己編譯的內核拷貝到SCSI硬盤上的Linux分區上,在/etc/lilo.conf裡加上SCSI上的Linux 啟動項: image=/boot/bzImage root=/dev/sda4 label=newlinux 運行一遍lilo,然後就可以從IDE上的LILO啟動SCSI上的Linux了.進去修改/etc/lilo.conf,去掉linear 參數,運行lilo,顯示倒是正常.重新啟動並把SCSI設備設為先於IDE設備,啟動後顯示 L 04 04 04 04 ...... 04反復循環. 哈哈,很多網友提到的問題都讓我遇到了! 沒有辦法,先去看看/usr/doc/lilo-0.2/README,04表示LILO不能正確認識硬盤的物理參數(CHS),怎麼回事? 從IDE上LILO不是能正常工作嗎?再仔細讀讀,哈! 原來LILO還有個問題: 當系統裡既有IDE硬盤又有SCSI硬盤時,LILO並不知道BIOS裡設的是IDE先還是 SCSI先,於是讀硬盤的CHS參數時會亂套. 決定在/etc/lilo.conf裡加上: disk=/dev/sda bios=0x80