I'm working on a kernel 2.4-based OS that normally runs on hardware, but now we're porting it to VMWare. I'm having trouble with access to the hard disk. There are no problems running on hardware, only on VMWare.
I'm getting "EXT3-fs: unable to read superblock" in the following two scenarios:
- On booting for the first time, or
- If formatting the whole disk (not just a partition)
The strange thing about (2) is that the error occurs after reboot, not before. The user has limited access to the shell, and the partitioning/formatting is done by the code, so it's not a PEBKAC problem (unless it's me, the developer). The other strange thing about (2) is that, as far as I know, the kernel reads the partition table at boot time, so the problem shouldn't even be possible.
We're running the OS on VMWare Player 2.5.1 and for conversion using qemu-img, with input/output formats raw and vmdk, respectively.
What's the difference between a hardware HDD (which works fine) and a VMWare virtual HDD? What do I need to do in the code to not confuse the kernel?