IF THIS POST HELPS YOU, PLEASE LEAVE A COMMENT!
If you install Windows Vista on a computer and you happen to run into this absolutely ridiculous error message:
“Windows could not determine if this computer contains a valid system volume”
The fix is extremely simple. We’ve run into it a few times when we needed to load a RAID or SATA driver from a USB flash drive. Let me explain what’s going on, and how to fix it, but not in that order.
The fix: unplug all the USB flash drives on your computer before you boot or reboot the computer. Even if Vista reboots the computer for you, UNPLUG ALL THE USB FLASH DRIVES.
What’s happening when you get the error is fairly simple to understand with a little information about how a PC’s BIOS works, and how Windows interacts with it. The BIOS attempts to boot from devices in a certain sequence, and on some computers this sequence puts USB storage devices before the actual hard drive or RAID array in the computer. The key aspect of all of this mess is the device that gets assigned as the first bootable hard drive in the system (known to people familiar with nasty BIOS programming stuff as “drive 0x80”) and Windows uses this assignment by the BIOS to figure out which hard drive in the system will be booted before all the others.
The whole idea here is to use the drive the BIOS says is the first hard drive to install the Vista boot files on. The problem is that almost all USB flash drives are considered to be hard drives by a modern BIOS, which totally trashes the detected boot order if USB flash drives are set to boot before internal hard drives. Windows Vista sees that a flash drive is the first bootable hard drive, but it knows that what it’s looking at isn’t actually a real hard drive (and if you’re plugging it in to get RAID drivers off of it like we do so often, the first phase of setup wouldn’t have had this problem while the second phase does).
Thus, “Windows could not determine if this computer contains a valid system volume.” The “system volume” is basically the first bootable hard drive, and that device is clearly not something Vista can (normally) boot from, so it spews this cryptic error message.
An alternative workaround is to change the BIOS boot order so that your USB stuff boots last, but you never know when you’ll need to boot a Linux rescue system from a USB flash drive to fix Windows, eh? 😉