這篇文章主要簡述在linux系統中如何實現GRUB的安裝。
首先了解幾個概念:
MBR主引導記錄:是在我們磁盤上的0磁道0磁頭1扇區的位置 。
MBR總共有512個字節:主要包含引導程序bootloader 占據446個字節 , 磁盤分區表占據64個字節 ,引導封裝代碼占據2個字節
GRUB:全稱是Grand Unified Bootloader 是一個功能強大,支持內核也非常多的bootloader引導加載器.
我們知道在系統啟動過程中,系統在自檢完成之後靠之前bios設置的磁盤啟動順序找到相應的磁盤,此時首先找到的是磁盤的MBR, 然後加載MBR中的bootloader引導程序。
在linux中我們常用的bootloader就是GRUB,如果GRUB損壞或者丟失也就意味著我們無法去加載系統內核程序,系統也將無法正常啟動。
好了不羅嗦了,在此我們就介紹一下怎麼在虛擬機下去安裝GRUB ,
我們的操作環境是vm8的虛擬機,RedHat5.4的操作系統
第一種方法:
1 我們在redhat5.4的系統中,加上一個磁盤 ,創建一個分區,並將其格式化。
在虛擬機中給一個系統加一個磁盤,我想大家應該都不陌生,
在此我加了一塊磁盤為sdb
# fdisk /dev/sdb 創建一個分區/dev/sdb1
#mkfs –t ex3 /dev/sdb1 指定ext3的文件格式格式化磁盤分區
2 我們在mnt目錄下創建一個目錄為boot
#mkdir /mnt/boot
grub的相關文件是在/boot目錄下
3 掛載磁盤到此目錄
# mount /dev/sdb1 /mnt/boot
安裝是需要在/boot目錄下寫文件 所以掛載上去
4 安裝我們使用grub-install來安裝grub
#grub-install --root-directory=/mnt /dev/sdb
--root-directory = 此選項是指定grub安裝的位置
到此,我們用此新建的磁盤上的grub已安裝成功 ,我們再創建一個虛擬機,用此磁盤作為啟動盤就可看到grub的編輯界面了,此時再去指定根目錄,內核等等,當然這是後面的事情了。
第二種方法:
我們用grub-install安裝後生成的grub的目錄的裡面的內容和我們當前系統下 /usr/share/grub/i386-redhat目錄中的內容是一樣的,因此我們也可以通過復制文件的方式,然後再用grub命令來達到安裝grub的目的。
1:#mount /dev/sdb1 /mnt/boot 依然是掛載
2:#mkdir /mnt/boot/grub 創建以個grub的目錄
3: #cp /usr/share/grub/i386-redhat/* /mnt/boot/grub
復制前者的所有的文件到grub目錄下
4 # umount /dev/sdb1 卸載
5 # grub 運行grub命令會彈出黑色編輯框
grub> root (hd1,0) 輸入root (hd1,0) 回車 (hd1,0)表示第二個磁盤的第一分區
grub> setup (hd1) 輸入setup (hd1) 回車 此為安裝
grub> quit 輸入quit 回車 退出
此時再掛載上/dev/sdb1到 /mnt/boot查看grub目錄下,你會發現也已經有所需的文件了,再去用創建以個新的虛擬機驗證一下吧。