Linux系統CentOS進入單用戶模式和救援模式詳解


一、概述

    目前在運維日常工作中,經常會遇到服務器異常斷電、忘記root密碼、系統引導文件損壞無法進入系統等等操作系統層面的問題,給運維帶來諸多不便,現將上述現象的解決方法和大家分享一下,本次主要以CentOS為例;

二、CentOS 6 進入單用戶模式
1、重啟服務器,系統加載至如圖界面時,按“E”鍵,進入grub引導菜單的內核界面

2、在內核界面選擇使用上下箭頭移動並選擇內核;

3、內核選定之后再次按下“E”鍵進行編輯; 

4、在最后一行后面加上數字1(是單用戶模式的運行級別)或者single然后回車(補充:好像加數字1比較有效);

 

內核啟動時的選

選項 含義
init=/sbin/init 告訴內核用/sbin/init作為它的init程序
init=/bin/bash 只啟動bash,在緊急恢復時有用
root=/dev/foo 告訴內核用/dev/foo作為根設備
single 引導進入單用戶模式

5、然后根據提示按下b鍵(boot)進行重新引導;

 

 6、重啟后,可以進入系統,現在就是單用戶模式。我們查看一下系統剛剛是從哪個運行級別進來的;

 

 

7、現在我們可以進行相關操作,如:修改 root以及其他賬戶密碼;使用fsck進行系統修復、配置IP地址后,可以備份數據等等 

三、CentOS 6 進入救援模式

 1、首先開機后,選擇進入快速引導模式下,一般服務器都會選擇F12,選擇CD-ROM為第一引導分區。

 

2、重啟后進入安裝菜單,選中Rescue install system(救援模式) 后回車;

 

3、選擇語言,保持默認English 

 

 4、選擇鍵盤類型,保持默認us

 

5、是否啟動網絡,需要根據你實際情況進行選擇,如果需要通過聯網拷貝數據,選擇YES,在這里我們選擇NO; 

 

 6、進入到Rescue界面,選擇Continue

 

7、系統掛載在/mnt/sysimage下 如果要到root環境下,運行 chroot /mnt/sysimage 命令 

8、三種選項:shell 進入命令行模式;fakd是診斷模式;reboot重啟電腦;我們這里選擇shell

 

9、進入shell命令行,提示符為bash-4.1#

ls /mnt/sysimage/ 顯示掛載的目錄為根目錄的文件

執行chroot /mnt/sysimage/ 將/mnt/sysimage/目錄下的文件移動到根目錄;

命令后提示符為sh-4.1#

ls    顯示為根目錄的文件;

進入該模式下,可以選擇進行相關操作,如修改root密碼,使用fsck命令進行修復磁盤和文件等。

10、在sh-4.1#模式下需要先exit退出,回到bash-4.1#才可以reboot重啟系統;

 

----------------------------------------------------------------------------------------------

特別介紹:

fsck 命令用於檢查文件系統並嘗試修復出現的錯誤。 

命令的基本格式如下:

?
1
[root@localhost ~] # fsck [選項] 分區設備文件
表 1 fsck命令常用選項及其功能
選項 功能
-a 自動修復文件系統,沒有任何提示信息。
-r 采取互動的修復模式,在修改文件前會進行詢問,讓用戶得以確認並決定處理方式。
-A(大寫) 按照 /etc/fstab 配置文件的內容,檢查文件內羅列的全部文件系統。
-t 文件系統類型 指定要檢查的文件系統類型。
-C(大寫) 顯示檢查分區的進度條。
-f 強制檢測,一般 fsck 命令如果沒有發現分區有問題,則是不會檢測的。如果強制檢測,那么不管是否發現問題,都會檢測。
-y 自動修復,和 -a 作用一致,不過有些文件系統只支持 -y。

此命令通常只有身為 root 用戶且文件系統出現問題時才會使用,否則,在正常狀況下使用 fsck 命令,很可能損壞系統。另外,如果你懷疑已經格式化成功的硬盤有問題,也可以使用此命令來進行檢查。   

