centos關(guān)于GRUB2
2019-11-06 04:41:59
15050
grub2啟動(dòng)引導(dǎo)
GRUB 2是GNU GRUB(GRand Unified Bootloader)的最新版本。bootloader(引導(dǎo)程序)是計(jì)算機(jī)開(kāi)機(jī)后(bios自檢之后)第一個(gè)運(yùn)行的軟件程序,它負(fù)責(zé)加載操作系統(tǒng)內(nèi)核并把控制權(quán)交給操作系統(tǒng)內(nèi)核。之后,操作系統(tǒng)內(nèi)核初始化操作系統(tǒng)的其他部分。
在grub 2引導(dǎo)啟動(dòng)時(shí),會(huì)讀取配置文件/boot/grub2/grub.cfg。該配置文件中會(huì)列出該機(jī)器上安裝的所有操作系統(tǒng). 如果需要將某個(gè)系統(tǒng)作為默認(rèn)啟動(dòng)項(xiàng),則可以:
(1)在/etc/default/grub 中設(shè)置 grub_default=saved 表示保存系統(tǒng)的默認(rèn)啟動(dòng)項(xiàng)
(2)然后將它寫到grub2的啟動(dòng)配置文件 grub2-mkconfig -o /boot/grub2/grub.cfg
(3)執(zhí)行g(shù)rub2-set-default 啟動(dòng)名 設(shè)置為默認(rèn)啟動(dòng)
(4)此時(shí)查看 grub2-eidtenv list 可以查看此時(shí)的默認(rèn)啟動(dòng)項(xiàng)
grub2的啟動(dòng)配置文件為 /boot/grub2/grub.cfg,但是一般不直接修改它,而是通過(guò) 配置文件/etc/default/grub.cfg以及grub2-的相關(guān)命令來(lái)修改配置。
grub2修復(fù)GRUB
如果操作不當(dāng)導(dǎo)致機(jī)器GRUB bootloader失效(比如錯(cuò)誤修改/boot/grub2/grub.cfg),GRUB 2可能會(huì)加載失敗,隨后進(jìn)入啟動(dòng)提示符。此時(shí),可以在grub2中進(jìn)行啟動(dòng)設(shè)置修復(fù):
(1)列出GRUB 2識(shí)別的驅(qū)動(dòng)器
grub2> ls
(2)對(duì)于一個(gè)含有三個(gè)分區(qū)的 dos 分區(qū)表 /dev/sda, 輸出看起來(lái)類似于:
(hd0) (hd0, msdos3) (hd0, msdos3) (hd0, msdos3)
對(duì)于一個(gè)含有四個(gè)gpt分區(qū)表的/dev/sda,輸出看起來(lái)類似于:
(hd0) (hd0, gpt4) (hd0, gpt3) (hd0, gpt2) (hd0, gpt1)
(4)通過(guò)這些信息就可以在驅(qū)動(dòng)器的每個(gè)分區(qū)探測(cè)并定位您的vmlinuz和initramfs文件了,通過(guò)ls命令列出文件,進(jìn)行判斷
(5)有了vmlinuz和initramfs的全路徑就可以啟動(dòng)系統(tǒng)了:
(5.a)聲明根分區(qū):grub> set root=(hd0, 3)
(5.b)聲明您想使用的內(nèi)核:grub> linux (hd0, 1)/vmlinuz-3.0.1.fc6.i686 root=/dev/sda3 rhgh quiet selinux=0 #看自己機(jī)器情況修改內(nèi)容
(5.c)聲明要使用的initrd:grub> initrd (hd0, 1)/initramfs-3.0.1.fc16.i686.img
(5.d)通知 GRUB 2啟動(dòng)所選文件:grub > boot
(6)啟動(dòng)后打開(kāi)終端,執(zhí)行g(shù)rub2-mkconfig命令來(lái)重建grub2 啟動(dòng)系統(tǒng)所需要的grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2修復(fù)MBR
如果操作不當(dāng)導(dǎo)致機(jī)器的MBR(Master Boot Record主引導(dǎo)記錄,硬盤的0柱面,0磁頭,1扇區(qū)稱為主引導(dǎo)扇區(qū)。其中446字節(jié)是bootloader,64Byte為分區(qū)表,剩下2字節(jié)為magic number)錯(cuò)誤,可以使用grub2進(jìn)行修復(fù)。
如果出現(xiàn)MBR被破壞的情況,將無(wú)法通過(guò)bootloader進(jìn)入grub2命令行。此時(shí)需要使用光盤或者U盤進(jìn)入修復(fù)模式。在修復(fù)模式下,使用grub2-install命令重建bootloader,如何進(jìn)入修復(fù)模式:
#grub2-install root-directory=/mnt/sysimage/boot /dev/sda #重做MBR
#sync #將MBR寫入硬盤
#reboot
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)