VMware Communities
davidh418
Contributor
Contributor

Problem with one slice of a vmdk set

This is a problem which first surfaced My VMware Fusion successfully boots Windows 10 on my Mac Pro, but at some point after I start working in Windows, I get a popup which contains the following error message:

Operation on file failed. If the file resides on a remote file system, please make sure your network connection and the server where this disk resides are functioning properly.

Retrying the operation just produces the error again, as does the Continue option. The Cancel option then crashes the virtual machine.

The error always names the same 'slice' of my sparse drive, which is split into multiple files but the disk space is not pre-allocated. I have used the vmware-vdiskmanager to check the base vmdk file, and its -e option initially reported that the disk chain is not consistent and the virtual disk needs repair. I then used the -R option to repair the disk, and get the message saying it was successfully repaired. However, if I then go back into Windows, the same error happens.

If I try to copy the VM to another drive, I get an "error code -36" from MacOS. I have tried the dot_clean utility, but this doesn't resolve the problem, and my VM is on an AFPS volume, which means that even if I was prepared to pay the UK prices for DiskWarrior, it wouldn't be able to fix the problem.

Can anyone suggest another remedy for this?

Additional information: I don't have to do anything in Windows to make this problem manifest itself. Just leaving the login screen on for a few minutes will eventually result in the popup appearing.

0 Kudos
5 Replies
wila
Immortal
Immortal

Hi,

You should make a good backup of anything on that drive in your Mac Pro.

For normal files, a backup via TM is fine.

For virtual machines TM is not reliable.

Copy other VMs by hand or use the utility Vimalin that I wrote and for which you can find a link in my signature.

Yes I know that error -36 is an error specific about files of which the file name start with "._"

It is only Finder that makes such files and you should not get an error on a disk slice as those files do not start with a dot underscore in their name.

So something worse is going on and IMO the disk your VM lives on is no longer to be trusted.

What happens if you try to copy the slice itself to an external disk? With the VM shut down of course.. do you get an error then?

Even if you cannot copy the whole VM to an external disk, try to copy as much files in the VM as possible.

There is a chance the VM can be repaired via some of the data recovery wizards (Andre or Ulli) that are also here at these forums.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
davidh418
Contributor
Contributor

I've tried copying the specific slice that gives the error, and that is the one which gives the -36 error. I've seen the online advice claiming that this error is somehow to do with . files on FAT partitions, but that isn't the case here, and I can't find anything online which talks about that error in any other context. I tried dot_clean, but it didn't help.

My guess would be that the slice file itself is corrupted somehow. I am also finding that Mac OS has been running slowly, for the last week or so, but haven't been able to get into its Diagnostics mode to find out what the problem is. Disk Repair reports that the disk concerned is fine, and has no problems. The virtual disk for the VM is on the same drive as my Mac OS boot partition, which is a 1TB SSD.

0 Kudos
wila
Immortal
Immortal

Hi,

I'm not sure why you end up getting error -36 as it appears to be giving the wrong signal when combined with what you are seeing.

re. "running more slowly" is one of the more common signs of failure when we're talking about SSD drives. If a drive has bad cells it will map them as bad and try to relocate the requested cells to new ones. When a disk is starting to go bad, it slows down because the remapping takes time. More blocks to remap the slower it gets.

Unfortunately Disk Repair is not always a reliable diagnose tool for this. The disk itself takes care of the remapping process, so Disk Repair does not get to see that part.

See for some details here:

5 Warning Signs That Your SSD Is About to Break Down & Fail

(ironically one of the screenshots in that article also has error -36)

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
davidh418
Contributor
Contributor

Thanks for that. I will look at swapping my boot device to another one. I have another in the system which is big enough.

Do you know of any utilities which might be able to recover the file which is giving the error? At the very least, I would like to get as much of that file back as possible, even if I lose a few corrupted bits. As it stands, I can't copy that file elsewhere, and I don't know which parts of my Windows system are in there.

Update:

I tried copying everything except this one slice to another drive, then adjusting the .vmdk file to remove the problem slice from the set. When I tried booting into the resulting VM, I got an error saying no operating system was found. So the slice with the problem seems to be a fairly important one.

By the way, many of my slices are more than the 2GB maximum size which all of the documentation seems to say they should be. Several of them are over 30GB, including the one with the problem.

0 Kudos
wila
Immortal
Immortal

Hi,

Do you know of any utilities which might be able to recover the file which is giving the error? At the very least, I would like to get as much of that file back as possible, even if I lose a few corrupted bits. As it stands, I can't copy that file elsewhere, and I don't know which parts of my Windows system are in there.

Data recovery specialists love a tool called dd, which is a command line tool and it takes blocks as parameters, not sure if it will help you much in this case.

I tried copying everything except this one slice to another drive, then adjusting the .vmdk file to remove the problem slice from the set. When I tried booting into the resulting VM, I got an error saying no operating system was found. So the slice with the problem seems to be a fairly important one.

Eeks, don't adjust the .vmdk to take a missing slice into account. That won't work, it might even have messed up your copy (although probably not).

The way a missing slice case is usually solved is by copying in an empty slice on the spot of the missing slice. If you don't have an empty slice, then create a new VM with a disk that is exactly the same size as your VM with the problem.

edit: Obviously that VM will still be damaged and the correct action to take after that is to copy the data out that you need and create a new VM.

By the way, many of my slices are more than the 2GB maximum size which all of the documentation seems to say they should be. Several of them are over 30GB, including the one with the problem.

The doc you read is out of date. In order to take the bigger disk size of today into account, the disk slice logic was changed, so that you don't end up with a huge amount of slices (which has its own challenges)

The split disk scheme since Fusion 7 is:

Capacity                    Extent size 
================================
<=128GB                 4GB (increased from 2GB)
>128GB && <2TB     Capacity / 32 (so maximum of 32 extents)
>=2TB                      2TB

IOW, your virtual disk is probably around 1TB in size and only has 32 slices.

With the old scheme that would have been 512 slices.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos