一、系統可能會出現的故障
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