grub stage1、grub stage1.5、grub stage2的破壞與修復實驗
一、破壞并修復grub ?stage1?????? 446個字節
hexdump? -C? /dev/sda? -n? 512???????????? 查看MBR的512個字節
dd??? if=/dev/zero??? of=/dev/sda??? bs=1???????? count=446?? 破壞MBR的bootloader446字節
1、若在破壞grub1階段后沒有進行重啟系統的操作,則可以使用如下的方法:
grub? install? /dev/sda??????????????? 修復MBR的bootloader446字節
(此命令會將grub的1階段、1.5階段以及2階段全部修復,而不僅僅只修復這446個字節。)
2、若在破壞grub1階段后進行了重啟系統的操作,則可以使用如下的方法:
1)、reboot 重啟機器選擇救援模式(語言選擇English、鍵盤選擇US、不進行網絡配置并選擇打開shell模式。)
2)、剛進入時不能直接使用grub? install? /dev/sda命令,因為此命令并不是在光盤中存在,而是在原來的系統中,所以需要切根(chroot? /mnt/sysimage)
3)、切根完畢之后再執行grub? install? /dev/sda命令。
4)、執行操作symc進行同步,為了確保操作已經寫入磁盤,保險起見此命令至少要執行3次。
5)、選擇第三項reboot進行重啟。(看見菜單表示修復成功,可以進入系統)
6)、若重啟系統時需要打標簽可以通過禁用SELinux解決。
重啟后????? 輸入SELinux=0???????? 暫時禁用SELinux
開機后執行vim /etc/selinux/config????? SELINUX=disabled????? 永久禁用SELinux
3、用交互式grub命令來修復grub1階段446個字節
grub
grub >root? (hd0,0)????? 指定boot分區在hd(0,0)即在第一個硬盤的第一個分區
grub >setup? ( hd0 )???? 指定安裝地點(hd0),因為MBR不屬于任何的分區,所以安裝在第一個硬盤上,即(hd0)。
(此命令進行修復時依賴于/boot/grub/目錄下的文件***-stage1-5)
注grub ?install? /dev/sda命令用來修復比grub命令更加方便,因為grub ?install? /dev/sda命令不需要依靠/boot/grub/目錄下的文件。
二、grub ?stage1.5?????? 27個扇區
grub1.5階段存儲在MBR后的27個扇區中共有27*512=13824個字節。
dd??? if=/dev/zero??? of=/dev/sda??? bs=1???????? count=13824? skip=512 seek=512 ???跳過MBR的512個字節破壞grub1.5階段的13824個字節
(破壞之后重啟不會像破壞1階段一樣進入光盤,說明破壞1.5階段之后系統認為是有啟動硬盤能力的。)
重啟機器選擇救援模式(語言選擇English、鍵盤選擇US、不進行網絡配置并選擇打開shell模式。)
用交互式grub命令來修復grub1.5階段
grub
grub >root? (hd0,0)????? 指定boot分區在hd(0,0)即在第一個硬盤的第一個分區
grub >setup? ( hd0 )???? 指定安裝地點(hd0),因為MBR不屬于任何的分區,所以安裝在第一個硬盤上,即(hd0)。 一定要確定/boot/分區在第一個硬盤上,否則就不是hd(0)了。
將/boot/grub/目錄下的文件除了grub.conf和splash.xpm.gz都刪除,然后重啟機器,會發現系統無法啟動。也就是說一旦使用過grub修復過之后就不再是僅需要grub.conf和splash.xpm.gz文件了,還需要/boot/grub/目錄下的其他文件。
三、grub stage2??????? /boot/grub/下的文件
rm? -f? /boot/grub/*?????????? 刪除/boot/grub/下的所有文件
補上所缺失的grub2階段的配置文件
grub> kernel /VMlinux-2.6.32-696.e16.x86_64(可以使用Tab鍵補全)? root=/dev/sda2
grub>initrd /initramfs-2.6.32-696.e16.x86_64.img(可以使用Tab鍵補全)
grub>boot
啟動后將所刪除的文件補回來就可以了。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98361