生活随笔
收集整理的這篇文章主要介紹了
红帽企业linux4参考指南读书笔记-GRUB引导器
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| ? 一個引導加載器通常存在于系統(tǒng)的主硬盤驅(qū)動器中,通過它來加載linux內(nèi)核跟一些需要的文件或其它操作系統(tǒng)到系統(tǒng)內(nèi)存中。 在各種系統(tǒng)架構(gòu)上運行RedHat企業(yè)Linux系統(tǒng)會使用不同的引導加載器,一般在X86系統(tǒng)架構(gòu)和AMD、AMD64系統(tǒng)架構(gòu)中使用GRUB引導器,而其它的如Intel Itanium系統(tǒng)架構(gòu)中會使用ELILO引導器。以下所有的內(nèi)容都是說明在X86系統(tǒng)架構(gòu)下使用GRUB引導器。 GRUBCE能夠在系統(tǒng)引導時把操作系統(tǒng)或內(nèi)核加載到系統(tǒng)內(nèi)存中。GRUB還能允許用戶進行相應配置和定制,以適合用戶自身所需。以下是GRUB的主要特性: (1)、GRUB在X86系統(tǒng)的機器上提供一個真正的命令行方式,這個特性允許用戶在引導相應的操作系統(tǒng)時為它指定一些需要加載的特殊選項。 (2)、GRUB能讀ext2分區(qū),此特點允許GRUB在每次系統(tǒng)引導時都能訪問它的配置文件/boot/grub/grub.conf。 一、安裝GRUB 如果在安裝系統(tǒng)時沒有同時安裝GRUB,也可以在隨后安裝它,一旦安裝完成,它就自動變?yōu)槿笔∫龑鳌?/font> 在安裝前,請確保獲得最終可用的GRUB包,或從安裝盤中得到GRUB包。 安裝完GRUB包后,打開一個有根(ROOT)權(quán)限的shell,然后輸入命令: /sbin/grub-install <location> 其中<location>為GRUB的第一階段引導器應被安裝到的位置,例如下列命令安裝GRUB到主IDE通道的主IDE設備的MBR上: /sbin/grub-install /dev/hda 在下一次啟動系統(tǒng)時,GRUB圖形化引導菜單就會在內(nèi)核被加載到內(nèi)存中之前出現(xiàn)在屏幕上。 二、GRUB Terminology 明白在GRUB中怎樣參考設備是非常重要的,例如硬盤驅(qū)動器和分區(qū)。這些信息在配置GRUB引導多個操作系統(tǒng)時顯得特別重要,以下分別介紹在GRUB中設備的表示方式。 (一)、設備名稱(Device Names) 以下是存儲設備在linux系統(tǒng)中的GRUB中所使用的格式: (<type-of-device><bios-device-number>,<partion-number>) ?? <type-of-device>指定GRUB中使用的存儲設備類型,有兩種通用選項:hd表示硬盤 類型,fd表示3.5英寸軟盤,還有一種叫nd的類型表示從網(wǎng)絡磁盤。 <bios-device-number>是在BIOS中設備序號,主IDE硬盤為0,第二塊IED硬盤為1。在內(nèi)核中也可用字符來代替這些設備數(shù)字序號,例如,hda在內(nèi)核中表式hd0,hdb在內(nèi)核中表示hd1,其它以此類推。 <partion-number>指定設備中的分區(qū)號,像<bios-device-number>一樣,分區(qū)號數(shù)字也從0開始。 ??一些新用戶要注意的是,在GRUB中的設備號,總是從0開始的,不是1,一定要記住。 給個例子:如果系統(tǒng)中有多于一個的硬盤驅(qū)動器,GRUB以第一塊硬盤為參考為hd0,第二塊硬盤為hd1,同樣,GRUB以第一塊硬盤中的第一個分區(qū)為(hd0,0)為參考,第二塊硬盤中的第三個分區(qū)就為(hd1,2)。 以下是一些在GRUB下設備和分區(qū)的一般規(guī)則: (1)、在GRUB中不論是IDE或SCSI,所有硬盤名稱都以hd開頭,fd為3.5英寸軟盤。 (2)、當告訴GRUB在個別磁盤中配置MBR時,不要在磁盤名稱后指定分區(qū)號。例如,hdo指定MBR在第一塊磁盤上,hd3指定MBR在第四塊磁盤上。 (3)、如果系統(tǒng)中有多塊驅(qū)動設備,那么在BIOS中就應指定哪個驅(qū)動器為引導驅(qū)動器,特別是在有多種混合類型的設備時更應在BIOS中明確指出使用哪種類型的驅(qū)動器作為引導驅(qū)動器。 (二)、文件名和塊列表(File Names and Blocklists) 在GRUB的配置文件中,需要為一些命令行指定要使用的文件的絕對路徑在這些命令行中設備和分區(qū)的后面,它們的格式如下: (<device-type><device-number>,<partition-number>)</path/to/file> ? <device-type>用hd、fd或nd代替,<device-number>用所使用的硬盤序號代替,<partition-number>用文件所在的分區(qū)號代替,</paht/to/file>用設備分區(qū)上的絕對文件路徑代替。 在GRUB中也可以不使用文件系統(tǒng)的方式來指定文件,例如,當使用鏈接加載方式在一個分區(qū)中加載在其中的一部分區(qū)段中的文件時,只需要提供一個在些分區(qū)中包含此文件的區(qū)段列表的位置,即一個區(qū)段中的文件可以用包含此文件的區(qū)段號來表示。以下是一個區(qū)段列表的例子: 0+50,100+25,200+1 此區(qū)段列表例子指定一個文件在分區(qū)中所使用的區(qū)段從0到49,99到124,和199。 知道如何在GRUB中使用區(qū)段列表,這對于使用鏈接(chain loader)加載方式加載操作系統(tǒng)時非常有用的。 以下這個例子,要通過用鏈接(chain loader)方式加載的文件在第一塊硬盤中的第一個分區(qū)中的0區(qū)段: (hd0,0) +1 以上如果用鏈接方式加載的文件在第一塊硬盤中的第一個分區(qū)中的0區(qū)段中可以用chainloader命令來代替所要表示的驅(qū)動器和分區(qū)。例如:chainloader +1就等同于上面的(hd0,0) +1。 三、GRUB接口(GRUB Interfaces) GRUB提供三種不同功能的接口特性,每一種接口都允許用戶引導內(nèi)核或其它操作系統(tǒng)。這些接口如下所述:(以下的接口只有在出現(xiàn)GRUB菜單屏幕后三秒內(nèi)按下任意鍵才能夠開始被訪問) (1)、菜單接口(menu interface) 它是GRUB的缺省接口,用來列出所安裝的操作系統(tǒng)或已配置的內(nèi)核,它們以名稱方式排序。使用方向鍵選擇一個與缺省選項不同的選項后按回車[Enter]即可引導它。如果在規(guī)定時間內(nèi)沒有選擇,GRUB將引導缺省選項。 在此界面中按[e]鍵進入編輯接口或按[c]進入命令行接口。 (2)、菜單編輯接口(menu entry editor interface) 在菜單接口下按[e]鍵就可以進入此接口,GRUB中的所用命令行都會在此接口下顯示出來,用戶也可以在此接口下增加或修改這些命令行。例如,在當前行按下[o]鍵就會在當前行后插入一個新行,按[O]鍵就會在當前行的前面插入一個新行,按[e]鍵編輯當前行,按[d]鍵刪除此行,當所有的改變完成后按[b]鍵執(zhí)行命令和引導操作系統(tǒng),按[esc]鍵撤消所有的改變并加載標準菜單接口,按[c]鍵進入命令行接口。 (3)、命令行接口(command line interface) 命令行接口是GRUB接口中的一個非常重要的基本接口。在此接口下能實現(xiàn)許多控制功能,當輸入完命令后按回車[enter]鍵就能執(zhí)行它。這個接口也用著與shell相似的特性,包括使用[tab]鍵,和一些使用[ctrl]鍵來組合使用的快捷方式,如[ctrl]-[a]移動第一行,[ctrl]-[e]移動最后一行。還有,如方向鍵、[home]、[end]和[delete]這些鍵的使用與bash shell下作用一樣。 四、接口加載順序 當GRUB在加載它的第二階段引導程序時,它首先查找它的配置文件,一旦發(fā)現(xiàn),菜單接口屏幕就被顯示出來,如果在三秒內(nèi)按下任意鍵,GRUB就顯示一個有菜單列表的菜單接口給用戶選擇,如果在規(guī)定時間內(nèi)沒有按下任何鍵,那么GRUB會加載在它配置文件中設定的缺省項。 如果配置文件不存在或配置文件不能讀取,GRUB就加載命令行接口,允許用戶鍵入命令來完成引導工作。 如果配置文件無效,GRUB會在屏幕上顯示出錯誤信息并詢問輸入。它能幫助用戶識別出錯的原因,此時按下任意鍵會重新加載菜單接口,用戶可以通過出現(xiàn)的錯誤提示,通過按[e]進入編輯模式內(nèi)修改出錯的行來糾正錯誤。如果糾正失敗,GRUB報告錯誤信息并重新加載菜單接口。 五、GRUB命令 GRUB允許用戶在其命令行界面中輸入它可以執(zhí)行的命令,一些命令后可以跟一些不同的選項,這些選項必須用空格字符來分別隔開。 以下是一些有用的命令: (1)、boot:引導操作系統(tǒng)或通過鏈接方式加載最后加載項; (2)、chainloader <part/to/file>:為鏈接加載方式指定文件,如果這個文件在指定分區(qū)中的第一個扇區(qū),可以使用區(qū)段位、+1,代替文件名,例如:chainloader +1; (3)、displaymem:顯示所使用的內(nèi)存,這些信息來自BIOS。 (4)、initrd </path/to/file>:在引導時指定初始化內(nèi)存盤所使用的映像文件絕對路徑。當根分區(qū)被格式化為ext3文件系統(tǒng)時必須加載此項。以下是一個initrd命令的例子: initrd /initrd-2.6.13-1.52.img (5)、install <stage-1> <install-disk> <stage-2> p config-file:安裝GRUB到系統(tǒng)MBR中。 <stage-1>:指定需要加載的第一階段引導程序所在硬盤和分區(qū)中的位置,例如:(hd0,0) /grub/stage1; ???? <install-disk>:指定第一階段引導程序必須安裝在哪一個磁盤中,例如:(hd0); <stage-2>:指定第二階段引導程序所在的位置,如(hd0,0) /grub/stage2; p <config-file>:此選項告訴安裝命令通過指定的<config-file>來查找配置文件,例如:(hd0,0) /grub/grub.conf。 (6)、kernel </path/to/kernel> <option-1> <option-2>...:指定當引導操作系統(tǒng)時所要加載的內(nèi)核文件。用內(nèi)核文件在分區(qū)中的絕對位置來代替</path/to/kernel>,所要加入的選項代替<option-1>等,例如 root=/dev/hda5指定根分區(qū)在設備中的位置,多個選項用空格隔開分別在后列出。例如: kernel /vmlinuz-2.4.21 root=/dev/hda5 (7)、root (<device-type><device-number>,<partitions>):為GRUB配置根分區(qū)和掛載此根分區(qū),例如:root(hd0,0); (8)、rootnoverify(<device-type><device-number>,<partition>):為GRUB配置根分區(qū),但不掛載此根分區(qū)。 其它的一些命令可以輸入help --all來得到。 六、GRUB配置文件 /boot/grub/grub.conf配置文件,用來創(chuàng)建一個在GRUB菜單接口中的操作系統(tǒng)引導列表。 (1)、配置文件結(jié)構(gòu) GRUB配置文件/boot/grub/grub.conf中的命令用來為菜單接口模式設置全局參數(shù)。以下是一個紅帽企業(yè)linux下使用的非常基本的GRUB菜單配置文件: default=0 ??? timeout=10 ??? splashimage=(hd0,0)/grub/splash.xpm.gz ??? hiddenmenu ??? title Red Hat Enterprise linux as (2.6.8-1.523) ???????? root(hd0,0) ???????? kernet /vmlinuz-2.6.8-1.523 ro\ root=/dev/volgroup00/logvol00 rhgb quiet ???????? init /initrd-2.6.8-1.523.img ???? title windows ???????? rootnoverify (hd0,0) ???????? chainloader +1 ??此配置文件設置紅帽企業(yè)linux為GRUB缺省的引導操作系統(tǒng),選擇時間為10S,通過改變default=0為default=1來改變?nèi)笔∫龑У牟僮飨到y(tǒng)為windows。 配置文件指令 以下是GRUB配置文件中的一些通用指令: (1)、chainloader </path/to/file>:為鏈接方式指定文件,用一個文件在分區(qū)中的絕對路徑來代替</path/to/file>,如果此文件在指定分區(qū)中的第一個扇區(qū)上,可以用chainload +1來代替。 (2)、color <normal-color> <selected-color> :允許指定在菜單接口中使用的界前景與背景顏色以及所列出項被選時顏色與沒有選擇時的顏色。可用如下方式設置: color red/black green/blue (3)、default=<integer>:指定缺省引導的操作系統(tǒng)或內(nèi)核,以配置文件中用多少個標題項來決定<interger>一共為多少,如上所述配置文件中有兩項,<interger>為0時紅帽企業(yè)linux為缺省,當<interger>為1時windows為缺省。 (4)、fallback=<interger>:指定當加載缺省失敗時再加載哪一個操作系統(tǒng)或內(nèi)核。此指令一般只在多系統(tǒng)引導時使用。 (5)、hiddenmenu:指定在系統(tǒng)引導時如果用戶不按任意鍵就隱藏菜單列表。 (6)、initrd </path/to/initrd>:在系統(tǒng)引導時指定初始化內(nèi)存盤,</path/to/initrd>為初始化內(nèi)存盤的絕對路徑。 (7)、kernel </path/to/kernel> <option-1> <option-2>...:指定當引導操作系統(tǒng)時所要加載的內(nèi)核文件。用內(nèi)核文件在分區(qū)中的絕對位置來代替</path/to/kernel>,所要加入的選項代替<option-1>等。 (8)、password --md5:為GRUB引導器加入MD5加密的密碼保護。如果在GRUB中的全局配置項中加入此項,例如在timeout項下加入此指令并跟MD5序列,同時在每一個title項的下面加入lock命令,那么在引導時用戶只有按[p]鍵后輸入正確的密碼才能引導相應的操作系統(tǒng)和進行GRUB編輯,也可以分別為每一個操作系統(tǒng)建立獨立的啟動密碼。 (9)、root (<device-type><device-number>,<partitions>):為GRUB配置根分區(qū)和掛載此根分區(qū),例如:root(hd0,0)。 (10)、rootnoverify(<device-type><device-number>,<partition>):為GRUB配置根分區(qū),但不掛載此根分區(qū)。 (11)、timeoput=<interger>:指定GRUB加載缺省選項時的時間間隔,單位為秒。 (12)、splashimage=</path/to/image>:指定GRUB背景圖片路徑。 (13)、title group-title:指定在GRUB菜單接口列表中出現(xiàn)的操作系統(tǒng)或內(nèi)核名稱。 七、在引導時改變運行級別 當用戶需要在引導時改變系統(tǒng)的運行級別,用下述方法進行: (1)、當出現(xiàn)GRUB引導菜單屏幕時,按下任意鍵出現(xiàn)GRUB菜單接口。 (2)、在GRUB菜單接口下按[a]鍵出現(xiàn)一個增加內(nèi)核命令行。 (3)、在此命令行提示符下輸入要指定運行的運行級別,例如: grub append> ro root=/dev/volgroup00/logvol00 rhgb quiet 3 ??? 在此命令行后面指定了運行級別為3。 到此, GRUB引導器已經(jīng)讀完,相信以后在使用GRUB時會更加明了。 |
|
|
總結(jié)
以上是生活随笔為你收集整理的红帽企业linux4参考指南读书笔记-GRUB引导器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。