歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

一步步教你如何在大硬盤上安裝 Linux


一. 問題的提出 在 IBM 80x86 系列 PC 機中, 引導系統時對硬盤的尋址是采用的基本輸入 輸出系統 (BIOS) 根據 CMOS 中存儲的硬盤參數進行引導的. 讀取了硬盤的主 引導記錄 (MBR, Main Boot Record) 後根據其內部存儲的數據或者定位到相應 的分區而由該分區的引導扇區中的完成對該分區中系統的引導, 或者是直接從 主引導分區中加載引導所需要的信息完成引導, 比如 LILO. 由於歷史的原因, 很多系統在引導時所使用的硬盤讀取方式仍然為舊的中 斷調用 int 13h. 該中斷中對硬盤的尋址方式以三維的方式出現, 這三維分別 為: 柱面, 磁頭, 磁道(CYLs, HEADs, SECs). 其中柱面號是保存在中央處理器 (CPU)的 CX 寄存器的高 10 位 (bit) 中, 占用 10 個二進制位(bit). 這樣決 定了其尋址范圍只能是 0 - 1023. 隨著現在計算機科學的發展, 硬盤容量的不 斷擴大, 該中斷調用的局限也暴露出來. 這就是無法使用 LILO 引導安裝在1024 柱面以後的 Linux 系統. 事實上, 並非完全不能. 對硬盤的訪問還可以采取另外一種形式, 就是使 用線性地址空間, 不再使用柱面, 磁頭, 磁道的三維地址定位方式. 這也是使 用 GNU / Linux 系統提供的 LILO 對安裝在硬盤任何位置的操作系統進行引導 的關鍵. 二. 對 LILO 的分析 作為一個成熟的操作系統的引導系統, LILO 當然可以采用上面所說的兩種 方式對硬盤中的系統進行引導. 當然一般的情況是使用常見的三維地址空間對 硬盤進行訪問, 而對於一些比較特殊的系統是需要使用線性模式對硬盤進行訪 問. 這時需要在要引導的系統對應的引導記錄上加上參數, 以便 LILO 能夠做 出正確的處理. 一般在進行 Linux 系統安裝的時候, 執行到 LILO 的安裝這一步時, 會問 你是否使用 linear 模式, 如果使用的話, 需要填上一些參數. 而這時的系統 提示是問你是否有比較特殊的系統與 Linux 共存. 這個消息實際上迷惑了幾乎 所有人. (注: 這裡所說的提示信息是 RedHat Linux 系列和一些在此基礎上進 行改進版本的) 其實可以在這個時候加上一些特殊參數以實現一些特殊的功能. 具體的什麼參數對應什麼功能已經超出了本文的范圍, 你可以參考 LILO 的手冊 文檔, 該文檔已經由中國 Linux 論壇的 ZEO 翻譯成中文. 這裡只對其中的一個 參數感興趣, 就是硬盤的 CHS 參數. 三. 問題的解決 如果你有一塊超過 8 G 的大硬盤, 並且需要把 Linux 安裝在比較靠後的位 置, 可以在安裝的時候, 選擇 linear 模式, 並且給它加上硬盤參數. 安裝時候的硬盤參數可以這樣寫: hd?=CYLs, HEADs, SECs 其中的大寫字母需要用實際的硬盤參數來替換, 這些參數可以從硬盤的標槍 上查到, 也可以看看 BIOS 設置裡硬盤參數對應 LBA 模式的那一行. 問號是根據 硬盤確定的, 實際使用的時候, 它可以是 a, b, c, d 四個字母中的一個. 比如: hda=1869,63,255 這是 IBM 15.2G 硬盤的參數. 當然進入了 Linux 以後, 可以通過編輯 /etc/lilo.conf 加上這個文件, 然 後運行一遍 lilo 達到同樣的目的. 下面是本人未加參數前的 lilo.conf 的內容: boot = /dev/hda map = /boot/map install = /boot/boot.b prompt timeout = 50 image = /boot/vmlinuz label = linux root = /dev/hda1 initrd = /boot/initrd-2.2.12-20.img read-only 按照 linear 方式加入參數以後是如下格式: boot = /dev/hda map = /boot/map install = /boot/boot.b prompt linear
Copyright © Linux教程網 All Rights Reserved