最近工作上遇到了一個小麻煩事。

有一臺虛擬機的OS打不開,看錯誤訊息是磁碟損壞。

首先依照xen設定檔位置找到我們的image
> disk = [ "tap:aio:/xen/images/centos6.img,xvda,w" ] 

不管做什麼事,我們一定要先做好備份

cp /xen/images/centos6.img /xen/images/centos6-bak.img

 

由於我們是使用dd產生的image檔,所以直接用losetup來產生磁碟連結

讓系統可以直接抓到。

losetup -f /xen/images/centos6.img

查看一下
losetup -a 


產生磁碟連結
kpartx -va /dev/loop1

#/dev/loop0~9 

現在應該可以看到磁碟了

/dev/mapper/loop1p1與/dev/mapper/loop1p2

/dev/mapper/loop1p1通常是/boot

/dev/mapper/loop1p2就是lvm的磁區

 

所以我們現在可以使用lvm的指令來掛載

vgscan 

vgchange -ay VolGroup00 

mount /dev/VolGroup00 /mnt

後面就可以拉拉資料或是修復磁碟

 

完成後反向做以上動作

1. umount any file systyems you mounted 
2. vgchange -an VolGroup00 
3. kpartx -d /dev/loop1 
4. losetup -d /dev/loop1 

搞定收工

相關文章