Linux系統使用版本:CentOS 6.5
救援模式有什麼做用:
◆能夠更改root密碼;
◆恢復硬盤、文件系統操做;
◆系統啓動不來的時候,只能經過救援模式來啓動;
救援模式啓動的步驟以下:
一、首先開機進入BIOS設置(每臺電腦進入bios的方法不一樣根據本身的電腦進入),BOOT啓動順序爲光盤優先啓動 CD-ROM Drive 使用小鍵盤的+ -號調整上下順序;設置好後保存並退出。
linux
二、重啓系統後進入安裝啓動菜單,上下鍵移動到Rescue install system 救援安裝系統;
ios
三、選擇語言,保持默認English
shell
四、選擇鍵盤類型,保持默認us
數據庫
五、是否啓動網絡,須要根據你實際狀況進行選擇,若是須要經過聯網拷貝數據,選擇YES,在這裏咱們選擇NO;
bash
六、進入到Rescue界面,選擇Continue
網絡
七、系統掛載在/mnt/sysp_w_picpath下 若是要到root環境下,運行 chroot /mnt/sysp_w_picpath 命令
ide
八、三種選項:shell 進入命令行模式;fakd是診斷模式;reboot重啓電腦;咱們這裏選擇shell
spa
九、進入shell命令行,提示符爲bash-4.1#
ls /mnt/sysp_w_picpath/ 顯示掛載的目錄爲根目錄的文件操作系統
執行chroot /mnt/sysp_w_picpath/ 將/mnt/sysp_w_picpath/目錄下的文件移動到根目錄;
命令後提示符爲sh-4.1#
ls 顯示爲根目錄的文件;
命令行
十、在sh-4.1#模式下須要先exit退出,回到bash-4.1#才能夠reboot重啓系統;
能夠操做系統實施救援了
grub掛了的,grub-install /dev/hdxx
配置文件改錯的,vi /etc/fstab vi /etc/inittab ..................
軟件包被毀的 rpm -F xxx.rpm
完成修復工做後,exit命令退出chroot,exit退出rescue shell 系統重啓。
備註:
若是你硬盤上的系統是非rhel系統如debian的,那麼在第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 改變工做系統)
#
自此咱們順利進入硬盤上的debian系統,剩下來到就和先前同樣了,有冤的報冤有仇的×××。
另:
若是你的系統是文件系統損壞那麼就不用掛載,chroot 系統了。
直接 fsck /dev/hdxx 便可。
其實咱們仔細想一想這個rescue會發現,所謂rescue 模式只是一個帶shell 的linux 運行環境而已,而後經過mount 和 chroot進入要修復的系統的。
因此在沒有rescue 盤的狀況下我能夠利用 Linux livecd 或軟盤版的linux 進入shell 環境而後重作
# 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 改變工做系統)
#
就能夠簡單的進入一個rescue 環境了.:em02:
後記: 今天跑到機房一弄.不行. 因而乎開展了專項拯救活動.
<>
惠普硬盤 /dev/cciss/c0d0p1
案例二:系統配置文件丟失修復
系統在引導期間,很重要的一個過程就是init進程讀取其配置文件/etc/inittab,啓動系統基本服務程序及默認運行級別的服務程序完成系統引導,若是/etc/inittab誤刪除或修改錯誤,Linux將沒法正常啓動。此時,只有經過救援模式才能夠解決此類問題。
1、有備份文件的恢復辦法
進入救援模式,執行chroot命令後,若是有此文件的備份(強烈建議系統中的重要數據目錄,如/etc、/boot等要進行備份),直接將備份文件拷貝回去,退出重啓便可。若是是配置文件修改錯誤,如比較典型的/boot/grub/grub.conf及/etc/passwd的文件修改錯誤,也能夠直接修正恢復。假設有備份文件/etc/inittab.bak,則在救援模式下執行:
sh-3.1# chroot /mnt/sysp_w_picpath
sh-3.1# cp /etc/inittab.bak /etc/inittab
2、沒有備份文件的恢復辦法
若是一些配置文件丟失或軟件誤刪除,且無備份,能夠經過從新安裝軟件包來恢復,首先查找到/etc/inittab屬於哪個RPM包(即使文件丟失,由於存在RPM數據庫,同樣能夠查找到結果):
sh-3.1# chroot /mnt/sysp_w_picpath
sh-3.1# rpm -qf /etc/inittab
initscripts-8.45.3-1
退出chroot模式:
sh-3.1# exit
掛載存放RPM包的安裝光盤(在救援模式下,光盤一般掛載在/mnt/source目錄下):
sh-3.1# mount /dev/hdc /mnt/source
Fedora系統的RPM包存放在光盤Fedora/RPMS目錄下,其餘Linux存放位置大同小異,這裏不一一列舉;另外,由於要修復的硬盤系統的根目錄在/mnt/sysp_w_picpath下,須要使用--root選項指定其位置。覆蓋安裝/etc/inittab文件所在的RPM包:
sh-3.1# rpm -ivh --replacepkgs --root /mnt/sysp_w_picpath /mnt/source/Fedora/RPMS/ initscripts-8.45.3-1.i386.rpm
其中的rpm命令選項「--replacepkgs」表示覆蓋安裝,執行完成後,即已經恢復了此文件。
若是想只提取RPM包中的/etc/inittab文件進行恢復,能夠在進入救援模式後,執行命令:
sh-3.1# rpm2cpio /mnt/source/Fedora/RPMS/initscripts-8.45.3-1.i386.rpm
| cpio -idv ./etc/inittab
sh-3.1# cp etc/inittab /mnt/sysp_w_picpath/etc
注意此命令執行時不能將文件直接恢復至/etc目錄,只能提取到當前目錄下,且恢復的文件名稱所在路徑要寫完整的絕對路徑。提取文件成功後,將其複製到根分區所在的/mnt/sysp_w_picpath目錄下相應位置便可。
救援模式是維護Linux的有力武器,本文以上述兩個例子講解了它的應用方法,但願可以給讀者一點啓示。解決Linux系統啓動的故障,必須充分理解Linux的引導過程,纔可以對故障進行有效的判斷和處理。