|NO.Z.00004|——————————|ManageMent|——|Linux&系統管理.V04|
阿新 • • 發佈:2022-03-23
一、系統修復模式
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
### --- 單使用者模式
~~~ 我們先來看看單使用者模式是怎麼使用的吧。
~~~ Linux 的單使用者模式有些類似 Windows 的安全模式,只啟動最少的程式用於系統修復。
~~~ 在單使用者模式(執行級別為 1)中,Linux 引導進入根 shell,網路被禁用,只有少數程序執行。
~~~ 單使用者模式可以用來修改檔案系統損壞、還原配置檔案、移動使用者資料等。
二、如何進入單使用者模式
三、單使用者模式常見的錯誤修復
### --- 單使用者模式常見的錯誤修復 ~~~ 我們已經進入單使用者模式了,那麼我們在單使用者模式中主要可以修復哪些系統錯誤呢? ~~~ 我們舉幾個例子吧。
### --- 遺忘 root 密碼
~~~ 這是管理員最容易犯的錯誤,那麼應該如何修復呢?當然是使用單使用者模式進行修復了,
~~~ 進入單使用者模式最大的特點就是不需要輸入使用者名稱和密碼就能登入。
~~~ 既然已經登入了單使用者模式,那麼直接給 root 使用者設定新密碼即可。命令如下:
[root@localhost /]# passwd root
四、單使用者修復:實驗專題### --- 修改系統預設執行級別 ~~~ 如果我們把系統的預設執行級別修改錯誤,比如改為了 0 或 6,系統就不能正常啟動了。 ~~~ 這時也可以利用單使用者模式進行修復,只要直接修改預設執行級別配置檔案/etc/inittab, ~~~ 把系統預設執行級別修改回來即可。命令如下: ~~~ 把預設執行級別修改為 3 或 5。 ~~~ 注意系統的預設執行級別只能使用 3 或 5絕大多數系統錯誤都可以通過單使用者模式進行修復, ~~~ 理論上是隻要能夠進入單使用者模式,那麼系統錯誤就可以被單使用者模式修復。 ~~~ 當然判斷系統到底是哪裡出現了問題,是需要不斷的經驗積累的。 [root@localhost /]# vi /etc/inittab id:3:initdefault:
### --- 單使用者修改系統密碼 ~~~ F12進入grub模式 ~~~ e鍵進入修改核心修改模式;選擇下列模式:核心載入選項 kernel /vmlinuz-2.6.32-642.e16.x86_64 ro root=UUID=b90edbfd-9d24-4213—> ~~~ 接著按e鍵;進入編輯第二行內容 ~~~ 空格1——>回車 #空格必須有,1表示當用戶模式1界別 // 臨時生效 ~~~ b鍵直接進入啟動系統狀態;系統啟動後不需要賬號密碼直接進入到系統 ~~~ 更改root密碼即可, [root@localhost /]# passwd ~~~ 直接重啟進入3級別,進入系統。
一、光碟修復模式
### --- 光碟修復模式
### --- 如何進入光碟修復模式
~~~ BIOS密碼破解:直接扣掉主機板電池;主機板所有資料都恢復預設模式。
~~~ 密碼破解的前提:可以拿到本機如何進入光碟修復模式呢?
~~~ 首先你需要有系統光碟,或系統修復光碟。
~~~ 我們這裡只需要把 CentOS6.x 的第一張光碟放入光碟機,然後重啟系統。
~~~ 修改 BIOS 的啟動順序,讓系統從光碟啟動(具體方法參考系統安裝章節)。
~~~ 就會看到如圖 13-11 所示的光碟啟動介面:
二、光碟修復模式常見的錯誤修復
### --- 光碟修復模式常見的錯誤修復
~~~ 我們在光碟修復模式中主要可以修復什麼錯誤呢?其實能在單使用者模式中修復的錯誤,
~~~ 都能在光碟修復模式中修復。
~~~ 當然還可以修復一些在單使用者模式下無法修復的錯誤,我們舉幾個例子。
~~~ 重要系統檔案丟失,導致系統無法啟動
~~~ 如果系統中的重要系統檔案丟失,當然會導致系統無法正常啟動。
~~~ 這時也可以利用光碟修復模式修復。我們假設把/etc/inittab 檔案丟失了,
~~~ 我們通過系統啟動過程知道這個檔案是定義系統預設執行級別的,
~~~ 如果丟失了這個檔案,系統當然不能正常啟動,這時就需要進入光碟修復模式中了。
~~~ 然後需要利用 chroot 命令。命令格式如下:
~~~ chroot 命令的作用是“change root directory”改變系統根目錄的意思。
~~~ 也就是可以把根目錄暫時移動到某個目錄當中。
~~~ 我們是通過光碟啟動的光碟修復模式,所以我們現在所在的根目錄不是真正的系統根目錄,
~~~ 而是光碟的模擬根目錄。系統根目錄被當成外來裝置放在了/mnt/sysimage/目錄中。
~~~ 這時就需要 chroot 命令把我們現在的所在目錄移動成真正的系統根目錄。命令如下:
~~~ 這條命令執行之後,當前的根目錄就已經是真正的系統根目錄了。
~~~ 如果系統有任何錯誤都可以直接修復。比如/etc/inittab 檔案丟失了。
~~~ 這時如果我們曾經備份過系統重要檔案,只需要把備份檔案重新複製到/etc/目錄下即可。
~~~ 如果沒有備份的檔案,就需要從 rpm 包中提取 inittab 檔案,然後複製了。具體命令如下:
[root@localhost ~]# chroot 目錄名
bash-4.1# chroot /mnt/sysimage
### --- 進入救援模式
### --- 光碟啟動模式修復系統配置錯誤
~~~ 1、把光碟插入裝置
~~~ 2、進入BIOS
~~~ 3、Boot:CD-ROM Drive F10儲存退出
~~~ 4、Rescue installed system:救援模式
~~~ 5、語言:預設英文 鍵盤:US美式鍵盤
~~~ 6、安全模式下是否啟動網路:啟動與不啟動也可以
~~~ 7、Continue:進入安全模式操作 Read-Only:只讀 Skip:跳過,直接進入安裝 Advanced
~~~ 8、OK——>OK——>shell Start shell:進入安全模式
### --- 救援模式操作
~~~ 進入 root 目錄。因為預設進入的是/目錄,如果不進入 root,
~~~ 一會提取的 inittab 檔案會報錯
bash-4.1# // 目前進入的是光碟目錄
bash-4.1# chroot /mnt/sysimage // 真正的根目錄;修改系統根目錄
~~~ 改變主目錄
sh-4.1# cd /root
sh-4.1# pwd
/
### --- 實驗:模擬丟失inittab檔案丟失了。模擬找回操作。
sh-4.1# rpm -qf /etc/inittab
initscripts-9.03.31-2.el6.centos.i686
~~~ 查詢下/etc/inittab 檔案屬於哪個包。如果系統中檔案丟失不能查詢,需要通過其他 Linux
~~~ 系統查詢
sh-4.1# mkdir /mnt/cdrom
~~~ 建立掛載點
sh-4.1# mount /dev/sr0 /mnt/cdrom
~~~ 掛載光碟
sh-4.1# rpm2cpio /mnt/cdrom/Packages/initscripts-9.03.31-2.el6.centos.i686.rpm | cpio -idv ./etc/inittab
~~~ 提取 inittab 檔案到當前目錄
~~~ 複製 inittab 檔案到指定位置
~~~ 注意此命令執行時不能將檔案直接恢復至/etc 目錄,只能提取到當前目錄下,
~~~ 且恢復的檔名稱所在路徑要寫完整的絕對路徑。提取檔案成功後,
~~~ 將其複製到根分割槽所在的/mnt/sysimage 目錄下相應位置即可。
sh-4.1# cp etc/inittab /etc/inittab
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor