I have what I thought initially was a common problem. I use a Windows XP Professional VM for work on a daily basis. I was running out of space and I chose to use vmware-vdiskmanager to grow the disk to 100GB from 40GB. I followed some commonly accepted practices and attached the vmdk to a different VM in order to use diskpart to extend it. The extend succeeded and I shut the VM down properly, disconnected the vmdk, and reattached it to its proper home.
After booting the VM I got the infamous blinking cursor after POST. F8 did not do anything. I'd seen this before so I popped in the Windows XP CD, did a recovery mode, ran bootcfg /rebuild, fixboot and fixmbr. But now the problem had changed: the cursor still blinked on the blank screen, but now it was spewing blank characters all over the screen (resulting in the cursor jumping wildly all over the place.)
I tried to repair the installation using the XP CD; same boot time spam. I tried the alternate MBR that Ubuntu provides; same thing (after the MBR successfully chainloaded the boot sector of Windows, proving that the MBR is not at fault.)
I even tried to install a new copy of Windows next to the other one to see if that would work, but no.
I looked at the BIOS and restored the defaults. Still nothing. I set "Large Disk Access Mode" to "Other" instead of "DOS" since I did grow the disk. Didn't help either.
What else should I be looking at? I'm at my wit's end. I thought I understood x86 booting arcana, but it's clear I'm totally missing something. I'm a couple steps short of dumping and disassembling the boot sector to see what it's reading off the disk.