grub stage1、grub stage1.5、grub stage2的破壞與修復實驗

grub stage1、grub stage1.5grub 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

(5)
西行西行
上一篇 2018-05-13
下一篇 2018-05-13

相關推薦

  • NFS文件系統介紹及相關實驗

    NFS:Network File System 網絡文件系統,基于內核的文件系統。Sun公司開發,通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件,基于RPC(Remote Procedure Call Protocol遠程過程調用)實現

    2018-06-28
  • 第十次筆記

    自動化運維之自動化安裝系統

    2018-05-24
  • 初識——Linux文件管理

    一:文件系統結構 文件目錄 Linux文件目錄結構是一個倒樹狀結構,從根(/)開始依次往下,根文件系統為rootfs:root filesystem; 文件名稱區分大小寫是由文件系統決定的,CentOS6.x默認文件系統為ext4,CentOS7.x上默認文件系統是xfs; 以點(.)開頭的文件為隱藏文件,文件路徑以(/)分割; 文件有倆類數據:元數據和數據…

    2018-03-31
  • 第一周總結

    存儲網絡: DAS—–直接連接存儲(Direct attached storage) NAS—–網絡連接存儲(Network attached storage) SAN—–存儲區域網絡(storage area network) DAS優缺點: 直接存儲(Direct Attached Storage)。存儲設備與主機的緊密相連 1.管理成…

    Linux筆記 2018-04-01
  • CentOS系統Shell編程語言基礎之Bash的基礎特性

    bash的基礎特性之命令歷史: 命令歷史:shell進程會在其會話中保存此前用戶提交執行過的命令~]#history定制history的功能,可通過環境變量實現HISTSIZE:shell進程可保留的命令歷史的條數HISTFILE:持久保存命令歷史的文件, “.bash_history”HISTFILESIZE:命令歷史文件的大小 命令用法: history…

    Linux筆記 2018-06-27
欧美性久久久久