GRUB手册(3)
7.???????從網絡啟動GRUB
以下命令僅在PCBIOS系統上工作,在那里Preboot eXecution環境(PXE)可用。
網絡產生一個PXE啟動映像,運行:
grub-mkimage --format=i386-pc-pxe --output=grub.pxe --prefix=’(pxe)/boot/grub’pxe pxe
拷貝‘grub.pxe’,‘/boot/grub/*.mod’,及‘/boot/grub/*.lst’到PXE(TFTP)服務器,確保從TFTP服務器根目錄,通過‘/boot/grub/’可以訪問‘*.mod’及‘*.lst’。設置DHCP服務器配置把‘grub.pxe’作為啟動文件(在ISC dhcpd中的‘filename’選項)。
你也可以使用實用程序grub-mknetdir來產生一個映像以及一個GRUB目錄樹,而不是手動地把文件拷來拷去。
在GRUB啟動后,TFTP服務器上的文件將可以通過‘(pxe)’設備訪問。
服務器及網關的IP地址可以通過把‘(pxe)’設備名改為‘(pxe:server-ip)’或‘(pxe:server-ip:gateway-ip)’來控制。注意在配置文件里,要同時修改前綴中及任意引用里的該設備名。
GRUB提供了幾個環境變量,它們可被用于檢查或改變PXE設備的行為:
net_pxe_ip??????????? 機器的IP地址。只讀。
net_pxe_mac 網絡接口的MAC地址。只讀。
net_pxe_hostname?????? 由DHCP提供的客戶端主機名。只讀。
net_pxe_domain?? 由DHCP提供的客戶端的域名。只讀。
net_pxe_rootpath? 由DHCP提供的到客戶端根硬盤的路徑。只讀。
net_pxe_extensionspath???? 由DHCP提供的到額外的DHCP廠商擴展的路徑。只讀。
net_pxe_boot_file?????? 由DHCP提供的啟動文件名。只讀。
net_pxe_dhcp_server_name????? 負責這些啟動參數的DHCP服務器名。只讀。
pxe_blksize????????? PXE 傳輸塊大小,缺省為512。
pxe_default_server????? 默認PXE服務器。讀寫,雖然設置它僅在打開一個PXE設備前有用
pxe_default_gateway???????? 當聯系PXE服務器時,所使用的默認網關。讀寫,雖然設置它僅在打開一個PXE設備前有用。
8.???????通過串行線使用GRUB
本章描述如何使用GRUB中支持的串行終端。
如果你有許多計算機,或沒有顯示器/鍵盤的計算機,通過串行通信來控制計算機就十分有用。要通過一根串行線把一臺計算機連到另一臺計算機,你需要準備一根零調制解調(null-modem)(交叉)串行電纜,并且你需要多串口卡,如果你的計算機沒有額外的串行口。另外,還需要一個終端仿真器,例如minicom。更多信息參考你的操作系統手冊。
至于GRUB,建立一個串行終端的指令相當簡單。這里是一個例子:
grub> serial --unit=0 --speed=9600
grub> terminal_input serial;terminal_output serial
命令serial以9600bps速率初始化串行單元0。串行單元0通過被稱為‘COM1’,因此,如果你希望使用COM2,你必須指定‘--unit=1’。這個命令接受許多其它選項,因此更多細節請參考14.2.1節【串行】,52頁。
命令terminal_input(參考14.2.2節【terminal_input】,37頁)及terminal_output(參考14.2.3節【terminal_output】,37頁)選擇你希望使用的終端類型。在上面的情形中,終端將是一個串行終端,不過你還可以把console傳給這個命令,如‘terminal_input serial console’。在這個情形下,你按下任意鍵的終端將被選定為一個GRUB終端。在上面的例子中, 注意你需要要把這兩個命令放在同一行,因為在第一個命令后,你就不能在控制臺輸入命令了。
不過,注意,GRUB默認地假設你的終端模擬器與VT100兼容,你應該在命令中傳入選項‘--dumb’,如果你的終端模擬器不是VT100兼容的,或實現了很少VT100的轉義序列。如果你指定了這個選項,那么GRUB會提供另一個菜單接口,因為普通的菜單要求你的終端幾個有趣的特性。
9.???????利用廠商電源按鈕使用GRUB
某些筆記本廠商提供一個額外的電源按鈕來啟動另外的OS。GRUB利用在default/grub(參考5.1節【簡單配置】,11頁)里的變量:GRUB_HIDDEN_TIMEOUT_BUTTON,GRUB_DEFAULT_BUTTON, GRUB_BUTTON_CMOS_ADDRESS,及GRUB_TIMEOUT_BUTTON,來支持這樣的按鈕。當使用這個特殊按鈕啟動時,使用GRUB_TIMEOUT_BUTTON,GRUB_DEFAULT_BUTTON及GRUB_HIDDEN_TIMEOUT_BUTTON,而不是對應的不帶‘_BUTTON’后綴的變量。GRUB_BUTTON_CMOS_ADDRESS是廠商特定的,并且部分特定于型號。GRUB開放團隊已經知道的值有:
DELL XPS M1530??????? 85:3
ASUS EEEPC 1005PE???????? 84:1(未確認)
為了充分利用這個功能,把GRUB安裝入MBR(參考3.1節【使用grub-install安裝GRUB】,6頁)。
如果你有一臺有類似特性,并且不在上面列表中的筆記本,怎樣計算地址并貢獻之?按下面那樣做來發現地址:
- 正常啟動
sudo modprobe nvram
sudo cat /dev/nvram | xxd >normal_button.txt
- 使用廠商按鈕啟動
sudo modprobe nvram
sudo cat /dev/nvram | xxd >normal_vendor.txt
然后比較這兩個文本文件,看在哪里切換了一個比特。即,對于Dell XPS它是:
byte 0x47: 20 --> 28
從下面的表看到它是第3位比特:
0 ????? 01
1 ????? 02
2 ????? 04
3 ????? 08
4 ????? 10
5 ????? 20
6 ????? 40
7 ????? 80
0x47是十進制71。Linux nvram實現截去CMOS的前14個字節。因此在CMOS中的真正的字節地址是71+14=85,因此完整的地址是85:3
10.???GRUB映像文件
GRUB包含了幾個映像:用于以各種方式啟動GRUB的各個引導映像,一個內核映像,及一組與內核映像組合構成一個core映像的模塊。這里是它們的一個簡短的概括。
boot.img
在PC BIOS系統上,這個映像是首先要啟動的GRUB的部分。它被寫入一個主啟動記錄(MBR)或一個分區的啟動扇區。因為一個PC啟動扇區是512字節,這個映像的大小正好是512字節。‘boot.img’的唯一功能是從一個本地硬盤讀入core映像的第一個扇區,并跳轉到那里。因為大小的限制,‘boot.img’不能理解任何文件系統,因此在安裝GRUB的時候,grub-setup把core映像第一個扇區的位置硬編碼(hardcode)入‘boot.img’。
diskboot.img
當從一個硬盤上啟動時,這個映像被用作core映像的第一個扇區。它把core映像的余下部分讀入內存,并啟動內核。因為此時文件系統的處理仍不可用,它使用一個塊列表格式來對core映像位置進行編碼。
cdboot.img
當從一個CD-ROM驅動器啟動時,這個映像被用作core映像的第一個扇區。它提供與‘diskboot.img’類似的功能。
pxeboot.img
當使用PXE從網絡啟動時,這個映像被用作core映像的起點。參考第7章【網絡】,24頁。
lnxboot.img
為了使GRUB足夠像一個Linux內核,以便它可以被LILO使用一個‘image=’ 選項啟動,這個映像可能被放置在core映像的開頭。
kernel.img
這個映像包含了GRUB基本的運行時設施:設備框架及文件處理,環境變量,救援模式命令行解析器,等等。它很少被直接使用,而是被構建入所有的core映像。
core.img
這是GRUB的核心(core)映像。它由grub-mkimage程序從內核映像及一組任意的模塊動態構建。通常,它包含足夠的模塊來訪問‘/boot/grub’,并在運行時從文件系統載入所有的東西(包括菜單處理,載入目標操作系統的能力,等等)。模塊化設計使得這個核心映像保持小的尺寸,因為它所必須安裝的硬盤區域通常只有32KB。
核心映像可以被安裝在PC系統的何處的細節,參考3.4節【BIOS安裝】,8頁。
*.mod
GRUB留在動態可載入模塊中的部分。這些通常會自動載入,或者構建入core映像如果它們是必要的,不過也可以通過使用insmod命令(參考14.3.22節【insmod]】,41頁)來手動載入。
對于GRUB Legacy的用戶
GRUB 2與GRUBLegacy有不同的設計,因此對應它所使用的映像并不確切。不過,GRUB Legacy用戶經常以他們熟悉的術語來提問,因此在這里有一個簡短的指引,關于GRUB 2的映像如何與之相關。
stage1
來自GRUB Legacy的stage 1非常類似于GRUB2中的‘boot.img’,并且它們提供相同的功能。
*_stage1_5
在GRUB Legacy中,Stage 1.5的功能是包含足夠的文件系統代碼,以從普通的文件系統讀入大得多的Stage 2。在這方面,其功能類似于GRUB 2中的‘core.img’。不過,‘core.img’比Stage 1.5能干多的;因為它提供了一個救援的shell,如果不能載入其它模塊,比如分區號被改變了,有時能恢復。‘core.img’以更靈活的方式構建,允許GRUB 2為從更先進的硬盤類型,比如LVM及RAID讀入模塊,提供支持。
在某些有限制的配置中,GRUB Legacy只能運行Stage 1與Stage 2,而GRUB 2要求‘core.img’,沒有它就不能工作。
stage2
GRUB 2沒有單獨的Stage 2映像。取而代之,在運行時,它從‘/boot/grub’載入模塊。
stage2_eltorito
在GRUB 2中,用于從CD-ROM驅動啟動的映像現在是使用‘cdboot.img’及‘core.img’來構建,確保核心映像包含‘iso9660’模塊。通常最好使用grub-mkrescue程序。
nbgrub
到目前為止,‘nbgrub’在GRUB 2里沒有對應物;它被Etherboot及其它網絡啟動載入器所使用。
pxegrub
在GRUB 2中,用于PXE網絡啟動的映像現在使用‘pxeboot.img’及‘core.img’來構建,確保核心映像包含‘pxe’及‘pxecmd’模塊。參考第7章【網絡】,24頁。
11.???文件系統詞法及語義
GRUB使用特殊的詞法來描述可被BIOS訪問的硬盤驅動器。由于BIOS的局限,GRUB不能區分IDE,ESDI,SCSI,及其它。你自己必須知道哪個BIOS設備是哪個OS設備。通常,如果你看到一個設備中的文件,或使用search(參考14.3.40節【搜索】,44頁),就會清楚。
11.1.??如何描述設備
描述設備的詞法就像這樣:
(device[,part-num][,bsd-subpart-letter])
‘[]’表示該參數是可選的。Device應該是‘fd’或‘hd’,后跟一個數字,如‘fd0’。不過你也可以把設備設置為一個BIOS設備號,因此以下是等效的:
(hd0)
(0x80)
(128)
part-num代表設備的分區號,對主分區從1開始,對于擴展分區從5開始,而bsd-subpart-letter代表BSD硬盤標簽子分區,比如‘a’或‘e’。
一個用于描述BSDsubpartitions的捷徑是(device,bsd-subpart-letter),在這個情形里, GRUB查找包含一個BSD盤符的第一個PC分區,然后找到子分區bsd-subpart-letter。這里是一個例子:
(hd0,a)
語法 ‘(hd0)’表示使用整個硬盤(或當安裝GRUB時,MBR),而語法‘(hd0,1)’表示使用該硬盤的第一個分區(或當安裝GRUB時,該分區的啟動扇區)。
如果你激活了網絡支持,特殊設備‘(pxe)’同樣可用。在使用網絡驅動器之前,你必須初始化網絡。更多信息,參考第7章【網絡】,24頁。
如果你從一個CD-ROM啟動GRBU,可以使用‘(cd)’。細節參考3.2節【制作一個GRUB可啟動的CD-ROM】,7頁。
11.2.??如何描述文件
有兩個方式來描述文件,通過絕對文件名及通過塊列表。
一個絕對文件名類似一個Unix絕對文件名,把‘/’用作目錄分隔符(不是DOS中的‘\’)。一個例子是‘(hd0,1)/boot/grub/grub.cfg’。這表示文件‘/boot/grub/grub.cfg’在第一個硬盤的第一個分區。如果你在一個絕對文件名中忽略了設備名,GRUB隱含地使用GRUB的啟動設備。因此如果你設置了啟動設備,比如,通過命令‘set root=(hd1,1)’設置了‘(hd1,1)’(參考14.3.42節【set】,47頁),那么/boot/kernel就與 (hd1,1)/boot/kernel相同。
11.3.??如何描述塊列表
一個塊列表用于描述一個不出現在文件系統中的文件,比如一個鏈式載入器。其語法是 [offset]+length[,[offset]+length].... 這里是一個例子:
0+100,200+1,300+300
這表示GRUB應該讀入從0到99的塊,塊200,及從300到599的塊。如果你忽略了偏移,那么GRUB假定偏移是0。
類似文件名語法(參考11.2節【文件名語法】,28頁),如果一個塊列表不包含一個設備名,那么GRUB就使用GRUB的啟動設備。因此 當啟動設備是‘(hd0,2)’時,(hd0,2)+1就相當于+1。
12.???GRUB用戶接口
GRUB有一個簡單菜單接口用于從一個配置文件選擇預設項,及一個高度靈活的命令行來執行任意期望的啟動命令組合。
一旦載入,GRUB就查找其配置文件。如果找到一個,那么使用在這個文件中發現的項的完整菜單接口就被激活。如果你選擇命令行菜單選項,或如果沒有找到配置文件,那么GRUB跑到命令行接口。
12.1.??靈活命令行接口
命令行接口通過一個提示符,其后是一個非常類似于Unix或DOS命令行的可編輯文本區。每個命令在鍵入后立即執行(不過,這個行為在未來的版本中就被改變,以用戶可見的方式)。這些命令(參考14.3節【命令行及菜單項命令】,37頁)是配置文件中可用命令的子集,使用幾乎相同的語法。
光標移動及行上編輯文本可以通過Bash shell中可用功能子集完成:
C-F
PC RIGHT KEY?? 向前移動一個字符。
C-B
PC LEFT KEY????? 向后移動一個字符。
C-A
HOME ???????? 移到行開頭。
C-E
END ???????????? 移到行結尾。
C-D
DEL ???????????? 刪除光標下的字符。
C-H
BS ??????????????? 刪除光標左邊的字符。
C-K ????????????? 刪除光標到行尾的文本。
C-U ????????????? 刪除光標到行開頭的文本。
C-Y ?????? ?????? 在光標處恢復刪除的文本。
C-P
PC UP KEY?? 在歷史命令列表中上移一個記錄。
C-N
PC DOWN KEY?? 在歷史命令列表中下移一個記錄。
當交換第鍵入命令時,如果光標位于命令行上第一個字之前或之內,按下TAB鍵(或C-I)將顯示可用命令列表,而如果光標在第一個字之后,TAB將根據上下文,提供一個硬盤,分區,及文件名的完整列表 。注意為了得到一個驅動器列表,必須使用一個括號,如root (。
注意在TFTP文件系統中你不能使用完整的功能。這是因為出于安全原因TFTP不支持文件名列表。
12.2.??簡單菜單接口
菜單接口相當容易使用。其命令既合理直觀,又在屏幕上得到描述。
基本上,菜單接口提供了一列啟動項來給用戶選擇。使用箭頭鍵來選擇選定的項,如何按下RET來運行之。可用一個可選的超時來啟動默認項(如果沒有設定,第一項),按下任意鍵將中斷超時啟動。
按下C進入一個命令行,可使用命令(其操作非常類似沒有配置文件的GRUB,不過允許通過按下ESC返回菜單);或按下E來編輯任意啟動項。
如果你使用一個password來保護菜單接口(參見第15章,55頁),你所能做的就是通過按下RET選定一個項,或按下P來輸入password。
12.3.??編輯一個菜單項
菜單項編輯器看起來很像主菜單接口,不過在其菜單里是選定項的命令,而不是項名字。
如果在編輯器中按下ESC,會放棄對項配置的所有改變,并返回到主菜單接口。
在菜單項里的每一行都可以自由編輯,通過在一行末尾按下RET,你可以添加新行。按下CTRL-X,啟動編輯后的項。
雖然很不幸GRUB不支持取消(undo),但通過使用ESC返回主菜單,你可以做幾乎完全相同的事。
13.???GRUB環境變量
GRUB支持類似于所有類Unix系統所提供的環境變量。環境變量有一個名字,它必須是唯一的,通常是一個短標識符,及一個值,它是一個任意字符串。它們可能被設置(參見14.3.42節【set】,47頁),取消設置(unset)(參考14.3.44節【unset】,47頁),或按名查找(參考5.2節【 [類Shell腳本],15頁】。
對于GRUB不同的部分,一些環境變量由特殊的含義。其它可以被自由用在GRUB的配置文件里。
13.1.??特殊環境變量
這些環境變量對于GRUB有特殊含義。
13.1.1.?????biosnum
當鏈式載入另一個啟動載入器(參考4.1.2節【鏈式載入】,9頁),GRUB可能需要知道哪個BIOS驅動號對應于根設備(參考13.1.29節【root】,34頁)以便它可以正確地設立寄存器。如果設置了變量biosnum,它將覆蓋GRUB本身對此猜測的結果。
至于另一個也會為鏈式載入系統改變BIOS驅動器映射的途徑,參考14.3.12節【drivemap】,35頁。
13.1.2.?????chosen
當執行一個菜單項時,GRUB把變量chosen設置為將要執行項的標題。
如果該菜單項在一個或多個子菜單里,那么chosen被設置為從頂層開始的子菜單標題,后跟這個菜單項標題,標題由‘>’分隔。
13.1.3.?????color_highlight
這個變量包含終端的“highlight”(高亮)前景、背景色,由反斜杠(‘/’)分隔。設置該變量來改變這些顏色。至于可用的顏色名,參見13.1.4節【color_normal】,32頁。
缺省值是‘black/white’。
13.1.4.?????color_normal
這個變量包含終端的“normal”(普通)前景、背景色,由斜杠(‘/’)。設置該變量來改變這些顏色。顏色必須是下面列表中的一個名字:
- black
- blue
- green
- cyan
- red
- magenta
- brown
- light-gray
- dark-gray
- light-blue
- light-green
- light-cyan
- light-red
- light-magenta
- yellow
- white
缺省值是‘white/black’。
13.1.5.?????debug
這個變量可能被設置來使能GRUB各個組件的調試輸出。其值是一組由‘,’分隔的調試設施名,或‘all’來使能所有可用的調試輸出。
13.1.6.?????default
如果設置了這個變量,它標記應該被默認選中的一個菜單項,或許在一個超時后(參考13.1.32【timeout】35頁。該菜單想可能通過號碼或標題來識別。
如果該項在一個子菜單中,那么它必須使用從頂層開始的子菜單標題,后跟這個菜單項的號碼或標題,標題間以‘>’分隔,來識別。例如,以下菜單結構為例:
Submenu 1
Menu Entry 1
Menu Entry 2
Submenu 2
Submenu 3
Menu Entry 3
Menu Entry 4
Menu Entry 5
“MenuEntry 3”應被識別作‘Submenu 2>Submenu 3>MenuEntry 3’。
這個變量經常為‘GRUB_DEFAULT’(參考5.1節【簡單配置】,11頁),grub-set-default,或 grub-reboot所設置。
13.1.7.?????fallback
如果設置了這個變量,它標識了一個菜單項,如果默認菜單項啟動失敗,就應該被選中。項以與‘default’(參考13.1.6節【default】,32頁)相同的方式來識別。
13.1.8.?????gfxmode
如果設置了這個變量,它設置了‘gfxterm’圖形化終端所使用的分辨率。注意你可以只能使用你的顯卡通過VESA BIOS擴展(VBE)所支持的模式,因此例如LCD面板原始分辨率可能不可用。缺省值是‘auto’,它選擇一個特定于平臺的看上去合理的缺省值。
分辨率可能被指定為一組由逗號或分號分隔的一個或多個模式;它們將被依次嘗試,直到找出一個。每個模式應該是‘auto’,‘widthxheight’,或 ‘widthxheightxdepth’。
13.1.9.?????gfxpayload
如果設置了這個變量,它控制Linux內核啟動所在的視頻模式,替代啟動選項‘vga=’(參考14.3.24節【linux】,41頁)。它可以被設置為‘text’來強制Linux內核以普通文本模式啟動,‘keep’來保留由‘gfxmode’設置的圖形模式,或其它‘gfxmode’所允許的值來設定特定的圖形模式(參考13.1.8節【gfxmode】,32頁)。
依賴于你的內核,你的發布版本,你的顯卡,及月相(the phase of the moon),注意使用這個選項可能導致GNU/Linux遭遇各種顯示問題,尤其在啟動的早期。如果你有這樣的問題,把這個變量設為‘text’,GRUB將告知Linux以普通文本模式啟動。
其默認值是平臺特定的。在具有一個純文本模式的平臺上(比如PC BIOS平臺),缺省值是‘text’。否則缺省值可能是‘auto’或特定的視頻模式。
這個變量通常為‘GRUB_GFXPAYLOAD_LINUX’(參考5.1節【簡單配置】, 11頁)所設置。
13.1.10.???gfxterm_font
如果設置了這個變量,它命名了在圖形化終端里文本所使用的字體。否則,‘gfxterm’可能使用其它可用字體。
13.1.11.???icondir
如果設置了這個變量,它命名了一個目錄, GRUB的圖形化菜單,在查找了主題的‘icon’目錄后,在其中查找圖標。參考第6章【主題文件格式】,18頁。
13.1.12.???lang
如果設置了這個變量,它給出了gettext 命令(參考14.3.16節【gettext 】,40頁)用來翻譯字符串的語言編碼。例如,法語應該被命名為‘fr’,而簡體中文為‘zh_CN’。
grub-mkconfig(參考5.1節【簡單配置】,11頁)將嘗試基于系統的地點(locale )設置合理的缺省值。
13.1.13.???locale_dir
如果設置了這個變量,它命名了可用找出翻譯文件的目錄(參考14.3.16節【gettext】,56頁),通常是‘boot/grub/locale’。否則, 禁止國際化。
如果國際化是需要的,并且翻譯文件可用,grub-mkconfig(參考5.1節【簡單配置】,11頁)將為這個變量設置合理的缺省值。
13.1.14.???menu_color_highlight
這個變量包含了用于高亮菜單項的前景及背景顏色,由斜線(‘/’)分隔。設置這個變量會改變這些顏色。至于可用顏色名,參考13.1.4節【color_normal】,31頁。
缺省值是‘color_highlight’的值(參考13.1.3節【color_highlight】,31頁)。
13.1.15.???menu_color_normal
這個變量包含了用于非高亮菜單項的前景及背景顏色,由斜線分隔(‘/’)。設置這個變量會改變這些顏色。至于可用顏色名,參考13.1.4節【color_normal】,31頁。
缺省值是‘color_normal’的值(參考13.1.4節【color_normal】,31頁)。
13.1.16.???net_pxe_boot_file
參考第7章【網絡】,24頁。
13.1.17.???net_pxe_dhcp_servername
參考第7章【網絡】,24頁。
13.1.18.???net_pxe_domain
參考第7章【網絡】,24頁。
13.1.19.???net_pxe_extensionspath
參考第7章【網絡】,24頁。
13.1.20.???net_pxe_hostname
參考第7章【網絡】,24頁。
13.1.21.???net_pxe_ip
參考第7章【網絡】,24頁。
13.1.22.???net_pxe_mac
參考第7章【網絡】,24頁。
13.1.23.???net_pxe_rootpath
參考第7章【網絡】,24頁。
13.1.24.???pager
如果設置為‘1’,每一滿屏后暫停輸出,等待鍵盤輸入。缺省是不暫停輸出。
13.1.25.???prefix
以一個絕對文件名(參考11.2節【文件名語法】,28頁)形式的‘/boot/grub’目錄位置。這通常由GRUB,在啟動時,根據grub-install提供的信息設置。從這個目錄,GRUB模塊被動態載入,因此要使GRUB工作,它必須被正確設置。
13.1.26.???pxe_blksize
參考第7章【網絡】,24頁。
13.1.27.???pxe_default_gateway
參考第7章【網絡】,24頁。
13.1.28.???pxe_default_server
參考第7章【網絡】,24頁。
13.1.29.???root
根設備名(參考11.1節【設備語法】,28頁)。任意不顯示一個明顯設備名的文件名從這個設備讀入。缺省值通常由GRUB,在啟動時,根據‘prefix’(參考13.1.25節【prefix】,34頁)的值設置。
例如,如果GRUB被安裝在第一個硬盤的第一個分區上,那么‘prefix’可能被設置為 ‘(hd0,msdos1)/boot/grub’,而‘root’為‘hd0,msdos1’。
13.1.30.???superusers
這個變量可能被設置為一組超級用戶名來使能鑒權支持。參考第15章【安全】,48頁。
13.1.31.???theme
這個變量可能被設置為一個包含一個GRUB圖形化菜單主題的目錄。參考第6章【主題文件格式】,18頁。
這個變量通常由‘GRUB_THEME’參考5.1節【簡單配置】,11頁)來設置。
13.1.32.???timeout
如果設置了這個變量,它指定了,在啟動默認菜單項前,等待鍵盤輸入的秒數。一個為0的timeout表示不顯示菜單直接啟動默認菜單項;一個為-1(或取消設置)的timeout表示永久等待。
這個變量通常由‘GRUB_TIMEOUT’或‘GRUB_HIDDEN_TIMEOUT’(參考5.1節【Simple configuration】,11頁)來設置。
13.2.??GRUB環境塊
從一次啟動到下一次啟動,能記住少量消息,這通常是有用的。例如,你可能希望基于上一次選擇的結果設定缺省菜單項。GRUB,經過深思熟慮,為了盡量減少啟動載入器導致文件系統崩潰的可能性,不實現寫入文件的支持,因此一個GRUB配置文件不能以通常的方式曾經一個文件。不過,GRUB提供一個可用于保存少量狀態的“環境塊”(environment block)。
環境塊是一個預分配1024字節的文件,它通常在‘/boot/grub/grubenv’(雖然你不應該這樣假定)里。在啟動時刻,load_env命令(參考14.3.27節【load_env】,42頁)從它載入環境變量,而save_env(參考14.3.39節【save_env】,44頁)命令向它保存環境變量。從一個正在運行的系統,實用程序grub-editenv可以被用于編輯環境塊。
出于安全原因,只有安裝在一個純硬盤(不是LVM或RAID)上,使用一個非校驗(不是ZFS)文件系統,并使用BIOS或EFI功能(非ATA,USB或IEEE1275)時,這個存儲才可用。
grub-mkconfig使用這個設施來實現‘GRUB_SAVEDEFAULT’參考5.1節【假定配置】,11頁)。
?
總結
- 上一篇: 如何搜索视频和字幕?
- 下一篇: 配置HP LaserJet M1536d