Linux之系統故障彙總

*一炁化三清*發表於2024-06-08

一、系統可能會出現的故障

1、管理員密碼忘記
2、系統無法正常啟動

  • grub損壞(MBR損壞、grub配置檔案丟失)
  • 系統初始化故障(某檔案系統無法正常掛載、驅動不相容)
  • 服務故障
  • 使用者無法登入系統(bash程式故障)

3、命令無法執行
4、編譯過程無法繼續(開發環境缺少基本元件)

二、單使用者模式

單使用者模式,也被稱為維護模式,超級使用者可以在此模式下恢復/修復系統問題。
在此模式下,系統會掛載所有的本地檔案系統,但不開啟網路介面。系統僅啟動特定的幾個服務和修復系統必要的儘可能少的功能。
當你想執行檔案系統一致性檢查來修復損壞的檔案系統,或忘記 root 密碼後重置密碼,或要修復系統上的一個掛載點問題時,這個方法會很有用。

1、命令解釋

  • root 檔案系統以 “只讀(ro)” 模式掛載。你可以用下面的命令來驗證下。下面的輸出也明確地告訴你當前是在 “緊急模式”。
# mount | grep root

  • 為了修改 sysroot 檔案系統,需要用讀寫模式(rw)重新掛載它。
# mount -o remount,rw /sysroot
  • 執行下面的命令修改環境,這就是大家熟知的 “監禁目錄” 或 “chroot 監獄”。
# chroot /sysroot

  • CentOS/RHEL 7/8 預設使用 SELinux,因此建立下面的隱藏檔案,這個檔案會在下一次啟動時重新標記所有檔案。
# touch /.autorelabel

三、模擬故障並恢復
1、管理員密碼忘記

此問題處理比較簡單,直接進入單使用者模式進行密碼更改即可。

開機啟動,在出現核心選項時按"鍵盤e鍵"進行編輯;找到linux16行並在行尾新增核心引數 rd.break;並按ctrl+x進入單使用者模式 
mount –o remount,rw /sysroot 
chroot /sysroot 
passwd root 
touch /.autorelabel 
exit 
reboot

#######或者#######
開機啟動,在出現核心選項時按"鍵盤e鍵"進行編輯;找到linux16行將 rd 改成 rw ,並在行尾新增核心引數 rd.break;並按ctrl+x進入單使用者模式 
chroot /sysroot 
passwd root 
touch /.autorelabel 
exit 
reboot

2、MBR損壞

  • 模擬MBR損壞
#dd if=/dev/sda of=/root/mbr.backup count=1 bs=512           備份mbr資料
#dd if=/dev/zero of=/dev/sda  count=1 bs=200                 損壞MBR
#sync
#shutdown -r now

  • 修復MBR

修復MBR需要進入緊急救援模式,掛載根檔案系統,預設只讀掛載在/mnt/sysimage目錄下,需要修改內容掛載讀寫模式。
此掛載的根屬於虛根。/dev沒有裝置檔案,需要手動建立裝置檔案。Mknod


進入救援模式後,輸入grup進入grup命令模式


查詢根位於的磁碟,設定根

grub>find (hd0,0)/tab鍵



退出grup模式,sync同步到磁碟,重啟

3、grup配置檔案丟失

  • 模擬grup檔案丟失
  • 報錯資訊
  • 修復過程

    輸入boot回車啟動,手動建立grup檔案
chroot /mnt/sysimage/載入系統映象此時會進入bash環境
grub2-install /dev/sda,重新構建sda磁碟
grub2-mkconfig -o /boot/grub2/grub.cfg,重新構建grub選單配置檔案

4、bash程式故障

  • 模擬故障
  • 故障現象

  • 修復bash
    掛載光碟

    安裝bash到根系統下

    切換根環境

參考
單使用者:https://linux.cn/article-12181-1.html
bash丟失:https://blog.csdn.net/weixin_40908896/article/details/93188977

相關文章