因爲開發過程中的一個不小心(其實就是makefile寫錯了,奶奶的),系統整體崩潰了。這個所謂的崩潰,怎麼說呢?其實就是整個linux centos的虛擬機進不去,啓動不了。最後查出來,整個分區表都被刪了,而且連/bin/sh下面的工具都沒了。What the fucking day!還好是在週末!於是從昨天下午開始,就開啓了我不眠不休的修復過程。
1、掛載硬盤到其他虛擬機。失敗。因爲讀不出來分區表,掛上去的硬盤也是瞎的。
2、使用光盤iso文件,本來想進入救援模式重新引導硬盤,最後遇到“you don't have any linux partitions press return to get a shell the system will reboot automatically when you exit from the shell”。然後進入shell。操作命令,執行chroot /mnt/sysimage/ ,報錯chroot:cannot run command '/bin/sh' no such file ro directory。然後網上有人說執行:e2label /dev/sda1 。報錯e2label :Bad magic number in super-block while trying to open /dev/sda2 Couldn't find valid filesystem superblock. 又妥妥的死衚衕了。
ps:如何進入救援模式請參考如下鏈接:http://www.osyunwei.com/archives/5764.html
3、實在沒轍,只能使用livecd 直接進入linux系統,掛載原始虛擬硬盤。
進入系統以後,發現採用fdisk -l是可以看到出錯的硬盤的。只是mount不可以,會提示“mount:unknown filesystem type 'LVM2_member'”.
解決辦法:
需要安裝 lvm2: yum install lvm2
然後按一下步驟:
(1)、查看物理卷:pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 279.22G 32.00M
(2)、查看卷組:vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 4 0 wz--n- 279.22G 32.00M
(3)、查看邏輯卷:lvdisplay
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol03
VG Name VolGroup00
LV UUID YhG8Fu-ZGPk-qt8D-AxgC-DzOU-dg1F-z71feI
LV Write Access read/write
LV Status unenable
# open 1
LV Size 245.97 GB
Current LE 7871
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
(4)、如未激活,需要激活邏輯卷:vgchange -ay /dev/VolGroup00
LV Status available
(5)、掛載邏輯卷:mount /dev/VolGroup00/LogVol03 /home/lvm
至此,在/home/lvm下面已經可以看到原來虛擬機中的數據。現在需要的就是拷貝恢復數據!但是虛擬機是廢了!不過至少數據還有!