BSOD during Vista x64 Boot Process
I recently upgraded to 4GB of RAM, but my 32-bit Vista OS only detects 3.25GB since my graphics card is taking a considerable amount of address space; in fact, all 32-bit Windows can and will only detect that same amount.
Having some capable hardware, I wanted to give Vista x64 a try on my machine. The installation process was OK until it restarted for the first time. I was greeted with a BSOD and the installation halted. I reset the computer and tried resuming the installation and it went to the final stage. But, again when it restarted, the BSOD came up again during the boot process (while the Vista progress bar is moving). 
I tried testing my RAM which took pretty long. But, it was no use. There was no problem with my RAM, yet the boot process wouldn't go pass the BSOD. I had no choice but to reinstall back the 32-bit version. I was pretty much disappointed since my Vista x64 saga ended up with only painful fingertips from removing and reinstalling the RAM modules.
I found out on the next day that it was Microsoft fault in Vista x64 that caused this problem. This KB article from Microsoft states that if any of the options below are true:
- The computer uses more than 3 GB of RAM.
- The computer uses a storage system that is running the Storport miniport driver.
- The computer uses a controller that uses 32-bit direct memory access (DMA).
The problem was that I was installing Vista x64 on a machine with 4GB RAM. So, I solved it by removing 2GB of RAM and installing the OS with 2GB. When it was up (yes, the installation finished without any problem), I installed this fix which ridiculously requires validation (I don't have problem with validation but I can't be bothered by it when I am in trouble). After the fix, I installed back the 2GB and I didn't see any BSOD now, at least until now.
What's the difference between 32-bit and 64-bit? So far I see no difference with the only exception that the 64-bit version can detect all my physical RAM. And the 64-bit version consumes more RAM than its 32-bit counterpart since it keeps both 32-bit and 64-bit versions of DLL in memory.



0 comment(s):
Leave your comment