如今Linux安裝使用的人與日俱增。本人在安裝Redhat Linux5.1過程中相當順利,不曾想到Linux也有Windows 95一樣的毛病,不認光驅。對此,本人把Linux安裝好後不能讀取光盤內容的解決之道向大家介紹,期望和出現此類問題的人交流。
本人在安裝時選擇從CD-ROM安裝(絕大部分人都是采用此方法),安裝過程系統能自動檢測出光驅,順利完成文件系統安裝,最後制作一張引導Linux系統的軟盤,本人從軟盤啟動Linux。
安裝後,用制作的軟盤可重新啟動Linux操作系統。可是系統啟動後,放進光驅裡的光盤內容不能讀取,經查閱大量資料得知,如果想讀取光盤的內容,必須有兩個條件,一是啟動過程中Linux能檢測識別出光驅的類型,和Windows 95的即插即用類似;二是系統內核能識別出ISO9660文件系統,因光盤上的文件是采用ISO9660格式存放,與DOS的FAT文件系統等不同。
要判斷系統內核是否符合上述兩個條件,可用以下步驟:對條件一,在系統啟動時,會顯示探測本機硬件等初始化工作相關信息,這些信息有時顯示的很快,可在登錄後用以下命令查看:dmesg less,本人的光驅是SAMSUNGSCR-831,接在主板IDE2口上,應有下列信息:“hdc:SCR- 831,ATAPI CDROMdrive”,每個人的硬件不同,可能顯示的內容有所不同,如果沒有自己光驅類型的正確顯示,則表明條件一不滿足。對條件二,可用下列命令查看:“cat/proc/filesystems”,cat相當於DOS命令裡的type。根目錄下的子目錄proc裡的文件filesystems有表示Linux能識別的文件系統,如果沒有ISO9660一項,則表明系統不能讀出光盤內容。在對光驅操作時,一般應先用Mount命令指派(有關Mount命令可參考Linux介紹),如果條件二不滿足,在用Mount命令時提示“文件系統ISO9660內核不支持”。本人的機子就是條件一滿足,條件二不滿足,因此不能讀出光盤的內容。
條件一、二不論哪個不滿足,都要重新編譯內核。在編譯內核時還要保證內核文件頭包已經安裝,如果沒有安裝,要重新運行安裝程序,選擇升級安裝,在選擇安裝包時,把有關的內核文件頭內容的包安裝進去。安裝後重新引導系統,進行內核編譯。編譯內核時以root身份登錄操作,順序執行以下命令:
1. cd /usr/src/linux (進入/usr/src/linux目錄,執行下列命令)
2. make mrproper (預處理)
3. make menUConfig
4. make dep
5. make clean
6. make zdisk
make
menuconfig是進行相關配制內容編譯進內核的關鍵步驟,菜單化操作。其中有許多項,根據自己的硬件等條件選擇配制操作。要想系統識別光驅,在此步驟的關鍵是要選擇進符合自己光驅接口類型的項,如現在的光驅大多是IDE/ATAPI接口,操作時選擇“支持IDE/ATAPI接口”。另外關鍵的是選擇內核支持的文件系統時,要選擇支持“ISO9660”文件系統。執行make menuconfig命令後再依次執行make dep和make clean命令。最後執行make zdisk命令,此命令是根據make menuconfig命令配制的選擇,重新編譯內核支持的設備和文件系統等,並重新制作引導系統的軟盤,此命令執行大約需十多分鐘。
用新制作的軟盤重新引導系統,登錄後,用Mount命令指派光驅目錄及ISO9660文件系統,可進行對光盤內容的讀取操作。
為什麼在安裝時能讀取光盤內容?原因是安裝時運行的系統內核與安裝好後形成的系統內核不同。