首頁 > 軟體

災難恢復-boot分割區的恢復方法

2020-06-16 17:08:38

boot分割區是系統啟動中最重要的部分,如果伺服器由於病毒攻擊又或者被管理員誤刪除了boot分割區。那麼就會存在潛在的風險。為什麼說是潛在的風險?因為boot分割區被刪除後系統仍在繼續執行,看似無狀況但是在執行關機操作後就會無法啟動。

大致步驟

1.掛載CentOS系統映象
2.進入救援模式
3.修復fstab檔案
4.再次進入救援模式
5.從新安裝核心檔案
6.安裝grub
7.手動修復grub
8.重新啟動進入系統

恢復過程

1.首先檢視系統的磁碟情況,根目錄在邏輯卷,boot分割區為普通檔案系統。註:boot分割區只能在基本檔案系統。
然後將fstab檔案移出,將boot分割區下所有檔案刪除,模擬系統出現故障。確認boot分割區下沒有任何檔案。

2.重新啟動作業系統會出現如下圖所示,為什麼這個磁碟裝置連boot分割區都沒了系統還將這個裝置當做啟動裝置呢?那是因為BIOS根據設定好的順序尋找第一個有MBR資訊的磁碟裝置,只要有MBR資訊不論能不能啟動都會把這個裝置當做啟動裝置。如圖所示即/boot分割區與fstab檔案全部丟失的情況

3.再重新啟動,設定bios優先從光碟啟動,然後選擇第三個,進入救援模式

4.一路回車一路yes,直到下圖所示選擇no不開啟網路功能,因為這次主要演示從光碟的救援模式修復,所以沒有必要啟動網路服務。如果當前環境下沒有光碟機,那麼可以開啟網路服務進行修復,網路修復等下次再演示。

5.救援系統啟動後有一個任務就是將你原作業系統的根掛在到救援系統中/mnt/sysimage。由於fstab檔案也被我刪除了,所以救援系統無法找到原系統的磁碟路徑,也就談不上掛載原系統的根了,所以首要任務就是先修復/etc/fstab檔案。

6.使用blkid命令檢視當前系統中的裝置資訊,發現只有2個分割區。一個為ext4格式,一個為邏輯卷格式。我這裡搭建的環境比較簡單如果在生產中應該會有多個分割區。從圖上新資訊分析出/dev/sda1為boot分割區,/dev/sda2捲組。

7.既然知道根分割區在在邏輯卷中,那麼使用lvdispaly命令檢視邏輯卷分割區。黃色框中說明邏輯卷是非啟用狀態。

8.lvsacn檢視邏輯卷的狀態,此時顯示為非啟用狀態。vgchange -ay啟用所有邏輯卷。lvscan再次檢視邏輯卷狀態,對比第一次已經從inactive變為active(啟用)

9.再使用blkid命令檢視裝置資訊,發現多了2個裝置資訊,這就是邏啟用邏輯卷後顯示出來的。如果分割區多的話那就通過手動逐一掛載後進到分割區中去,檢視分割區中的各目錄分析各分割區的作用。在這裡很容易分辨出一個是root分割區一個是swap分割區。

10.建立掛載點,將root分割區掛載至掛載點

11.手動建立fstab檔案,按照fstab檔案的格式填寫相應的分割區資訊

12.重新啟動後再次進入救援模式,救援模式會提示將原作業系統的根掛載到/mnt/sysimage,此時標誌著/etc/fstab檔案已經修復完成

13.進入救援模式,首先要切根,然後掛在光碟,安裝kernel檔案

14.檢視boot分割區,目錄內出現一堆檔案,包括內和檔案與偽根檔案系統表明kernel安裝完成

15.安裝grub,安裝時指定磁碟裝置,而不是分割區。然後sync同步分割區一定要多同步幾次。

16.再次檢視boo分割區,如果出現grub目錄,就表示grub已經安裝完成。

17.手動建立grub,紅色框中為設定根目錄,一定要寫根分割區而不是磁碟。

18.再次開機出現grub介面,按下回車系統正常啟動!

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-09/146707.htm


IT145.com E-mail:sddin#qq.com