From: Peter T. <pe...@ja...> - 2002-03-13 14:47:46
|
I have been trying to track down the cause of the corrupted cab files and I have come to the conclusion that something strange is going on inside bochs. Here's what I did. I mad a program which will md5 checksum all the cab files from dos within the guest os. I have a version for dos, and a win32 version. I ran the dos version on the original cab files stored on my main drive. Then I ran the very same program within bochs on the cab files stored within the virtual disk. Those cab files were copied using winimage. I booted up bochs into Win95 dos mode. To my surprise, I found one of the cab files gave a different checksum. Thinking that it may have been corrupted by the winimage program, I replaced the bad file by a new copy and ran the checksum program again. Same result - bad checksum. so then I booted up petros to run the win32 version of the checksum program. This time the checksum *ON THE VERY SAME FILE* gave the correct result. Different OSes access the drive in different ways I guess. Next I copied a fresh copy of the file to another directory on the guest virtual disk. I ran the original dos md5 checksum on the new file. This time I get the correct result. Now I would like to suspect my md5 test program as having a bug, but it produces very predictable results in win95 normal mode and win95 dos mode. Also, the win95 installer complains about a cab file halfway through the install, so I am pretty sure that the win95 dos is getting a corrupted disk block. Finally to test my theory, I ran fc.exe on the two files. At this point I get the following message. FATAL: hard drive BIOS:(read/verify) read error This is repeatable. I then tried to use copy to copy the file within bochs to another temporary file. No disk errors this time, and this third copy of the flaky file now matches the second copy. All I can think of is that there is a strange bug in the virtual IDE device that is causing this. Under some conditions, the drive works, under others it gets a read error. Ideas anyone? Peter -- Peter R. Tattam pe...@tr... Managing Director, Trumpet Software International Pty Ltd Hobart, Australia, Ph. +61-3-6245-0220, Fax +61-3-62450210 |