Grub的安裝方法

    Linux引導程序(Bootloader)中,主要有兩種多重操作系統引導管理器,這裏我們着重寫寫GRUB

LILOLinux Loader,是個很悠久的引導程序,但是有個缺陷,不適合引導大硬盤。

GRUBGrand Unified Bootloader,可以引導多種操作系統,不僅可以引導Linux,還可以引導windows操作系統,甚至還能引導freeBSDUNIX等操作系統。它的功能非常的強大,支持的操作系統的內核加載的功能也非常的多,而且GRUB還支持命令行編輯,還可以在GRUB界面中編輯啓動參數,還支持界面背景。另外,在redhat 5系列的GRUB版本默認支持的最大硬盤好像是2T,再大就應該裝更新的GRUB了。

在這裏我們應該知道引導文件是寫在MBRMaster Boot Record,主引導記錄)中的,MBR是位於磁盤的0柱面,0磁頭,1扇區的。它總共大小爲512字節,其中前446個字節是用來記錄引導程序(Bootloader)的,中間64個字節是記錄分區表信息的,最後兩個字節是MBR的有效標誌。但是,有沒有想過,我們的GRUB功能這麼強大,446個字節可以記錄下麼?那肯定是不行了,但是GRUB採用了一種巧妙的手段,採用兩段式引導。

 第一階段我們稱爲stage1:它是寫入到MBR中的,它沒啥用,就是用來啓動第二階段的;

第二階段我們成爲stage2:它通常是放在/boot/grub/目錄中的一些執行程序;

其實在它們兩個階段中還有一個階段,我們成爲stage1.5:它是用來識別磁盤的文件系統的,從而找到第二階段的文件了。(注:1.5階段的作用其實並不是用來識別文件系統的,只是爲了好理解這麼說的)

第二階段是讀取stage2的配置文件的,它的配置文件的名字叫:grub.conf。那麼這個配置文件都定義了什麼呢?讓我們一起來看看吧!

上面藍色的都是註釋,就不多作解釋了,看看主要有哪兒些內容吧!

1、 default=0:默認啓動第一個操作系統;

2、  timeoutGRUB界面顯示5秒,然後就默認啓動第一個操作系統;

3、 splashimage=(hd0,0)/grub/splash.xpm.gz:指定GRUB背景圖片的位置的;

4、 hiddenmenu:用來隱藏GRUB菜單的,沒有這個命令,就顯示GRUB菜單;

5、 title Red Hat Enterprise Linux Server (2.6.18-164.el5)title後跟的就是GRUB菜單中顯示的標題的,這個標題可以是你喜歡的隨意名稱,另外,每個title只能指定一個內核或一個操作系統;

6、 root (hd0,0):指定根所在的分區的,也是grup的根,用來把某個分區設爲文件訪問的起始點。這裏補充下,在GRUB中它表示的分區名稱是以hd命名的,而不是以sda1sdb1來命名的。例如第一塊磁盤的第一個分區在GRUB中是這樣命名的:hd00),第二個分區就是:hd01)。第二塊磁盤的第一個分區:hd10),以此類推;

7、  kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quietkernel後面是指定的內核;ro :表示以只讀的方式加載後面的內容;root=/dev/vol0/root:指定操作系統的根文件系統,就是操作系統啓動的根了;rhgb:是來說明這個是紅帽的;quiet:用於設定靜默模式的(如果不設置這個,在系統啓動中會輸出很多信息);

8、 initrd /initrd-2.6.18-164.el5.img:指定用來提供驅動程序的文件。當某個磁盤的驅動程序在內核中時,這項是可以省去的。

9、  password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.:用來設置密碼的,在圖中的位置表示,在完成GRUB選擇後,開始啓動操作系統時,需要輸入密碼;而這項如果在第一個title前面時,表示給GRUB加密,如果不輸入密碼,GRUB就無法修改和啓動了。

一、其他的不多說了,下面來看看如何安裝GRUB吧!

GRUB的安裝方法有兩種:在下面的兩種方法中有一個大前提,就是將磁盤分好區,給個簡單的分區方法吧!其實這個方法就是將一些參數通過管道的方式送給了fdisk這個分區命令了而已: 

  1. #echo ‘  
  2. >n  
  3. >p  
  4. >1  
  5. >   
  6. >+100M 
  7. >w ‘ | fdisk sdb 

1、第一種方法

使用grub-install命令來安裝:在紅帽5.4boot分區需要大約100M,紅帽6中大約需要500M,多了也沒用。我們這裏是以新加的第二塊磁盤來說明的:

1)、  首先在我們要將磁盤要掛載的目錄建立好(安裝GRUB,只能在boot目錄下): 

  1. #mkdir /mnt/boot 

2)、  將磁盤分區掛載到建好的目錄下來: 

  1. #mount /dev/sdb1 /mnt/boot 

3)、  現在就可以使用grub-install命令來安裝GRUB了: 

  1. #grub-install –root-directory=/mnt /dev/sdb 

弄完這三步,GRUB就在磁盤上安裝好了。

2、第二種方法

這個就需要複製文件,並進入grub>命令行中來實現了,這裏我們以redhat爲例,依舊是以新裝的第二塊磁盤爲例來說明的:

1)、  將磁盤掛在/mnt/boot目錄下:

  1. #mount /dev/sdb1 /mnt/boot 

2)、  boot目錄下新建grub目錄:

  1. #mkdir /mnt/boot/grub 

3)、  /usr/share/grub/i386-redhat/目錄下的所有文件複製到/mnt/boot/grub目錄中:

  1. #cp /usr/share/grub/i386-redhat/* /mnt/boot/grub 

4)、  進入grub模式中進行設置:

  1. #grub 
  2.  
  3. grub>root (hd1,0) 
  4.  
  5. grub>setup (hd1) 
  6.  
  7. grub>quit

經過這幾步第二種方法也完成了,是不是很簡單呢?不過還是需要多練啊,熟能生巧嘛,建議在虛擬機上多多練習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章