boot分區是系統啟動中最重要的部分,如果伺服器由於病毒攻擊又或者被管理員誤刪除了boot分區。那麼就會存在潛在的風險。為什麼說是潛在的風險?因為boot分區被刪除後系統仍在繼續運行,看似無狀況但是在執行關機操作後就會無法啟動。 大致步驟 恢復過程 1.首先查看系統的磁碟情況,根目錄在邏輯捲,boo ...
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界面,按下回車系統正常啟動!