【求助】恢复误删的虚拟机文件之后,无法再打开

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
bdhmwz
帖子: 1
注册时间: 2017-04-23 17:23
系统: ubuntu 16.04

【求助】恢复误删的虚拟机文件之后,无法再打开

#1

帖子 bdhmwz » 2017-04-23 19:01

自己手贱,误删了vmware虚拟机文件,恢复数据之后,发现vmx文件无法打开,已经损坏,但是vmdk文件似乎是没有受损的。
我尝试自己修改vmx文件,但是没有成功,所以尝试新建一个虚拟机,使用现有的虚拟磁盘文件,发现可以开机,但是打开之后一直卡在recovering journal的页面,无法再进一步
里面的数据对我至关重要,如果能提供有效的解决方法,我愿意付费
vmx文件和vmdk文件似乎是不允许上传的,我就在这里贴出来吧

SatLab.vmx文件

代码: 全选

.encoding = "GBK"
config.version = "8"
virtualHW.version = "12"
numvcpus = "4"
cpuid.coresPerSocket = "4"
vcpu.hotadd = "TRUE"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
sata0.present = "TRUE"
memsize = "6208"
mem.hotadd = "TRUE"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "SatLab.vmdk"
sata0:0.present = "FALSE"
sata0:0.fileName = "auto detect"
sata0:0.deviceType = "cdrom-raw"
sata0:1.present = "TRUE"
sata0:1.fileName = "auto detect"
sata0:1.deviceType = "cdrom-raw"
floppy0.fileType = "device"
floppy0.fileName = ""
floppy0.clientDevice = "FALSE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
ehci.pciSlotNumber = "35"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
mks.enable3d = "TRUE"
svga.graphicsMemoryKB = "786432"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
displayName = "SatLab"
guestOS = "ubuntu-64"
nvram = "SatLab.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
extendedConfigFile = "SatLab.vmxf"
uuid.bios = ""
uuid.location = ""
migrate.hostlog = ".\SatLab-aeacc47a.hlog"
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
vmci0.pciSlotNumber = "36"
sata0.pciSlotNumber = "37"
ethernet0.generatedAddress = "00:0C:29:F1:44:47"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "49366087"
monitor.phys_bits_used = "42"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "33554432"
cleanShutdown = "TRUE"
softPowerOff = "TRUE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
svga.guestBackedPrimaryAware = "TRUE"
tools.syncTime = "FALSE"
floppy0.autodetect = "TRUE"
sata0:0.autodetect = "TRUE"
sata0:1.autodetect = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "1"
toolsInstallManager.lastInstallError = "0"
ethernet0.linkStatePropagation.enable = "TRUE"
gui.exitOnCLIHLT = "TRUE"
gui.lastPoweredViewMode = "fullscreen"
floppy0.present = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
sata0:1.startConnected = "FALSE"
vc.uuid = ""
policy.vm.mvmtid = ""
inVMTeam = "FALSE"

SatLab.vmdk文件

代码: 全选

# Disk DescriptorFile
version=1
encoding="GBK"
CID=4447dc0f
parentCID=ffffffff
isNativeSnapshot="no"
createType="twoGbMaxExtentSparse"

# Extent description
RW 8323072 SPARSE "SatLab-000001-s001.vmdk"
RW 8323072 SPARSE "SatLab-000001-s002.vmdk"
RW 8323072 SPARSE "SatLab-000001-s003.vmdk"
RW 8323072 SPARSE "SatLab-000001-s004.vmdk"
RW 8323072 SPARSE "SatLab-000001-s005.vmdk"
RW 8323072 SPARSE "SatLab-000001-s006.vmdk"
RW 8323072 SPARSE "SatLab-000001-s007.vmdk"
RW 8323072 SPARSE "SatLab-000001-s008.vmdk"
RW 8323072 SPARSE "SatLab-000001-s009.vmdk"
RW 8323072 SPARSE "SatLab-000001-s010.vmdk"
RW 8323072 SPARSE "SatLab-000001-s011.vmdk"
RW 8323072 SPARSE "SatLab-000001-s012.vmdk"
RW 8323072 SPARSE "SatLab-000001-s013.vmdk"
RW 8323072 SPARSE "SatLab-000001-s014.vmdk"
RW 8323072 SPARSE "SatLab-000001-s015.vmdk"
RW 8323072 SPARSE "SatLab-000001-s016.vmdk"
RW 8323072 SPARSE "SatLab-000001-s017.vmdk"
RW 8323072 SPARSE "SatLab-000001-s018.vmdk"
RW 8323072 SPARSE "SatLab-000001-s019.vmdk"
RW 8323072 SPARSE "SatLab-000001-s020.vmdk"
RW 8323072 SPARSE "SatLab-000001-s021.vmdk"
RW 8323072 SPARSE "SatLab-000001-s022.vmdk"
RW 8323072 SPARSE "SatLab-000001-s023.vmdk"
RW 8323072 SPARSE "SatLab-000001-s024.vmdk"
RW 8323072 SPARSE "SatLab-000001-s025.vmdk"
RW 1638400 SPARSE "SatLab-000001-s026.vmdk"