使用 fsck 檢查並修復文件系統是存在風險的,特別是當硬盤錯誤非常嚴重的時候,因此,當一個受損文件系統中包含了非常有價值的數據時,務必首先進行備份!
需要注意:在使用 fsck 命令修改某文件系統時,這個文件系統對應的磁盤分區一定要處於卸載狀態,磁盤分區在掛載狀態下進行修復是非常不安全的,數據可能會遭到破壞,也有可能會損壞磁盤。
舉例說明:如果想要修復某個分區,則只需執行如下命令:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@docker-01 ~] # df -hP   //查看一下硬盤分區情況,我的目前沒有損壞,只是舉例說明
文件系統                 容量  已用  可用 已用% 掛載點
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G  281M  3.6G    8% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   20G  2.9G   18G   15% /
/dev/mapper/centos-data   78G   33M   78G    1% /data
/dev/xvda1               197M  166M   32M   85% /boot
tmpfs                    782M     0  782M    0% /run/user/0
overlay                   20G  2.9G   18G   15% /var/lib/docker/overlay2/e147ff81360b119d6f724e68fb781e6c2aa93c983f3e264b94ba84e71528e37d/merged
[root@docker-01 ~] # fsck -r /dev/mapper/centos-root        //采用互動的修復模式,本次我修復的是根分區
fsck ,來自 util-linux 2.23.2
If you wish to check the consistency of an XFS filesystem or
repair a damaged filesystem, see xfs_repair(8).
/dev/mapper/centos-root : status 0, rss 1460, real 0.008662, user 0.000980, sys 0.000980

fsck 命令在執行時,如果發現存在沒有文件系統依賴的文件或目錄,就會提示用戶是否把它們找回來,因為這些沒有文件系統依賴的文件或目錄對用戶來說是看不到的,換句話說,用戶根本無法使用,這通常是由文件系統內部結構損壞導致的。如果用戶同意找回(輸入 y),fsck 命令就會把這些孤立的文件或目錄放到 lost+found 目錄中,並用這些文件自己對應的 inode 號來命名,以便用戶查找自己丟失的文件。

因此,當用戶在利用 fsck 命令修復磁盤分區以后,如果發現分區中有文件丟失,就可以到對應的 lost+found 目錄中去查找,但由於無法通過文件名稱分辨各個文件,這里可以利用 file 命令查看文件系統類型,進而判斷出哪個是我們需要的文件。

Linux開關機&重啟命令:

重啟:reboot、init6 、shutdown -r now 

關機:PowerOff、init0 、halt 

Linux運行級別:

0 --- 關機;

1 --- 單用戶模式

2 --- 命令行多用戶模式,不帶nfs網絡

3 --- 命令行多用戶模式

4 --- 保留

5 --- 圖形界面

6 --- 重啟

--------------------------------------------------------------------------------------------

四、CentOS 7 進入單用戶模式

1、服務器按開機按鈕,在進入條出現選擇內核系統時,按“e”鍵,之后使用上下按鍵進行選擇,在按“e”鍵進入編輯模式

2、進入編輯界面后,快速定位到ro 處(ro=readonly),把ro修改成“rw init=/sysroot/bin/sh”,完成后按 Ctrl+X 啟動運行。 

3、進入到單用戶模式下 ,輸入 chroot /sysroot/ 改變根分區,使用passwd root修改root密碼;

     注:可使用 touch /.autorelabel (為了使selinux生效)  

五、CentOS 7進入到救援模式,進入救援模式需要系統安裝光盤(注:U盤不可以)

1、服務器開機啟動,進行BIOS界面后,選擇快度鎧甲啟動項,一般機器均為F12;選擇CD-ROM為第一引導分區。 

2、進入光盤安裝界面,選擇第三項, 選擇“Troubleshooting”回車 ,選擇“Rescue a CentOS Linux system”回車。

3、進入救援模式下,選擇“continue”:輸入1  回車; 

4、回車得到一個shell命令行,顯示提示符后,根據提示輸入chroot /mnt/sysimage 切換到原來的系統。

5、進入到單用戶模式下,進行相關操作即可,與CentOS6類同。如修改root密碼:

 

 

轉載:https://www.cnblogs.com/easonscx/p/12703078.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM