Right...
One of my friends had an issue with their computer, namely windows didn't boot. This problem occured randomly.

Being the good friend I am, , I took their computer for a while, backed the data up from knoppix, installed Windows Pro SP2 on half the drive, Linux (Ubuntu) on the other half, as requested.

I set up grub as a bootloader, everything was fine. Windows and Linux booted happily.

Ubuntu set up everything automatically and no further setup was required.
Windows needed patching and some drivers.
- Nvidia drivers to actually have a reasonable speed
- Some VIA AC '97 drivers
- About 40 patches from Windows Update

So I got all this stuff installed, during which there were a few reboots. All was fine for a few bootups and I had finalised all the settings and installed some free software like antivirus and OpenOffice. I was just about to pack the system away and return it to my friend so I double checked both operating systems.

Ubuntu booted fine, Windows, however, didn't. The screen flickered a BSOD after about 10 seconds on the moving progress bar thing and then rebooted. It said the previous bootup wasn't successful so I started again in Safe mode with command prompt. This time you could see all the drivers as it loaded them. It got to gagp30kx.sys and froze for a second then BSOD/rebooted. The BSOD is too quick for me to catch so I can't tell you what it says.

It has a VIA chipset (not sure what exactly it is right now but i'll get it as soon as possible).

Last time this sort of thing happened to me, it was my laptop, and it only had windows installed so I just did a repair. I tried the Windows bootdisk on this system and when I got to the partition table, it said that there was 1 partition on the drive and it was an Uknown Partition. So it appears a repair isn't possible.

I know there are 3 partitions on this drive. Any boot disk I've tried, cfdisk /dev/hda shows 3 partitions, 1 windows ~99gb , 1 linux ~99gb, 1 linux swap ~2gb, and I can successfully mount the ntfs partition from Linux. I'm really not sure what's going on with windows... any idea?

The gagp30kx.sys error seems to be the key with this. As far as I can see there is an issue with freezing at this during bootup, but I've not found any solutions.