# The Disk Data Base 
#DDB

ddb.adapterType = "lsilogic"
ddb.deletable = "true"
ddb.geometry.cylinders = "13054"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "0ae4a03c77d7e31edcedd3ca941c6b94"
ddb.toolsInstallType = "4"
ddb.toolsVersion = "10247"
ddb.uuid = "60 00 C2 9d 49 8e d7 da-c6 6a 4a 7e 5f ea b4 a4"
ddb.virtualHWVersion = "12"
SatLab-00001.vmdk文件

代码: 全选

# Disk DescriptorFile
version=1
encoding="GBK"
CID=1fd89250
parentCID=4447dc0f
isNativeSnapshot="no"
createType="twoGbMaxExtentSparse"
parentFileNameHint="G:\huifu\Recovered1\SatLab\SatLab.vmdk"
# Extent description
RW 8323072 SPARSE "SatLab-000001-s001.vmdk"
RW 8323072 SPARSE "SatLab-000001-s002.vmdk"
RW 8323072 SPARSE "SatLab-000001-s003.vmdk"
RW 8323072 SPARSE "SatLab-000001-s004.vmdk"
RW 8323072 SPARSE "SatLab-000001-s005.vmdk"
RW 8323072 SPARSE "SatLab-000001-s006.vmdk"
RW 8323072 SPARSE "SatLab-000001-s007.vmdk"
RW 8323072 SPARSE "SatLab-000001-s008.vmdk"
RW 8323072 SPARSE "SatLab-000001-s009.vmdk"
RW 8323072 SPARSE "SatLab-000001-s010.vmdk"
RW 8323072 SPARSE "SatLab-000001-s011.vmdk"
RW 8323072 SPARSE "SatLab-000001-s012.vmdk"
RW 8323072 SPARSE "SatLab-000001-s013.vmdk"
RW 8323072 SPARSE "SatLab-000001-s014.vmdk"
RW 8323072 SPARSE "SatLab-000001-s015.vmdk"
RW 8323072 SPARSE "SatLab-000001-s016.vmdk"
RW 8323072 SPARSE "SatLab-000001-s017.vmdk"
RW 8323072 SPARSE "SatLab-000001-s018.vmdk"
RW 8323072 SPARSE "SatLab-000001-s019.vmdk"
RW 8323072 SPARSE "SatLab-000001-s020.vmdk"
RW 8323072 SPARSE "SatLab-000001-s021.vmdk"
RW 8323072 SPARSE "SatLab-000001-s022.vmdk"
RW 8323072 SPARSE "SatLab-000001-s023.vmdk"
RW 8323072 SPARSE "SatLab-000001-s024.vmdk"
RW 8323072 SPARSE "SatLab-000001-s025.vmdk"
RW 1638400 SPARSE "SatLab-000001-s026.vmdk"

# The Disk Data Base 
#DDB

ddb.longContentID = "94b615280e58fb0698624b161fd89250"
附件
pic5.PNG
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 【求助】恢复误删的虚拟机文件之后,无法再打开

#2

帖子 科学之子 » 2017-04-23 20:59

代码: 全选

发现可以开机,但是打开之后一直卡在recovering journal的页面,无法再进一步
首先此时应当立即备份虚拟机磁盘文件,防止进一步误操作
如果只是恢复数据的话可以把这个虚拟机硬盘挂到别的正常虚拟机上
然后让正常的虚拟机从正常的虚拟机硬盘上启动一个系统去挂载有问题的虚拟机硬盘
试试看能否成功访问需要的磁盘内容
回复