首先我們先破壞一下grub文件
這里我們先查看一下電腦是哪塊硬盤啟動的

這里我們就直接破壞硬盤的二進(jìn)制數(shù)據(jù),以達(dá)到grub的破壞。
要記住我們只能破壞前446字節(jié),也就是bootloader。后面64字節(jié)是分區(qū)表。
我們可以查看一下前512字節(jié)的二進(jìn)制文件
hexdump -C -n 512 /dev/sda

先破壞/boot/grub/stage1的前446字節(jié)也就是啟動硬盤的前446字節(jié)
dd if=/dev/zero of=/dev/sda bs=1 count=446
破壞后再查看一下二進(jìn)制文件

由圖中可以看出前面的字節(jié)已經(jīng)全部變?yōu)?了,也就意味著grub已經(jīng)被破壞了。
然后我們重啟
reboot
如果mbr(系統(tǒng)的前512字節(jié)主引導(dǎo)記錄 )出故障,系統(tǒng)啟動的表現(xiàn)形態(tài)看不見。
如果能看的見啟動 那就不是grub的問題。
啟動后直接回自動進(jìn)入光盤模式 然后進(jìn)入救援模式

然后會出現(xiàn)好多讓選擇的界面。針對這個問題,那些選擇可以不用管,一直默認(rèn)就行。
然后就會進(jìn)入救援模式中,這里是關(guān)盤啟動。

我們可以查看出系統(tǒng)有的現(xiàn)在的救援模式也都有。
但是現(xiàn)在還不是自己系統(tǒng)真正的根,所以我么你要先切換到我們系統(tǒng)的根去。
我們系統(tǒng)真正的根再/mnt/sysimage/
chroot /mnt/sysimage/

然后修復(fù)grub
grub-install /dev/sda

然后手動吧緩存寫進(jìn)磁盤里
sync
然后exit退出
重新啟動。

這時就意味著啟動了
如果1階段好好的 那就不會直接讓光盤啟動 1.5階段弄出故障不提示光盤系啟動 有一瞬間開機(jī)界面 但是系統(tǒng)一樣起不來
破壞1.5階段


這時我們用光盤啟動進(jìn)行修復(fù)。
重啟
然后選擇光盤啟動更1階段壞一樣。
進(jìn)入救援模式后先切根
chroot /mnt/sysimage/
然后再對gurb進(jìn)行修復(fù)。
grub-install /dev/sda
然后手動吧緩存寫進(jìn)磁盤里
sync
然后exit退出
重新啟動。

啟動看到這時就說明已經(jīng)修復(fù)成功了。
缺失grub.conf文件

制作gurb文件 直接寫出kernrl 三行就行 可以補(bǔ)全

啟動
也可以直接創(chuàng)建grub.conf文件

缺失/sbin/init文件
錯誤顯示

e d編輯
kernrl 那一行最后
init=/bin/bash
用bash啟動 然后進(jìn)行恢復(fù)
先把根重掛
munt -o remount , root /
把移動的文件移動回去 重啟
但是會出現(xiàn)錯誤

原因:文件移動之后會發(fā)把標(biāo)簽屬性發(fā)生變變
解決方法就繞過標(biāo)簽
啟動時輸入a
末尾加 selinux=0
然后ctrl+x重啟
/boot/grub刪除如何修復(fù)
這里我們直接把grub.文件全部刪除

然后查看一下,確認(rèn)刪除后重啟電腦

啟動界面
這時說明系統(tǒng)已經(jīng)起不來了。
我們只能進(jìn)入救援模式進(jìn)行啟動。
我們產(chǎn)考前面的環(huán)節(jié)進(jìn)入救援模式。
先切根
chroot /mnt/sysimage/
然后可以查看一下/boot/grub/文件是否已經(jīng)被刪除

然后再
grub-install
生成后gurb文件

我們先查看問價是否已經(jīng)生成

由查詢可以看出文件已經(jīng)生成了,但是還缺少/grub/grun.conf文件
最后生成grub.conf文件夾

完成后退出 重啟完成
/boot刪除如何修復(fù)
剛剛嘗試了/boot/grub的修復(fù),現(xiàn)在試一下/boot文件的修復(fù)
首先我們先刪除/boot文件
rm-rf /boot
/boot的文件刪不掉,但是/boot里面的文件已經(jīng)全部都刪除了

掛載光盤
mount /dev/sr0 /mnt
然后進(jìn)入光盤查看一下
把光盤中的/isolinux/vmlinuz文件copy到/boot
cp vmlinuz /boot/
內(nèi)核文件復(fù)制到/boot 中
把其他的文件生成

生成intramfs.img文件
mkinitrd /boot/initramfs.img ua=name -r
生成這個文件是掛驅(qū)動的,如果沒有這個文件根就掛不上去。
生成之后可以查看一下/boot文件下就有這兩個文件了。

然后再 生成grub文件
grub-install /dev/sda

最后生成grub.conf文件夾
完成后退出 重啟完成
深入破壞
移走/etc/fstab 文件
mv /etc/fstab /root/
再刪除/boot
rm -rf /boot

/etc/fstab 中寫的根掛載到哪,沒有該文件救援模式無法自動掛載到根。
啟動又是這個界面
所以大家可以看出只要是第二階段出問題頁面都是這個錯誤

救援模式啟動
會顯示沒有掛載根
查看硬盤

嘗試把/sd*也就是硬盤掛載一下,看看哪個是根。
然后常見/fstab文件掛載根

這里我們查看一下sda因為他是啟動盤
fdisk -l /dev/sda、
發(fā)現(xiàn)下面分好多。這時我們把每個都掛一遍看看哪個是根
我們先在/mnt下創(chuàng)建一個文件夾/tmp
mkdir /mnt/tmp
這樣我們可以把這些分區(qū)都掛到這個文件查看。
先掛/sda1然后查看一下
mount /dev/sda1 /mnt/tmp/

那我們再掛載sda2試一下
首先把剛剛的取消掛載才能掛載新的
umount /mnt/tmpmount /dev/sda2 /mnt/tmp/

可以sda2就是根分區(qū)
那我們就把根掛載上去。
既然sda2是根文件那么sda1就是/boot
這兩個是開機(jī)啟動的主要文件,這兩個掛上機(jī)器基本就能啟動。
等系統(tǒng)啟動后再去修復(fù)其他的錯誤。
所以一起掛載
編輯/fstab
vi /mnt/tmp/etc/fstab

先把掛件的掛載把系統(tǒng)修復(fù)起來。
完成后重啟,重新進(jìn)救援模式,先讓光盤啟動找到根再進(jìn)行修復(fù)。
進(jìn)入救援模式后先切根
chroot /mnt/sysimage/
然后掛載光盤
mount /dev/sr0 /mnt

這里可以像上一個實驗一樣去復(fù)制vmlinuz這個文件。
當(dāng)然也可以去安裝kernel.
裝載kernel

也可以 通過文件復(fù)制到/boot但是安裝的更完善

然后再寫gurb,conf文件
然后重啟
即使gurb,conf文件寫錯了,也可以在啟動界面中輸入c手動添加更改
進(jìn)入系統(tǒng)后 把其他的都掛載上
然后swapon -s啟動 swapon空間
