Linux運維入門~24.系統常見排錯——2.核心檔案被刪除
1.設定光碟啟動拯救模式法
以虛擬機器為例,我們刪掉446位元組MBR磁碟引導
dd if=/dev/zero of=/dev/vda bs=446 count=1
這時候系統就無法開機了
關閉後
進入virt-manager
新增光碟驅動。選擇已有映象。注意,映象版本要與系統版本一致
在啟動選項中將CDROM勾選並置頂
apply同意
選擇Troubleshooting
選擇第二項拯救模式
ok 進入
注意,正常啟動後記得關機去boot option勾取CDROM,取消光碟啟動
在恢復系統檔案時,從光碟映象恢復是最常用的做法
2)核心被刪除 刪除/boot/vmlinuz-3.10.0-123.e17.x86_64 重啟報錯
新增光碟啟動項並連結映象 chroot /mnt/sysimage 真實主機所在地 mount /dev/sr0 /rhel7.0/ 找核心kernelrpm檔案
拷貝到/mnt拆包 rpm2cpio kernel-XXXX.rpm | cpio -id
將解包出來的核心檔案拷貝至真實主機/boot
exit x2
取消光碟啟動即可
原理(安裝映象中有所有系統執行需要的核心檔案,學會看報錯,缺哪裡,找哪裡補上)
3)系統初始化映象檔案丟失 模擬問題:rm -rf /boot/initramfs-3.10.0-123.e17.x86_64.img 版本號
當系統沒有重啟時 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
適用所有版本
uname -r 檢視核心版本號
當系統重啟時,報錯
設定光碟啟動 chroot /mnt/sysimage mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
重新生成核心檔案
exit x2
取消光碟啟動即可
4)刪掉/boot/
光碟啟動,拯救模式 grub2-install /dev/vda cp vmlinuz-3.10XXXXXXX /boot/ mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) grub2-mkconfig > /boot/grub2/grub.cfg
即,將上述操作都做一遍,注意恢復順序
2.手動引導啟動
引導檔案被刪除 模擬實驗:rm -rf -/boot/grub2/grub.cfg
1.當系統沒有重新啟動時: grub2-mkconfig > /boot/grub2/grub.cfg 重定向恢復檔案
2.當系統重啟 grub > set root='hd0,msdos1'此部分內容不固定,位置指向/boot所在分割槽a代表0,msdos是MBR分割槽 可以看grub.cfg檔案內容確定 grub > linux16 /掛載分割槽/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1 根分割槽裝置名稱 grub > initrd16 /掛載分割槽/initramfs-3.10.0-123.e17.x86_64.img 初始化程式指定映象
grub > boot 以上操作可以使系統臨時正常啟動,但是進入系統後還要 grub2-mkconfig > /boot/grub2/grub.cfg 重定向恢復檔案