VMware Communities
valerio_vanni
Enthusiast
Enthusiast

vmx restored from vmware.log, but still "corrupted"

-Host is Debian Lenny amd64

-Guest is a Windows XP 32 bit

-Workstation is 10.0.2

Today, for a process that was writing on the disk of the host, the disk came full.

Vmware Workstation said, about a running VM, "the disk is full, should i power off, suspend, continue?".

I freed some GB of space, then did "continue".

At that point, I saw that the disk was filling up again, and I tried to suspend the virtual machine to look better at the issue.

The filling was faster than suspend, and I don't know how but I was not able anymore to open the virtual machine.

Then I found what was filling up the disk and resolved that problem, but that virtual machine is unusable.

Full backups of the VM are not updated, and I'd prefer to recover.

I tried to open vmx file with an editor, and it was full of crap: "@@@@@@@@@" and similar.

I tried to recover the file with this script

VMware KB:    Rebuilding the virtual machine's .vmx file from vmware.log


And now the vmx file has an acceptable content (I attach).

But if I try to open the file with Workstation, it still says "VMX file is corrupt"

What could be the issue?

I see these two lines:

checkpoint.vmState = ""Windows_XP_Pro_Nuovo-68da9fc2.vmss""

checkpoint.vmState.readOnly = ""FALSE""

but there is no .vmss in the directory.

Should I change the line?

The machine had two snapshot.

In the directory I have four disk (.vmdk) files.

I tried to mount them with Workstation "Mount Virtual Disks" and they are able to be mounted.

A little ".vmdk" (519 bytes), the oldest, contains the state at the time of the first snapshot

A big ".vmdk" (19 GB), same date, is not mountable (but I think it's the real content of the little one).

A big "-000001.vmdk" (12 GB), three months ago, contains the state at the time of the second snapshot.

A big "-000002.vmdk" (12 GB), of today, contains the state before the crash.

Should I try to recover this vmx file, or it's better to create another virtual machine and point it to -000002.vmdk?

Would I see only the actual state or also the snapshots?

Which files should I discard in the directory, and which should I keep?

As a last resort, I could try to extract files from the -000002.vmdk and then restore them in a backup copy of the VM, but it's a little old.

0 Kudos
3 Replies
a_p_
Leadership
Leadership

As a first step - unless already done - is to backup the current files! The next step is to fix the .vmx file, i.e. fixing the double-quotes. Most values are enclosed with two double-quotes instead of one.

André

continuum
Immortal
Immortal

Attached there is an edited version - it is simplified and should be failsafe.
If the vmdks and flp and serial-textfiles are where they should be it should boot.
It boots here in WS11 on Windows


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

valerio_vanni
Enthusiast
Enthusiast

Thanks to both.

I had already backed up everything.

The issue was the double quotes. I had noticed it, but i stupidly did a "replace all" so after the fixing there were three lines ending with = " instead of = "".

Now it works.

0 Kudos