適用場景:linux
當誤操做修改系統啓動文件/etc/fstab, /etc/rc.d/rc.sysinit時,就會形成系統啓動時讀取磁盤或初始化環境失敗,致使linux沒法正常啓動,此時就能夠藉助Linux的救援模式臨時進入系統,進行文件修改,糾正錯誤shell
救援(rescue)模式的本質:安全
只是一個帶shell的Linux運行環境,藉助它能夠經過mount和chroot進入要修復的系統bash
解決方法:網絡
有Linux啓動盤(或iso文件),系統是RHEL系統的:spa
用安裝光盤或者硬盤安裝的方式進入安裝界面:在shell 中輸入 Linux rescuecode
而後根據提示選擇語言和鍵盤格式blog
選擇是否配置網卡:通常系統到了要rescue了,網絡也就不須要了,因此能夠選擇跳過網卡配置,固然你若是須要也能夠選擇是,具體設置過程和安裝時同樣rem
選擇是否讓系統查找硬盤上的RHEL系統,選擇繼續。部署
硬盤上的系統已經被找到並掛載在/mnt/sysimage 下
按提示chroot /mnt/sysimage,以後你就能夠已經在你的要被拯救的系統下了
grub掛了的:grub-install /dev/hdxx
配置文件改錯的:vi /etc/fstab vi /etc/inittab
軟件包被毀的:rpm -F xxx.rpm
完成修復工做後,exit命令退出chroot,exit退出rescue shell 系統重啓
有Linux啓動盤(或iso文件),系統是非RHEL系統(如Debian)的:
前3步與上述方法1一致
第4步時,rescue程序會找不到硬盤上的系統,因此咱們選擇"跳過",直接進入shell
新建文件系統掛載點,進入系統磁盤分區
假設要拯救的爲debian 系統,系統分區部署爲: /dev/hda1 爲/boot分區 /dev/hda5 爲/分區 /dev/hda6 爲swap分區 ================================================== # fdisk -l (查看分區狀況) # mkdir /mnt/Linux # mkdir /mnt/Linux/boot (根據fdisk -l 獲得的信息建立目錄) # mount -t ext3 /dev/hda5 /mnt/Linux # mount -t ext3 /dev/hda1 /mnt/Linux/boot (掛載硬盤上的文件系統) # chroot /mnt/Linux (chroot 改變工做系統)
繼續方法1的第6-7步,作相應操做便可
無Linux啓動盤(或iso文件):
系統啓動時,按任意鍵進入grub選擇界面
選擇須要啓動的Linux系統,按「e」進入編輯界面
選擇kernel行,按「e」進入核心啓動模式編輯界面
在kernel行的最後加上「init=/bin/bash」,按回車鍵(Enter),而後按「b」進行從新引導
引導系統會獲得一個bash shell,但進入的系統是read-only的,需使用fsck檢查系統
fsck -a /dev/hdaX
# 處理根分區,X是根分區號,如hda2
將系統掛載成read-write的:mount / -o remount,rw
進行系統文件修改,或其餘操做
在修復好系統後將系統從新掛載成ro的,就能夠安全重啓了:mount / -o remount,ro
進入單用戶模式(適用於忘記root密碼的):
前3步與方法3一致
第4步,需在kernel行的最後加上「single」或「s」,按回車鍵(Enter),而後按「b」進行從新引導
輸入passwd修改root密碼
輸入init 6從新啓動系統便可