本節旨在說明使用 GRUB 啟動之基本原則和 GRUB 功能表。
安裝 Solaris 作業系統時,預設會在系統上安裝兩個 GRUB 功能表項目。第一個項目是 Solaris 作業系統項目。第二個項目是故障安全防護啟動歸檔,用在系統回復上。Solaris GRUB 功能表項目會做為 Solaris 軟體安裝與升級程序的一部分自動安裝與更新。這些項目由作業系統直接管理,無法手動進行編輯。
在標準 Solaris 作業系統安裝期間,會在 Solaris fdisk 分割區上安裝 GRUB,而不會修改系統 BIOS 設定。如果作業系統不在 BIOS 啟動磁碟上,就必須執行下列動作之一:
修改 BIOS 設定。
使用啟動管理員啟動 Solaris 分割區。如需更多詳細資訊,請參閱啟動管理員。
比較好的方法是在啟動磁碟上安裝 Solaris 作業系統。一部機器上若是安裝了多個作業系統,可以將項目增加到 menu.lst 檔案中。這些項目會接著在您下次啟動系統時,顯示在 GRUB 功能表中。
如需有關多個作業系統的額外資訊,請參閱「System Administration Guide: Basic Administration」中的「How Multiple Operating Systems Are Supported in the GRUB Boot Environment」。
執行使用 GRUB 的網路啟動需要針對 PXE 用戶端配置的 DHCP 伺服器,以及提供 tftp 服務的安裝伺服器。DHCP 伺服器必須能夠回應 DHCP 類別 PXEClient 和 GRUBClient。DHCP 回應必須包含下列資訊:
檔案伺服器的 IP 位址
啟動檔案的名稱 (pxegrub)
伺服器端通常需要 rpc.bootparamd 來執行網路啟動,如果是使用 GRUB 的網路啟動則不需要。
如果沒有 PXE 或 DHCP 伺服器,可以從 CD-ROM 或本機磁碟下載 GRUB。接著,您可以手動配置 GRUB 中的網路,並從檔案伺服器下載多重啟動程式和啟動歸檔。
如需更多資訊,請參閱x86: 藉由 PXE 從網路啟動與安裝之簡介。
啟動基於 x86 的系統時,會顯示 GRUB 功能表。此功能表提供啟動項目清單,以從中進行選擇。啟動項目是系統上所安裝之作業系統實例。GRUB 功能表的基礎是 menu.lst 檔案,而此檔案是配置檔。menu.lst 檔案由 Solaris 安裝程式所建立,並可在安裝後進行修改。menu.lst 檔案指定 GRUB 功能表上所顯示的作業系統實例清單。
如果安裝或升級 Solaris 作業系統,便會自動更新 GRUB 功能表。Solaris 作業系統會接著顯示為新的啟動項目。
如果您安裝的作業系統不是 Solaris 作業系統,則必須修改 menu.lst 配置檔,以納入新的作業系統實例。增加作業系統實例可讓新的啟動項目在下次啟動系統時,出現在 GRUB 功能表中。
在下列範例中,GRUB 主功能表會顯示 Solaris 和 Microsoft Windows 作業系統。也會列出名為 second_disk 的 Solaris Live Upgrade 啟動環境。請參閱以下對每個功能表項目的說明。
GNU GRUB version 0.95 (616K lower / 4127168K upper memory) +-------------------------------------------------------------------+ |Solaris | |Solaris failsafe | |second_disk | |second_disk failsafe | |Windows | +-------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
指定 Solaris 作業系統。
指定 Solaris 作業系統損毀時用來回復的啟動歸檔。
指定 Solaris Live Upgrade 的啟動環境。已建立 second_disk 啟動環境做為 Solaris 作業系統的副本。並使用 luactivate 指令升級與啟動。啟動環境可供啟動使用。
指定 Microsoft Windows 作業系統。GRUB 會偵測這些分割區,但不會驗證是否可啟動作業系統。
GRUB menu.lst 檔案會列出 GRUB 主功能表的內容。GRUB 主功能表會列出系統上所安裝之所有作業系統實例的啟動項目,包括 Solaris Live Upgrade 啟動環境。Solaris 軟體升級程序會保留對此檔案所做的任何變更。
GRUB 主功能表會顯示對 menu.lst 檔案所做的任何修訂,還會顯示 Solaris Live Upgrade 項目。對此檔案所做的任何變更會在下次系統重新啟動時生效。因下列原因您可以修改此檔案:
為 Solaris 以外的作業系統增加到 GRUB 功能表項目
自訂啟動運作方式,例如在 GRUB 功能表上指定預設的作業系統
請勿使用 GRUB menu.lst 檔案修改 Solaris Live Upgrade 項目。修改可能會造成 Solaris Live Upgrade 失敗。
雖然您可以使用 menu.lst 檔案自訂啟動運作方式,例如使用核心除錯程式啟動,但是比較好的自訂方法是使用 eeprom 指令。如果您使用 menu.lst 檔案進行自訂,即可能會在軟體升級期間修改 Solaris 作業系統項目。因此,對檔案所做的變更可能會遺失。
如需有關如何使用 eeprom 指令的資訊,請參閱「System Administration Guide: Basic Administration」中的「How to Set Solaris Boot Parameters by Using the eeprom Command」。
以下是 menu.lst 檔案的範例:
default 0 timeout 10 title Solaris root (hd0,0,a) kernel /platform/i86pc/multiboot -B console=ttya module /platform/i86pc/boot_archive title Solaris failsafe root (hd0,0,a) kernel /boot/multiboot -B console=ttya -s module /boot/x86.miniroot.safe #----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT ----- title second_disk root (hd0,1,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title second_disk failsafe root (hd0,1,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #----- second_disk -------------- END LIVE UPGRADE ------------ title Windows root (hd0,0) chainloader -1 |
指定逾時過期時要啟動哪個項目。若要變更預設值,可以變更數字以指定清單中的另一項目。第一個標題的計數從零開始。例如,將預設值變更為 2,以自動啟動為 second_disk 啟動環境。
指定啟動預設項目之前等待使用者輸入的時間(秒)。如果沒有指定逾時,就必須選擇一個項目。
指定作業系統名稱。
如果是 Solaris Live Upgrade 啟動環境,作業系統名稱會是您在建立新的啟動環境時所指定的名稱。在前述範例中,Solaris Live Upgrade 啟動環境被命名為 second_disk。
如果是故障安全防護啟動歸檔,此啟動歸檔會在主作業系統損毀時用以進行回復。在前述範例中,Solaris 故障安全防護和 second_disk 故障安全防護是 Solaris 和 second_disk 作業系統的回復啟動歸檔。
指定檔案要載入哪個磁碟、分割區和磁碟片段。GRUB 會自動偵測檔案系統類型。
指定多重啟動程式。核心指令之後必須跟著多重啟動程式。多重啟動之後的字串會傳遞到 Solaris 作業系統,而不會進行解譯。
如需多重作業系統的完整說明,請參閱「System Administration Guide: Basic Administration」中的「How Multiple Operating Systems Are Supported in the GRUB Boot Environment」。
必須一律使用 bootadm 指令來尋找 GRUB 功能表的 menu.lst 檔案。list-menu 子指令會尋找使用中的 GRUB 功能表。menu.lst 檔案會列出系統上所安裝之所有作業系統的清單。此檔案內容指定 GRUB 功能表上會顯示的作業系統清單。若要變更此檔案,請參閱x86: 尋找 GRUB 功能表的 menu.lst 檔案 (作業)。