系統修復
下面所有的操作都網卡啓動或者光驅cdrom,從cdrom啓動系統引導進入到拯救環境
mbr 分區前446個字節壞了
比如:dd if=/dev/zero of=/dev/vda bs=446 count=1
進入挽救模式後,執行 grub2-install /dev/vda
/boot/grub2/grub.cfg丟失
真實環境中我們可以用一條命令生成grub2-mkconfig生成這個文件並且重定向到丟失的文件中:grub2-mkconfig > /boot/grub2/grub.cfg
以這個思路,我們在拯救環境中直接切換到真實的系統環境中用上面的命令就可以生成,完成修復系統,但是在進入真實系統之前啓動會停留在grub的shell裏面,需要執行以下命令在重啓,執行grub2-mkconfig。
set root=’hd0,msdos1’ ##hd0 代表第一塊硬盤,msdos1 代表第一個分區(視具體而定)
linux16 /vmlinuz-3……..ro root=/dev/vda1 (boot分區)
initrd16 /initramfs-3….. .img
boot
grub2-mkconfig > /boot/grub2/grub.cfg ##真實系統環境生成丟失文件
/boot/grub2/目錄丟失
思路跟上面一樣,真實環境中用grub2-install 可以生成
故拯救環境中還是切換到系統真實環境,在用命令生成
chroot /mnt/sysimages ##切換到真實系統環境
grub2-install ##生成目錄
推出拯救環境,重啓動,一切ok
/boot/vmlinuz-3.10.0-327.el7.x86_64文件丟失
分析:這個文件源於內核,故找到內核的安裝包拆包拷貝到真實環境的/boot目錄裏面就可以解決了。
光驅環境:
進入到拯救環境,df查看到光驅cdrom掛載在/run/install/repo上,找到repo找到Packages裏面的kerner-………….. .rpm
rpm2cpio /run/install/repo/Packages/kerner……… .rpm | cpio -id
cd boot
cp vmlinuz-3.10.0-327.el7.x86_64 /mnt/sysimage
reboot ,搞定。
網卡環境:
下載鏡像裏的 Packages/kernel-3……..rpm
rpm2cpio kernel-3…. | cpio -id
解壓後會有一個boot目錄
在boot目錄裏面拷貝丟失的文件到 /boot 下就ok了
初始化鏡像initramfs-3.10.0-327.el7.x86_64.img丟失
分析:這個也是可以通過命令生成的,故進如拯救環境中再切換到真實環境命令生成即可
chroot /mnt/sysimages ##切換到真實系統環境
mkinitrd /mnt/sysimage/boot/initramfs-
這裏說一下,$(uname -r)表示當前系統內核版本號,uname -r可以查看當前系統內核版本號,生成的時候注意,最後還有一個內核版本號,不可寫丟了
等帶生成完成,退出拯救環境,重啓ok
/boot誤刪
分析:系統啓動第一步讀取grub2裏面的相關文件,其次安裝內核(安裝的時候報錯,–force安裝)
進入挽救環境,切換到真實系統環境
chroot /mnt/sysimages ##切換到真實系統環境
grub2-install ##生成目錄
rpm -ivh /run/install/repo/Packages/kerner-……….. .rpm –force ##安裝內核(包含initramfs-3….文件和vmlinuz……文件)
grub2-mkconfig >/boot/grub2/grub.cfg ##生成啓動界面的配置文件
重啓動,一切ok
systemctl set-default + 啓動級別
• /etc/systemd/system/default.target