You are here

CentOS VM Disk 毀損修理筆記

前些時候因為停電結果造成家裡跑幾個VM的主機掛點, 而且是主要對外網路、網頁伺服器(WIKI, OWL...)、資料庫、DNS、Zimbra..等服務的VM且跑的是CentOS, 因為當時建立虛擬硬碟時並沒有預先分配空間, 所以當停電完後發現VM不能正常啟動了, 使用VMware Workstation中工具的修復也是沒辦法修復錯誤, 自行使用命令模式也不行....

vmdisk fix error

試了好久, 突然想到另一套虛擬化軟體VitualBox 也可以讀取VMWare的vmdk硬碟, 於是便裝來試試, 只用之前建好的Debian主系統然後掛載vmdk的硬碟, 結果發現雖然可以掛載起來但是COPY裡面重要資料到一半時便出現一些Drive read error 的錯誤, 系統之後就當在那裡按Ctrl+C還不能中斷...真慘。

本來想說只能放棄這些重要資料了, 但是想想這些資料是花了很多時間整理的放棄還是太可惜了, 於是到網上找找看有什麼解決方案的...網上大都是說用虛擬機的修復工具就可以了...但是問題就是修不好....:( 後來想到另一種方式, 先把VMDK轉成VitualBox用的VHD, 最後看到網上看到這篇 介紹好用工具:VMDK(VMWare) to VHD Converter

首先到 http://vmtoolkit.com/files/folders/converters/entry8.aspx 下載VMDK(VMWare) to VHD Converter, 接著選無法修復的vmdk檔(CentOS.vmdk) 然後輸出檔案為centos.vhd 後開始執行, 等完成之後再用VitualBox 再重新掛載centos.vhd 發現可以正常掛載, 接著便備份裡面重要的資料和一些系統設定檔, 這次跟之前不一樣竟然可以正常copy完...不會有什麼drive read error的錯誤訊息呢 :D

接著這次學乖再重新安裝一個CentOS的系統, 硬碟使用預先分配的30GB, 安裝完成後再把資料回復回去, 這時發現雖然在從centos.vhd copy資料時沒有錯誤, 不過還是有一些檔案有毀損到...像是mediawiki某些表單, 後來發現這些表單其實不是那麼重要(因為主資料都還能讀取 :D ) 把這些有問題的表單檔案手動刪除後, 再利用shell執行

php mediawiki\maintenance\update.php

消失的表單又跑出來了...wiki 也能正常執行囉...^^ 其它的服務也慢慢的完全安裝與設定, 都恢復了功能真是可喜可賀呀 :D