查看單個文章
舊 2006-08-19, 12:41 PM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

  三、GRUB的接頭

  GRUB主要有三個強大的接頭,它們提供了不同級別的功能。每個接頭都允許用戶啟始操作系統,甚至可以在處於GRUB環境下的接頭之間移動。

  表菜單接頭

  如果GRUB是由Red Hat Linux的安裝程式自動配置的,那麼它預定的顯示接頭是表菜單接頭。在系統第一次啟動後,一個操作系統或內核的表菜單(事先已經用它們各自的啟始命令配置好)將一個按名稱排列的列表儲存在這個接頭中。使用箭頭鍵選擇一個非預定選項,然後按Enter鍵鍵來啟始它。如果不是這樣,一個記時器可能已經被設置,那麼GRUB將啟動裝載那個預定的選項。

  在表菜單接頭上,按[e]鍵,對高亮表菜單項中的命令進行編輯。按[c]鍵載入一個命令行接頭。

  表菜單專案編輯器接頭

  在啟始裝載表菜單中按[e]鍵,就進入了表菜單專案編輯器。用於專案的GRUB命令就顯示在這裡。在啟始操作系統前,用戶可以更改這些命令,新增(加在當前行後面,用[o]鍵;加在當前行前,用[0]),編輯(用[e]鍵),刪除(用[d]鍵)。

  在所有的改變都完成後,用[b]鍵來執行這些命令,並啟始操作系統。[Esc]鍵來放棄這些修改,將重新入標準的表菜單接頭。[c]鍵用來載入命令行接頭。

  命令行接頭

  命令行是GRUB最基本的接頭,但它也是被授予了最大控制能力的接頭。在命令行接頭中,輸入任何相關的GRUB命令,再Enter鍵就可以執行了。這個接頭的功能有點類似於shell的功能,比如[Tab]鍵完成,前後文提示,輸入命令時的[Ctrl]鍵組合,如[Ctrl]-[a]移到行的開頭,[Ctrl]-[e]移到行的結尾。另外,箭頭鍵,[Home],[End],[Delete]鍵與bash shell中一樣用法。

  接頭使用的順序

  當GRUB環境開始載入第二步啟始裝載程式時,它尋找自己的配置文件。當找到配置文件後,它使用這個配置文件建立一個要載入的操作系統的表菜單列表, 然後顯示啟始表菜單接頭。

  如果配置文件沒有被找到,或者如果配置文件不能讀取,那麼GRUB將載入命令行接頭,以允許用戶手工輸入必要的命令來啟動操作系統。

  如果配置文件不是正確的,那麼GRUB將顯示出錯誤,並請求輸入。這點是很有幫助的,因為用戶將能夠看到問題發生在文件中的什麼地方,並修復它。按下任意鍵,重新載入表菜單接頭,根據GRUB報告的錯誤,編輯表菜單選項並糾正問題。如果這個修正失敗了,那麼錯誤將被報告,且GRUB將再次開始。

  四、GRUB的命令

  GRUB包含了許多不同的命令,它們可以在命令行接頭中以交互的方式執行。其中的一些命令能接在命令名後面的選項,這些選項用空格隔開。

  下面的列表給出了最有用的一些命令:

  ·boot - 啟始先前已經被指定並載入的操作系統或鏈式裝載程式。
  ·chainloader - 將指定的文件作為一個鏈式裝載程式載入。為了獲取在一個指定分區第一扇區內的文件,使用+1作為文件名。
  ·displaymem - 顯示當前記憶體的使用情況,這個訊息是基於BIOS的。這個命令有助於確定系統在啟始前有多少記憶體。
  ·initrd - 使用戶能夠指定一個在啟始時可用的初始RAM盤。當內核為了完全啟始而需要某些模塊時,這是必需的。
  ·install p - 安裝GRUB到系統的主啟始記錄。這個命令允許系統重啟時出現GRUB接頭。

  警告:install命令將覆蓋主啟始扇區中的其他訊息。如果命令被執行,那麼除了GRUB訊息之外的其他用於啟始其他操作系統的訊息都將丟失。在執行這條命令前,確定你對它有正確的瞭解。

  這條命令可以用幾種不同的方式進行配置。然而,它都要求指定。表示一個設備,分區和文件,在那裡可以找到第一個啟始裝載程式的映像,比如(hd0,0)/grub/stage1。另外,也指定了第一步啟始裝載程式應該被安裝的硬碟,如(hd0)。


 選項告訴第一步啟始裝載程式第二步啟始裝載程式位於什麼地方,例如(hd0,0)/grub/stage2。p選項告訴install命令表菜單配置文件被指定在部分,比如說(hd0,0)/grub/grub.conf。

  ·kernel - 當使用直接載入方式啟始操作系統時,kernel命令指定內核從GRUB的根文件系統中載入。options選項是跟在kernel命令後面,在內核載入時傳給內核。

  在Red Hat Linux中,一個kernel命令的例子看起來像下面的形式:

  kernel /vmlinuz root=/dev/hda5

  上面這行表明了vmlinuz文件是從GRUB的根文件系統載入的,如(hd0,0)。同時,一個選項也被傳給了內核。它指出當Linux內核載入時,內核的根文件系統應該是位於hda5,第一個IDE硬碟的第五個分區。如果有必要的話,多個選項可以被放在這個選項後面。

  ·root - 將GRUB的根分區設置成特定的設備和分區,比如說(hd0,0)。並掛入這個分區,這樣文件可以被讀取。
  ·rootnoverify - 做root命令同樣的事情,只是不掛入分區。

  除上面所述外,還有更多的命令可用。輸入info grub,得到一個所有命令的完全列表。

  五、GRUB的表菜單配置文件

  配置文件在GRUB表菜單接頭中,創建用於啟始操作系統的列表。配置文件可以允許用戶選擇執行事先設置好的一組命令。這些命令既包括前面給出的命令,也包括一些只用於配置文件的命令。

  配置文件的專用命令

  下面這些命令只用於GRUB的表菜單配置文件:

  ·color - 設定在表菜單中使用的顏色,一種是作為前景色,一種作為背景色。可以簡單地使用顏色名稱,如red/black。比如:
  color red/black green/blue
  ·default - 預定專案的標題名稱。如果表菜單接頭超時,那它將被載入。
  ·fallback - 當這個命令被使用時,如果第一次嘗試失敗,那麼這個專案的標題名稱將被試用。
  ·hiddenmenu - 這個命令被使用時,它不顯示GRUB表菜單接頭,在超時時間過期後載入預定項。用戶通過按[Esc]鍵,可以看到標準的GRUB表菜單。
  ·password - 這個命令被使用時,它可以防止不知道口令的用戶編輯表菜單的專案。

  作為附加選項,可以在後面指定一個後備的表菜單配置文件。因此,如果口令被知道,GRUB將重新啟動第二步的啟始裝載程式,並使用這個後備的配置文件來建立表菜單。如果這個後備文件不在命令中指出,那麼知道口令的用戶能夠編輯當前的配置文件。

  ·timeout - 這個命令設定了在GRUB載入由default命令指定的專案前的時間間隔,以秒為單位。
 
  ·splashimage - 它指定在GRUB啟始時所使用的螢幕圖像的位置。
  ·title - 設定用來裝載一個操作系統的一組特定命令的標題。

  字元#用來在表菜單配置文件放置註釋。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次