天天看點

基于Linux的簡單系統錯誤排查

一、超級使用者密碼遺忘

為模拟遺忘密碼,我們可以修改root密碼為随意字母組合

基于Linux的簡單系統錯誤排查

在修改完成後,reboot重新開機虛拟機

此時遺忘密碼,是以無法使用密碼登入。再次重新開機電腦

基于Linux的簡單系統錯誤排查

在開機的過程中快速按E,進入以下的界面

基于Linux的簡單系統錯誤排查

對紅框中的内容進行一定的修改

基于Linux的簡單系統錯誤排查

修改完成後,crtl+d退出

修改根目錄,并輸入期望的密碼

基于Linux的簡單系統錯誤排查

若虛拟機的selinux處于enforcin狀态需要建立 .autorelabel 檔案。

修改完成後crtl+D退出,在虛拟機開啟後便可以輸入密碼登入

基于Linux的簡單系統錯誤排查

二、MBR引導記錄丢失

為模拟mbr分區中的引導記錄丢失,我們利用dd指令,從/dev/zero中取0存在于/dev/vda分區中

基于Linux的簡單系統錯誤排查

在修改引導記錄後,重新開機虛拟機會發現因為缺乏引導記錄導緻無法啟動。

基于Linux的簡單系統錯誤排查

可以利用鏡像來恢複引導記錄,在該虛拟機中添加一個CD光牒,并選擇鏡像

基于Linux的簡單系統錯誤排查

并選擇以CD光牒模式啟動

基于Linux的簡單系統錯誤排查

因為我們隻需要恢複引導記錄,是以選擇修複功能

基于Linux的簡單系統錯誤排查

選擇修複系統功能

基于Linux的簡單系統錯誤排查

輸入1繼續,并回車進入指令輸入環境

此時CD光牒啟動,需要修改根目錄

在修改根目錄後,利用grub2-install /dev/vda恢複引導記錄

基于Linux的簡單系統錯誤排查

在修複完成,關閉虛拟機。修改開機模式

選擇硬碟驅動

基于Linux的簡單系統錯誤排查

此時便能正常啟動

基于Linux的簡單系統錯誤排查

三、系統入口設定

有時,我們的電腦會選擇裝系統。在安裝Linux系統時,如何設定windows系統的入口呢/?

編輯grub2.cfg檔案,添加内容。

基于Linux的簡單系統錯誤排查

menuntry為固定格式

‘入口名稱’,單引号間的内容為入口名稱

大括号内的内容為參數

基于Linux的簡單系統錯誤排查

修改完成後,以硬碟驅動重新開機電腦

基于Linux的簡單系統錯誤排查
基于Linux的簡單系統錯誤排查

此時,在開機過程中便産生了windows 10的入口

四、檔案引導的丢失

删除檔案引導,以實驗如何修複引導檔案

基于Linux的簡單系統錯誤排查

删除後,虛拟機因為缺乏檔案引導而無法開啟

基于Linux的簡單系統錯誤排查

同樣利用CD光牒驅動

基于Linux的簡單系統錯誤排查

因為我們隻需要恢複引導檔案,是以選擇修複功能

基于Linux的簡單系統錯誤排查

選擇修複系統功能

基于Linux的簡單系統錯誤排查

輸入1繼續,并回車進入指令輸入環境

同時修改根目錄

chroot /mnt/sysimag

利用grub2-install /dev/vda生成硬碟

再利用grub2-mkconfig指令生成引導檔案,并利用管道将其存在/boot/grub2/grub。cfg檔案中。

在啟動的過程中,/etc/grub.cfg引導檔案也會被使用,是以需要進行複制

基于Linux的簡單系統錯誤排查

完成這些操作後,以硬碟驅動,開啟虛拟機

基于Linux的簡單系統錯誤排查
基于Linux的簡單系統錯誤排查

引導檔案恢複成功

五、核心檔案丢失

删除/boot中的核心檔案

基于Linux的簡單系統錯誤排查

在啟動的過程中,因缺乏啟動檔案而開啟失敗

基于Linux的簡單系統錯誤排查

