VMware Communities
ccsatlos
Contributor
Contributor

I keep getting this file operation error...

Hey guys, got an early '07 MB trying to run Windows Vista with VMWare Fusion 2.0.2, but I keep getting this error...

Anyone got any ideas on how to fix this..?

Thanks.

Reply
0 Kudos
4 Replies
arang
Enthusiast
Enthusiast

Might be that you've got a bad spot on your hard drive....

You could try restoring from backup, or you could try to read the file using the command-line to see if it's OK:

1) run terminal

2) type:

cd '/Users/chriscsatlos/Documents/Virtual Machines.localized/Windows Vista.vmwarevm'

dd 'if=Windows Vista-s009.vmdk' of=/dev/null

and see if it reports any errors...

If you post your vmware.log file, it might have enough information to tell what's wrong.

Reply
0 Kudos
WoodyZ
Immortal
Immortal

dd 'if=Windows Vista-s009.vmdk' of=/dev/null

You have the single quote in the wrong place it should be...

dd if='Windows Vista-s009.vmdk' of=/dev/null

Reply
0 Kudos
arang
Enthusiast
Enthusiast

Actually, it'll work either way -- the shell strips the quotes in the same way before launching the app. (A sad reflection of stupid UNIX shell tricks..)

But in any case, the hope is that this might be a way to check if the file data itself is readable from disk, to see if the problem is there or in the VMware structures ...

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Actually, it'll work either way -- the shell strips the quotes in the same way before launching the app. (A sad reflection of stupid UNIX shell tricks..)

In this particular case that is true however while in this case it may be true and mostly because dd is one Unix program that doesn't conform to the norm when it come to its arguments in that it parses the command line regardless of the order of it arguments as well as I don't think the shell is validating dd arguments in the same manner as it does other Unix programs. I could point out may (if not almost all) instances where placing a single quote if front of a programs argument when referring to a parameter for that argument vs in front of the parameter of the argument that it will categorically fail but the point I'm trying to make is more from a programmatic coding standpoint in that it is better form to present commands for users to execute in a manner that is consistent with normal practices and not quirks and or bugs in a give program.

In that context I take "dd 'if=Windows Vista-s009.vmdk' of=/dev/null" to not conform to normal standards and would rather present a user with a command line that represent the normal standard of quoting only the file's name and or fully qualified pathname or just escaping the spaces in a file's name and or fully qualified pathname with backslashes both of which are normal standard practices vs using a quirk or bug.

But in any case, the hope is that this might be a way to check if the file data itself is readable from disk, to see if the problem is there or in the VMware structures ...

I totally agree and I have found it (dd) quite useful when normal copy and or disk imaging methods fail as well as when there is actually a bad sector within the sectors the file actually occupies and being able to recover the file in part and or whole where all other methods failed. I remember one trim trying to recover the users outlook.pst file on a Windows system and nothing Windows based could recover this file and all DOS/Windows based methods reported bad sectors in the space the outlook.pst file occupied. I booted the system with a Knoppix CD and used dd to copy the file across the network and was able to open the file then in Outlook. I tested the database and if had a few nonfatal errors that it cleaned up. The user was lucky because he hadn't backed it up in over 6 months but thanks to dd and my persistence he lost nothing.

Reply
0 Kudos