重啟后出現No bootable device場景下使用testdisk恢復數據
【關鍵字】
數據恢復,No bootable device,dd
【約束與限制】
1、請對故障磁盤創建私有鏡像或者快照,為了避免破壞源磁盤的數據,恢復操作在備份的磁盤上進行。
2、該文檔中的恢復建立在誤操作對磁盤破壞比較輕微,不能確保可以完全恢復數據,恢復程度取決于破壞的程度。
【問題場景】
使用中的ECS重啟后無法使用,登錄vnc查看顯示No bootable device
【根因分析】
出現No bootable device通常為MBR分區表故障,將故障的ECS關機并掛載到其他Linux服務器上可以進行排查。
掛盤后發現故障的系統盤(vdb)沒有分區和文件系統,如下圖所示
出現該問題的可能原因有:
1、對已運行中的磁盤使用fifo進行性能測試導致磁盤文件系統被擦除;
2、使用dd命令擦除了磁盤MBR分區表和文件系統。
該場景下是否可以恢復數據取決于錯誤操作的嚴重程度,如果擦除較少可以找回未被擦除的數據。
【操作步驟】
步驟一:恢復分區
1.1、將故障ECS關機,卸載系統盤并掛載至其他Linux服務器(這里我們使用CentOS7上。
1.2、安裝testdisk工具
# yum install testdisk
1.3、使用testdisk進行恢復,執行
# testdisk /dev/vdb
1.4、光標移動至“proceed”回車。
1.5、選擇要恢復的磁盤并點擊“下一步”
1.6、選擇“Analyse”(分析當前分區架構并搜索丟失的分區信息)。
1.7、選擇“Quick search”。
1.8、選擇“Continue”。
1.9、直接回車
1.10、選擇“Deeper Search”會進入分析過程,等待分析結束。
1.11、分析完成,點擊“Continue”。
1.2、點擊“Write”并確認輸入“y”,將分析的結果寫入。
1.13、連續選擇“Quit”退出。
步驟二:恢復文件系統
2.1、查看分區和文件系統,并嘗試掛載
2.2、如上圖所示分區和文件系統可以看到,但是掛載時提示文件系統存在錯誤,我們可以嘗試恢復文件系統,執行
# fsck.ext4 /dev/vdb1 –y
2.3、再次嘗試掛載文件系統后成功,恢復的數據存放在掛載下的lost+found目錄下,由于文件系統被破壞,原始的目錄無法看到,數據存放在以#開始的目錄,可以通過打開各個目錄確認是哪個原始目錄。
2.4、查詢root用戶的操作記錄,確定是否有擦除磁盤的操作。我們找到目錄中原始的root目錄,打開.bash_history文件,可以查到確實存在dd的操作,如下圖所示,該操作擦除了磁盤的從開始計算的2G空間。
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。