如何在大硬盤(pán)上安裝 Linux
許可證:
本文引用地址:http://dyxdggzs.com/article/201610/305589.htm本文檔的發(fā)布遵循 DGPL, 任何人有權免費獲得, 閱覽,轉載和發(fā)布本文檔, 不得用于任何形式的商業(yè)用途.本文檔現在由 Rocky S. Lee 進(jìn)行維護, 任何人可以對其中存在的遺漏, 錯誤進(jìn)行修改和指正. 修改者名單將列于本文檔的作者名后.簡(jiǎn)短說(shuō)明:
本文檔的目的在于介紹如何利用 LILO (LInux LOader) 對安裝在硬盤(pán)上大于 1024 拄面 (一般來(lái)說(shuō)是在大于 8 G 的硬盤(pán)分區上) 的 Linux 系統進(jìn)行正確和安全的引導. 如果您在閱都本文檔并按照本文檔介紹的方法后引導您的Linux 系統時(shí)出了差錯或者發(fā)現本文介紹的方法有誤時(shí), 請于作者聯(lián)系.本文檔更加技術(shù)性的版本將在今后進(jìn)行發(fā)布, 關(guān)注本文檔的 Linux 用戶(hù)
可以敬請留意以下站點(diǎn):
華南木棉 BBS bbs.gznet.edu.cn
中國 Linux 論壇 www.linuxforum.net
西十八 BBS bbs.x18.scut.edu.cn
感謝 LinuxFarmer 在這篇文檔的創(chuàng )作上給予的無(wú)私幫助.
一. 問(wèn)題的提出
在 IBM 80x86 系列 PC 機中, 引導系統時(shí)對硬盤(pán)的尋址是采用的基本輸入輸出系統 (BIOS) 根據 CMOS 中存儲的硬盤(pán)參數進(jìn)行引導的. 讀取了硬盤(pán)的主引導記錄 (MBR, Main Boot Record) 后根據其內部存儲的數據或者定位到相應的分區而由該分區的引導扇區中的完成對該分區中系統的引導, 或者是直接從主引導分區中加載引導所需要的信息完成引導, 比如 LILO.
由于歷史的原因, 很多系統在引導時(shí)所使用的硬盤(pán)讀取方式仍然為舊的中斷調用 int 13h. 該中斷中對硬盤(pán)的尋址方式以三維的方式出現, 這三維分別為: 柱面, 磁頭, 磁道(CYLs, HEADs, SECs). 其中柱面號是保存在中央處理器(CPU)的 CX 寄存器的高 10 位 (bit) 中, 占用 10 個(gè)二進(jìn)制位(bit). 這樣決定了其尋址范圍只能是 0 - 1023. 隨著(zhù)現在計算機科學(xué)的發(fā)展, 硬盤(pán)容量的不斷擴大, 該中斷調用的局限也暴露出來(lái). 這就是無(wú)法使用 LILO 引導安裝在1024柱面以后的 Linux 系統.
事實(shí)上, 并非完全不能. 對硬盤(pán)的訪(fǎng)問(wèn)還可以采取另外一種形式, 就是使用線(xiàn)性地址空間, 不再使用柱面, 磁頭, 磁道的三維地址定位方式. 這也是使用 GNU / Linux 系統提供的 LILO 對安裝在硬盤(pán)任何位置的操作系統進(jìn)行引導的關(guān)鍵.
二. 對 LILO 的分析
作為一個(gè)成熟的操作系統的引導系統, LILO 當然可以采用上面所說(shuō)的兩種方式對硬盤(pán)中的系統進(jìn)行引導. 當然一般的情況是使用常見(jiàn)的三維地址空間對硬盤(pán)進(jìn)行訪(fǎng)問(wèn), 而對于一些比較特殊的系統是需要使用線(xiàn)性模式對硬盤(pán)進(jìn)行訪(fǎng)問(wèn). 這時(shí)需要在要引導的系統對應的引導記錄上加上參數, 以便 LILO 能夠做出正確的處理.
一般在進(jìn)行 Linux 系統安裝的時(shí)候, 執行到 LILO 的安裝這一步時(shí), 會(huì )問(wèn)你是否使用 linear 模式, 如果使用的話(huà), 需要填上一些參數. 而這時(shí)的系統提示是問(wèn)你是否有比較特殊的系統與 Linux 共存. 這個(gè)消息實(shí)際上迷惑了幾乎所有人. (注: 這里所說(shuō)的提示信息是 RedHat Linux 系列和一些在此基礎上進(jìn)行改進(jìn)版本的) 其實(shí)可以在這個(gè)時(shí)候加上一些特殊參數以實(shí)現一些特殊的功能.具體的什么參數對應什么功能已經(jīng)超出了本文的范圍, 你可以參考 LILO 的手冊文檔, 該文檔已經(jīng)由中國 Linux 論壇的 ZEO 翻譯成中文. 這里只對其中的一個(gè)參數感興趣, 就是硬盤(pán)的 CHS 參數.
三. 問(wèn)題的解決
如果你有一塊超過(guò) 8 G 的大硬盤(pán), 并且需要把 Linux 安裝在比較靠后的位置, 可以在安裝的時(shí)候, 選擇 linear 模式, 并且給它加上硬盤(pán)參數.安裝時(shí)候的硬盤(pán)參數可以這樣寫(xiě):
hd?=CYLs, HEADs, SECs
其中的大寫(xiě)字母需要用實(shí)際的硬盤(pán)參數來(lái)替換, 這些參數可以從硬盤(pán)的標槍上查到, 也可以看看 BIOS 設置里硬盤(pán)參數對應 LBA 模式的那一行. 問(wèn)號是根據硬盤(pán)確定的, 實(shí)際使用的時(shí)候, 它可以是 a, b, c, d 四個(gè)字母中的一個(gè). 比如:hda=1869,63,255這是 IBM 15.2G 硬盤(pán)的參數.
當然進(jìn)入了 Linux 以后, 可以通過(guò)編輯 /etc/lilo.conf 加上這個(gè)文件, 然后運行一遍 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 -----加進(jìn)了這一行
timeout = 50
image = /boot/vmlinuz
label = linux
root = /dev/hda1
initrd = /boot/initrd-2.2.12-20.img
read-only
append = hda=1869,63,255 ------加進(jìn)了這一行
修改成這樣以后, 保存, 在命令提示符下打 lilo 命令, 當再次起動(dòng) Linux系統的時(shí)候, LILO 就按照線(xiàn)性模式對系統進(jìn)行引導.除了在硬盤(pán)上尋址定位的方式不同以外, 對其他方面沒(méi)有什么影響.上面只是舉個(gè)例子, 實(shí)際上是沒(méi)有什么實(shí)用的, 但請注意, append參數是針對每個(gè)系統引導記錄的, 一定要放在 image 的下面或者是 other 的下面,這樣它才可以發(fā)揮作用.
四. 參考
LILO.CONF 中文手冊頁(yè) 中國 Linux 論壇 ZEO 翻譯
評論