I had a rough weekend testing Vista RTM on multiple hardware configurations because of some minor hardware issues that never surfaced previously. It appears that Vista is extremely sensitive to any kind of memory error possibly because of ASLR (Address Space Layout Randomization). It turned out that I had a faulty address block near the end of my second 512 MB DDR2-533 DIMM. I never had any stability issues with Windows XP but I'm guessing that there was almost no chance of Windows being loaded in that portion of RAM. Vista on the other hand randomizes the address layout to mitigate any security breaches if a hacker finds any weaknesses in software but that also means it's quite possible for a critical piece of Windows Vista to use the faulty memory block and lock up the entire operating system.
I recalled that colleague and friend Justin James was having similar problems with his brand new computer with Vista RTM MSDN edition and finding out that he had a bad stick of memory. In a similar fashion, Justin had no problems running Windows XP with the bad DIMM but once Justin got a replacement DIMM from Crucial, all his Vista lockup problems went away. I wondered if I had a similar problem so I decided to run some tests which proved my suspicions correct. It turned out I did have a bad piece of memory so I'm now trying to get an RMA from Kingston for a replacement. For the time being I'm running on 512 MBs of RAM for Vista testing with the bad memory sitting on my desk. Unfortunately, the system still locked up on this particular machine which has been my main Windows XP machine for a year without incident and I'm almost ready to give up running Vista on this machine until I can figure out what's wrong with it. Vista has been running fine on my other machine.
But there is a valuable lesson to be learned here which is to TEST YOUR MEMORY and don't assume it's ok because you're not having any problems with it in Windows XP. Here are some valuable instructions for you to test your own memory using Vista and Memtest86. Even if you're not running Vista, it doesn't hurt to run Memtest86 to check your RAM integrity. Follow the links and instructions below to test your own memory.
Memtest86 free third party tool
ISO Recorder for burning ISO images to CD
Memory Diagnostics Tool for Vista
- Hit the start button (control-ESC) and type "memory". The new Vista start button will automatically present and highlight "Memory Diagnostics Tool" so you just need to hit ENTER.
- It will prompt you to reboot now or run the memory test later.
- On the next reboot, the test will automatically run in normal mode twice.
- You can use F1 to customize the testing options.
- Select "Extended" memory test.
- Tab twice to jump to the repeat settings. You can set the number of tests to 0 to have it run indefinitely until you hit the ESC key.
- Hit the ESC a few times to break out of the testing cycle and boot Vista.
- Find the error report at C:-Windows-System32-LogFiles-MemDiag (replace - with backslash since wordpress refuses to show the backslash character)