1. 程式人生 > >LINUX系統排錯 ------- 檔案引導階段檔案的恢復

LINUX系統排錯 ------- 檔案引導階段檔案的恢復

錯誤一.引導檔案丟失

grub引導檔案/boot/grub2/grub.cfg指定/boot分割槽的位置,用於載入核心,啟動系統初始化程序。

如果系統檔案丟失,讀到boot分割槽,不知道要讀取什麼了,便會停滯不前,出現這種問題,我們應該怎麼辦呢???


1.模擬問題

rm  -fr /boot/grub2/grub.cfg

啟動時會出現以下介面:

 

2.解決辦法

第一種:當系統沒有重新啟動,grub2-mkconfig >/boot/grub2/grub.cfg 生成引導檔案

grub2-mkconfig    顯示出來就是/boot/grub2/grub.cfg檔案中的內容
grub2-mkconfig >/boot/grub2/grub.cfg   自動生成檔案

 

第二種:當系統被重新啟動,採用手動引導的方式

grub > set root='hd0,msdos1'   ##此位置是不固定的,位置指定為/boot所在的分割槽
首先查/boot有沒有獨立掛載,如果沒有獨立掛載,就是在/分割槽下所在的裝置,若獨立掛載,則在掛載的裝置上

grub > linux16 /boot/vmlinuz-3.10-123.el7.x86_64 ro root=/dev/vda1   ##啟動核心,根分割槽的裝置名稱
grub > initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img     ##啟動init程式,進入初始化階段啟動初始化程序
grub2 > boot    ##重新啟動


注意:以上操作可以使系統正常啟動,但是是臨時的,所以進入系統之後還需要執行:grub2-mkconfig > /boot/grub2/grub.cfg生成引導檔案


重啟

 

成功!!!!!

 

 

錯誤二:系統核心檔案丟失


1.模擬問題

 刪除核心檔案

rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64

啟動系統會出現以下介面

 

2.解決方法

從掛盤掛載的映象中找到核心的安裝包,解包,得到和系統相匹配的核心檔案,拷貝到/boot下

第一步:關閉系統,改變啟動模式,進入挽救模式,更改根

chroot /mnt/sysimsge


 

第二步:掛載光碟,找到Package下的kernel-3.10.0-123.el7.x86_64.rpm

mount /dev/sr0 /westos
cd /westos 
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt                 #複製到別的目錄下
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm  | cpio -id    #解包,解出來

 

第三步:找到相匹配的核心檔案,複製到/boot中

 

第四步:更換啟動引導,重新啟動

 

成功!!!!!

 


錯誤三.系統初始化映象檔案丟失


1.模擬問題

rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img

啟動系統時,會出現以下問題:

當系統

 

2.解決方法

第一步:改變啟動引導,進入挽救模式,使用mkinitrd命令恢復初始化映象檔案

mkinitrd  /boot/initramfs-$(uname -r).img $(uname -r)

第二步:重新更換引導啟動系統

 

成功!!!!