在這篇技巧文章中,我們使用 Red Hat 的一個老版本,因為我們曾嘗試構建與客戶完全相同的系統。因此,這裡使用的 Red Hat 版本是幾年前的,並且使用較早的 2.2 內核。較新的 Linux 內核處理多引導的方式有所不同。出於安全性原因,在任何情況下,您應盡可能升級到較新的 Linux 2.4(.x) 內核版本,則這樣做是明智的。另外,現在大多數 Linux 安裝都提供 GRUB 來替換 LILO 或作為對它的補充。這一特性提供了處理 Linux 多引導功能的更先進方法。這樣,如果您正在使用不用 LILO 的較新版本,則下列技巧可能不會十分有用 ― 但是如果您的版本使用 LILO,則它是不可缺少的。
Red Hat 雙引導:安裝指令
當您准備開始本過程時,首先關閉系統,然後重新啟動它。接著將 Red Hat Linux CD 放入驅動器。
Red Hat Linux 安裝例程將指導您完成一個很簡單的安裝過程。您將必須完成一些基本的系統配置,如選擇缺省語言以及鍵盤類型等。輸入正確的信息,直到出現“Partitions”屏幕。
當該屏幕出現時,單擊“add”按鈕,然後選擇“Linux Native”作為操作系統的類型。對於“size”,輸入 16(兆字節),然後選擇 /boot 作為分區類型。下面給出了其余的配置,並且對於特定分區,可以通過重復上面的指令來完成配置。
/boot sda1 16M Linux native
/ sda5 1024M Linux native
swap sda6 256M Linux swap
/var sda7 200M Linux native
/tmp sda8 200M Linux native
請注意,這些目錄位置是針對 SCSI 驅動器的。對於 IDE 驅動器,只要簡單地用 h 替換 sdal 中的 s(讓您的 hda1 作為 /boot 驅動器,讓 hda5 作為 root 驅動器等)。
還請注意,上面使用的大小適合於我們的硬件 ― 它們並不是強制性的。您可以靈活地選擇適合您硬件的任何大小,特別是因為當前較新的硬件可以支持各種配置。但是,您並不要將太多空間分配給“/boot” 分區,因為大部分空間將最終被浪費 ― 在最新的硬件上,您將可能想要一個比我們的引導分區還小的引導區。同樣,對於其它分區可以使用其它大小。
安裝標記 2
現在,您准備安裝 Linux 內核的第二個實例了。遵循下列簡單原則:
再次將 lilo 安裝在主引導記錄(Master Boot Record (MBR))上 使用線性方式(對於 SCSI 驅動器嚴格需要) 使幾個內核參數保持為空初始安裝分區應該仍然標記為“Not Set”。將它們保留為 Not Set,然後通過單擊“add”並按照上面指定的那樣安裝以添加 5 個新的分區。只需要一直 添加新分區,不需要刪除或編輯以前安裝的分區。
其余安裝保持不變。可以使用您喜愛的任何名稱(我們使用 linux2)。但是,如果標號有多個字,請確保用引號將它們括起來(即,如果想保留空格,請使用“Linux 2”)。當然,請確保使用與第一個不同的名稱來標記第二個安裝。
安裝之後,系統重新引導並出現提示。按 Tab 鍵:這會顯示第二個 Linux 安裝的標號。輸入“linux2”(或者您為第二個映象起的任何名稱),然後按 Enter,這將調出您剛安裝的第二個 Linux 系統。
編輯 lilo.conf
接下來,我們將編輯 LILO(Linux 裝入器)配置文件 lilo.conf,以添加一個記錄告訴 Linux 關於我們完成的第一個安裝的信息。
要做到這一點,轉至 /etc 目錄然後用您喜歡的編輯器打開 lilo.conf 文件(您可能想首先建立一個備份副本,只是為以防萬一)。lilo.conf 代碼類似於:
boot=/dev/sda #this points to the boot device
timeout=300 #if no activity in the specified time, load default image
linear
prompt
Default="Linux2" #Linux1 will be displayed at the prompt
Vga=normal #video mode
read-only
map=/boot/map
Install=/boot/boot.b
image=/boot/vmlinuz=2.2.14-5.0 #location of boot image
Label="Linux2" #label
initrd=/boot/initrd-2.2.14-5.0
Root=/dev/sda10 #location of root partition
注:計算機忽略注釋(由 # 或者井號開頭)。這裡包含它們以便您能正確了解每一行的用途 ― 不必在您系統上的 lilo.conf 文件中包含這些注釋,除非想保留它們以供參考。
同樣,如果使用 IDE 驅動器,記住使用 hda 來替換 sda。
配置 LILO 的另一種方法
這裡是一種編輯 lilo.conf 文件的替代方法。
打開一個終端窗口,然後轉至“/root”目錄並輸入 linuxconf 。這會把您帶到 Linux 命令窗口,在那您可以配置系統。 向下滾動直到 Boot mode。在“boot mode”下,您應該看見配置 LILO 的選項。選擇菜單上的第二項“Configure LILO Linux configurations”,然後單擊“LILO Linux configurations”選項卡。 單擊“Add”。然後可以添加其它 Linux 引導分區和內核文件的位置。如果不確定要在每個字段添加什麼信息,在輸入前,請查看已經列出的內容。看一下上面的 lilo.conf 文件,您會注意到它屬於標號為 linux2 的 Linux 安裝,即,安裝過程期間我們安裝的第二個。現在,要使 LILO 雙引導安裝在 /sda5(對於 IDE 驅動器是 /hda5)分區上的第一個 Linux 實例,則緊接著最後一行添加下列內容:
image=/boot/vmlinuz=2.2.14-5.0
label="Linux1"
initrd=/boot/initrd-2.2.14-5.0
root=/dev/sda5
因此,編輯以上代碼之後,最終的文件應該類似於:
boot=/dev/sda
timeout=300
linear
prompt
default="Linux2"
vga=normal
read-only
map=/boot/map
install=/boot/boot.b
image=/boot/vmlinuz=2.2.14-5.0
label="Linux2"
initrd=/boot/initrd-2.2.14-5.0
root=/dev/sda10
image=/boot/vmlinuz=2.2.14-5.0
label="Linux1"
initrd=/boot/initrd-2.2.14-5.0
root=/dev/sda5
請確保如以上最後一行所完成的那樣指定 root 路徑,― 這一點非常重要。還要確保列出您在安裝期間使用的標號。
現在保存文件,然後在提示符上處輸入命令 lilo 。這將重新編譯該文件,然後保存更新的配置。
注意:image/kernel 對於這兩個安裝是相同的(/boot/vmlinuz=2.2.14-5.0)。由於我們正在進行的是完全相同的系統的雙引導,正在從同一張 CD 上安裝,所以有相同的映象文件。如果正在安裝不同的發行版,則這些文件將會不同。
現在我們快要完成了。接下來,您想從終端發出重新引導命令: shutdown -r now 。當計算機重新啟動時,出現 LILO 提示。按 Tab 鍵,您會看到:
Linux2Linux1
Boot:_
在 boot 提示符上,輸入 Linux1 以引導進我們完成的第一個 Linux 安裝。引導起來後,需要進入 其lilo.conf 文件 ― 這與我們剛為第二個映象編輯的配置文件非常相似,唯一的區別是缺省映象是 /sda5(如果有 IDE 驅動器,則為 /hda5),帶有標號“linux1”。我們將象對待另一個文件一樣編輯這個文件,在結尾處添加下列行:
image=/boot/vmlinuz=2.2.14-5.0
label="Linux2"
initrd=/boot/initrd-2.2.14-5.0
root=/dev/sda10
這樣,整個文件的代碼將類似於:
boot=/dev/sda
timeout=300
linear
prompt
default="Linux1"
vga=normal
read-only
map=/boot/map
install=/boot/boot.b
image=/boot/vmlinuz=2.2.14-5.0
label="Linux1"
initrd=/boot/initrd-2.2.14-5.0
root=/dev/sda5
image=/boot/vmlinuz=2.2.14-5.0
label="Linux2"
initrd=/boot/initrd-2.2.14-5.0
root=/dev/sda10
保存該文件,然後通過在命令提示符上輸入 lilo 來重新編譯它。再次發出重新引導命令;系統啟動後,還會提示您選擇 LINUX 引導。這次按下 Tab 鍵時,您將看到以下列表:
LINUX BOOT:
Linux1Linux2
Boot:_
這就完成了!您剛構建了一個雙引導 Red Hat Linux 系統。要在不同分區上安裝任意多的映象或者安裝應用程序軟件的不同版本(正如我們對 WebSphere Application Server 和 DB2 所做的那樣),現在這對您來說已經是小菜一碟了。