1.grub是什麼?
grub是一種引導加載器bootloader或者引導管理器bootmanager,通過grub可以引導linux,windows等平臺的操作系統。但是進入linux系統之後,在“#”或者“$”提示符下輸入的grub命令是什麼呢?其實這時候的grub是shell。並且提供了兩種工作模式,交互 (interactive)模式和非交互(batch)兩種模式,grub-install命令正是利用了grub的非交互模式,在系統下直接完成了 grub的安裝。
在自己製作小linux的過程中,有一步是要安裝grub的。如果沒有grub,系統就引導不了,就進不去系統,就會出現一種grub> 的提示符,此時如果不手動安裝grub的話,是不會進入系統的。
2.grub的安裝方式:
grub共有三種安裝方法:
第一種方法 |
第二種方法 |
第三種方法 |
grub-install |
grub>setup |
grub>install |
這種方法最常用 |
|
這種方法是最底層的方式 |
說明:由於最後一種方法grub>install是最底層的方式安裝grub,因此本文不再給出安裝方法,所以題目就是《grub的兩種安裝方式》,有興趣的朋友可到互聯網上對grub>install進行學習研究。
前提:在VMware虛擬機環境下實驗,並且給linux新增加一塊硬盤,並做好分區格式化,其中一個分區爲100M,掛載到/mnt/boot;另一個分區爲512M,掛載到/mnt/sysroot;還有一個128M的分區作爲交換分區,具體的分區格式化步驟不再給出。
提供好了內核和initrd
- # mkdir –pv /mnt/{boot,sysroot}
- # mount /dev/sdb1 /mnt/boot
- # mount /dev/sdb2 /mnt/sysroot
(1).先來說說第一種grub-install:
# grub-install --root-directory=/mnt /dev/sdb
(2).再來說說第二種grub>setup:
- # mkdir /mnt/boot/grub
- # cp /usr/share/grub/i386-redhat/* /mnt/boot/grub
- # grub
- grub> root (hd1,0)
- grub> setup(hd1)
3.提供grub的配置文件grub.conf
- # vim /mnt/boot/grub/grub.conf
- default=0
- timeout=5
- title RedHat Enterprise Linux Server (2.6.18)
- root (hd0,0)
- kernel /vmlinuz-2.6.18-164.e15 ro root=/dev/vol0/root rhgb quiet
- initrd /initrd-2.6.18-.164.e15.img
由於本人水平有限,不足之處還請指出。