可以利用鏡像來恢複核心檔案,在該虛拟機中添加一個CD光牒,并選擇鏡像

基于Linux的簡單系統錯誤排查

并選擇以CD光牒模式啟動

基于Linux的簡單系統錯誤排查

因為我們隻需要恢複引導記錄,是以選擇修複功能

基于Linux的簡單系統錯誤排查

選擇修複系統功能

基于Linux的簡單系統錯誤排查

輸入1繼續,并回車進入指令輸入環境

此時CD光牒啟動,需要修改根目錄,并檢視相關檔案

基于Linux的簡單系統錯誤排查

建立一個檔案夾,并将/dev/sr0挂載

基于Linux的簡單系統錯誤排查

進入Packages目錄,并ls kernel-*.rpm檢視核心檔案

基于Linux的簡單系統錯誤排查

此時存在兩個方法

方法一:重新安裝核心檔案

因為之前隻是删除了部分的核心檔案,是以系統本身還存在其他的核心檔案,是以此時要使用–force來強制安裝

基于Linux的簡單系統錯誤排查

方法二:僅安裝所需檔案

利用rpm2cpio kernel-3.10.0-123.e17.x84_64.rpm | cpio -id 進行拆包

在将所缺檔案拷貝至/boot驅動目錄中

基于Linux的簡單系統錯誤排查

方法一速度慢但是能針對在未知所缺檔案時使用

方法二速度快,但局限已知所缺檔案

完成這些操作後,以硬碟驅動,開啟虛拟機

基于Linux的簡單系統錯誤排查
基于Linux的簡單系統錯誤排查

開機正常,說明檔案修複成功。

六、系統初始化鏡像檔案丢失

删除系統初始化鏡像檔案,并重新開機

基于Linux的簡單系統錯誤排查

因為缺少系統初始化鏡像檔案,導緻開機失敗

基于Linux的簡單系統錯誤排查

可以利用鏡像來恢複系統初始化鏡像檔案,在該虛拟機中添加一個CD光牒,并選擇鏡像

基于Linux的簡單系統錯誤排查

并選擇以CD光牒模式啟動

基于Linux的簡單系統錯誤排查

因為我們隻需要恢複引導記錄,是以選擇修複功能

基于Linux的簡單系統錯誤排查

選擇修複系統功能

基于Linux的簡單系統錯誤排查

輸入1繼續,并回車進入指令輸入環境

此時CD光牒啟動,需要修改根目錄

利用mkinitrd生成初始化鏡像

第一個單引号表示,用單引号内指令産生的内容填充。

第二個單引号表示,子產品名稱

基于Linux的簡單系統錯誤排查
基于Linux的簡單系統錯誤排查

這兩條指令雖然存在一定的差別。但是效果的相同的。

完成這些操作後,以硬碟驅動,開啟虛拟機

基于Linux的簡單系統錯誤排查
基于Linux的簡單系統錯誤排查

開機正常,說明檔案修複成功。

七、系統啟動級别

(init 0)runlever0.target--------->poweroff.target(關機)

runlever1.target--------->rescue.target(挽救)

runlever2.target--------->multi-user.target(多使用者)

(init 3)runlever3.target--------->multi-user.target

runlever4.target--------->multi-user.target

(init 5)runlever5.target--------->graphical.target(圖形模式)

(init 6)runlever5.target--------->reboot.target(重新開機)

通過systemctl set-default +啟動級别修改

或者編輯 /etc/systemd/system/default.target修改

将啟動級别修改至開機自動關機

基于Linux的簡單系統錯誤排查

因為此時系統開機便會自動關機,導緻在開機過程中出現錯誤,無法開啟

基于Linux的簡單系統錯誤排查

在開機的過程中快速按E,進入以下的界面

基于Linux的簡單系統錯誤排查

對紅框中的内容進行一定的修改

基于Linux的簡單系統錯誤排查

修改完成後,crtl+d退出

更改根目錄後

設定啟動級别為圖形模式開啟

基于Linux的簡單系統錯誤排查

完成這些操作後,以硬碟驅動,開啟虛拟機

基于Linux的簡單系統錯誤排查
基于Linux的簡單系統錯誤排查

繼續閱讀