Vista - don't expect to be able to change motherboard without reinstalling Windows

Feb 23, 2007
28
0
0
Well, silly me, I believed the hype - change motherboard, and Vista will just work perfectly.

Er, not quite.

I had an Asrock 775Twins motherboard + E6600 and a RAID1 array running Vista (Uli RAID controller)

I replaced the unstable Asrock motherboard with a Asus P5B-E Plus motherboard (Intel Matrix Raid Controller). Plugged it in, turned it on (didn't enable Intel RAID, as to do RAID 1 without losing data you need to run the software from WIndows)- won't boot, gets to the 'loading Vista' screen, and reboots itself after about 1 second. Turns out it's a storage driver.

Try the repair function - complete waste of time. So I had no choice but to reinstall.

Reinstall windows vista, patch it go to install Intel Matrix software. WOn't install - Intel RAID not found. Oops, I forgot to set the setting from IDE to RAID in the bios.

So I enable it - Windows doesn't boot, same problem as before - rebooting. Disable it, now I get a BSOD on boot

So I reinstall WIndows, but this time during the install I get a BSOD

"WORKER_THREAD_RETURNED_AT_BAD_IRQL"

Oops, looks like I've hit this problem:

http://www.pro-networks.org/forum/about89408.html

ARGH

Don't believe the hype !!!
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: asdfqwertyuiop
Well, silly me, I believed the hype - change motherboard, and Vista will just work perfectly.

Er, not quite.

I had an Asrock 775Twins motherboard + E6600 and a RAID1 array running Vista (Uli RAID controller)

I replaced the unstable Asrock motherboard with a Asus P5B-E Plus motherboard (Intel Matrix Raid Controller). Plugged it in, turned it on (didn't enable Intel RAID, as to do RAID 1 without losing data you need to run the software from WIndows)- won't boot, gets to the 'loading Vista' screen, and reboots itself after about 1 second. Turns out it's a storage driver.

Try the repair function - complete waste of time. So I had no choice but to reinstall.

Reinstall windows vista, patch it go to install Intel Matrix software. WOn't install - Intel RAID not found. Oops, I forgot to set the setting from IDE to RAID in the bios.

So I enable it - Windows doesn't boot, same problem as before - rebooting. Disable it, now I get a BSOD on boot

So I reinstall WIndows, but this time during the install I get a BSOD

"WORKER_THREAD_RETURNED_AT_BAD_IRQL"

Oops, looks like I've hit this problem:

http://www.pro-networks.org/forum/about89408.html

ARGH

Don't believe the hype !!!

First, you are trying to boot an OS with nearly every wrong driver there could be. It can be done in most but not all cases but you have to know what you are doing.

Second, this is a driver issue. Contact your manufacturer.
 
Feb 23, 2007
28
0
0
Originally posted by: Smilin
Originally posted by: asdfqwertyuiop
Well, silly me, I believed the hype - change motherboard, and Vista will just work perfectly.

Er, not quite.

I had an Asrock 775Twins motherboard + E6600 and a RAID1 array running Vista (Uli RAID controller)

I replaced the unstable Asrock motherboard with a Asus P5B-E Plus motherboard (Intel Matrix Raid Controller). Plugged it in, turned it on (didn't enable Intel RAID, as to do RAID 1 without losing data you need to run the software from WIndows)- won't boot, gets to the 'loading Vista' screen, and reboots itself after about 1 second. Turns out it's a storage driver.

Try the repair function - complete waste of time. So I had no choice but to reinstall.

Reinstall windows vista, patch it go to install Intel Matrix software. WOn't install - Intel RAID not found. Oops, I forgot to set the setting from IDE to RAID in the bios.

So I enable it - Windows doesn't boot, same problem as before - rebooting. Disable it, now I get a BSOD on boot

So I reinstall WIndows, but this time during the install I get a BSOD

"WORKER_THREAD_RETURNED_AT_BAD_IRQL"

Oops, looks like I've hit this problem:

http://www.pro-networks.org/forum/about89408.html

ARGH

Don't believe the hype !!!

First, you are trying to boot an OS with nearly every wrong driver there could be. It can be done in most but not all cases but you have to know what you are doing.

Second, this is a driver issue. Contact your manufacturer.


yeah well, I had read Vista would just 'work'. I wouldn't have expected XP to work.

It seems kind of brittle - if you change from IDE to AHCI you get a BSOD http://support.microsoft.com/kb/922976

And the Intel RAID controllers cause serious data corruption if you use them. Hopefully they will fix the issue soon.
 

Shawn

Lifer
Apr 20, 2003
32,236
53
91
I don't know who told you that it would work but that's just crazy. Always reinstall when you change the motherboard. It's a pain but it'll save you from tons of headaches later.
 

Fullmetal Chocobo

Moderator<br>Distributed Computing
Moderator
May 13, 2003
13,704
7
81
I wouldn't have attempted that with any Windows OS... And I definitely wouldn't have done it with RAIDed drives. I would have broke the array, copied any required data to the second drive, swapped mobos, installed Vista on the one HD, and went from there...
 

nerp

Diamond Member
Dec 31, 2005
9,865
105
106
This works sometimes in XP but I'd never expect it to work in vista.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: Shawn
I don't know who told you that it would work but that's just crazy. Always reinstall when you change the motherboard. It's a pain but it'll save you from tons of headaches later.

Exactly.

Microsoft's stance on this is that it's not officially supported (I worked in the Setup team for a year). Workarounds and techniques are provided but you are really on your own if you do this.

Originally posted by: asdfqwertyuiop
yeah well, I had read Vista would just 'work'. I wouldn't have expected XP to work.

It seems kind of brittle - if you change from IDE to AHCI you get a BSOD http://support.microsoft.com/kb/922976

And the Intel RAID controllers cause serious data corruption if you use them. Hopefully they will fix the issue soon.

I would expect it to be VERY brittle as you say. This is the boot process. It got named "bootstrap" for a reason. You are basically attempting to lift up yourself (load the OS) by your own bootstraps. How does one load drivers by leveraging drivers that haven't yet been loaded?? If you fundamentally understand the boot process none of this would surprise you.

Changing a start type 0 (boot) driver's hardware is just begging and pleading for a Stop 0x0000007B. (c'mon crash! oh please oh please, c'mon crash!!! ) This is not any kind of design flaw either. Because it's in the middle of the boot process you just can't pull such shenanigans. If you were asking for some start type 2 (auto) driver like say one of your services it wouldn't be an issue. The foundation of functioning I/O drivers has already been laid at that point.

Now you want to throw faulty driver into the mix!?!? Look here is the answer:
1. Don't do dumb things like this.
2. Use good drivers.

And before you point fingers in the wrong direction remember: MS does not write drivers. From that KB you quoted:

AHCI provides several features for SATA devices. These include hot plug functionality and power management functionality. For more information about the AHCI specification, visit the following Intel Web site:
http://www.intel.com/technology/serialata/ahci.htm
Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information. The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.


Also from the KB:
During the Windows Vista installation process, any unused storage drivers are disabled. This behavior speeds up the operating system's startup process. When you change the boot drive to a driver that has been disabled, you must enable the new driver before you change the hardware configuration.


(the bold meant for you!)

 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: Nothinman
How does one load drivers by leveraging drivers that haven't yet been loaded??

On Linux it's called initramfs and it works just fine.

:cookie:

The method in windows works fine too or you wouldn't be reading this. :) Point is: don't jack with it while it is in this critical state.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
AFAIK Windows doesn't have an analog to initramfs so it really does need some form of storage and filesystem access to get to drivers. Your comment of "Microsoft's stance on this is that it's not officially supported (I worked in the Setup team for a year)." seems to be contrary to "in windows it works fine too". If it worked fine it would be supported. And it's surprising that it's not support at this point too, considering that something like that would help the PE stuff too.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: Nothinman
AFAIK Windows doesn't have an analog to initramfs so it really does need some form of storage and filesystem access to get to drivers. Your comment of "Microsoft's stance on this is that it's not officially supported (I worked in the Setup team for a year)." seems to be contrary to "in windows it works fine too". If it worked fine it would be supported. And it's surprising that it's not support at this point too, considering that something like that would help the PE stuff too.

Wrong context on that quote of mine.

"the not officially supported" part is intalling an entire set of drivers into your OS then using different hardware.

As for getting the system bootstrapped up...yes it clearly works in Windows or you wouldn't see this cookie right now:

:cookie:

I have no knowledge of initramfs so I cannot comment. And no, windows during the inital boot process doesn't need drivers to get drivers (the bootstrap paradox). It leverages bios+mbr+boot sector to get enough functionality for a driver to be loaded.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
As for getting the system bootstrapped up...yes it clearly works in Windows or you wouldn't see this cookie right now:

Obviously I wasn't talking about just bootstrapping, I thought you meant booting on different hardware from what you initially installed on.

I have no knowledge of initramfs so I cannot comment.

Just as the name suggests it's an initial ramdisk with a handful of modules and userspace tools to bring up whatever's necessary to reach the root filesystem.

And no, windows during the inital boot process doesn't need drivers to get drivers (the bootstrap paradox). It leverages bios+mbr+boot sector to get enough functionality for a driver to be loaded.

If there's not even a minor bit of filesystem reading code in there how does it find things like the kernel and the real storage driver?
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
I knew you would start with that mult-quoting stuff cuz you know it wears everyone down. :p

NT-2003 r2 (incl XP) method:
bios grabs mbr off sector 0.
mbr grabs partition table off 0 and finds the 0x80 for the active partition.
mbr then grabs boot sector and executes it.
boot code is the first partially ntfs aware code. It finds ntldr.
ntldr switches from real mode to 32bit flat.
(all I/O at this point is using int13 or in rare cases ntbootdd.sys .. a renamed version of the full msd)
boot.ini is loaded. Assuming no scsi arc paths (ntbootdd.sys) int13 is still used...
ntdetect.com is loaded. initializes all hardware it can find and passes list back to ntldr.
ntldr loads ntoskrnl.exe and hal.dll
ntldr loads system registry hive
using select key and control sets it locates all start type 0's and puts them in memory (no initialization occurs)
ntldr passes control to ntoskrnl
ntoskrnl creates hklm\hardware, hklm\system\clone and some other minor crap.
ntoskrnl initializes start 0 drivers.

Wha-la! Filesystem drivers.


Gawd I've gotten rusty since setup. I'm leaving out tons of trivial crap. Haven't ironed this all out in Vista yet either.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I knew you would start with that mult-quoting stuff cuz you know it wears everyone down.

Nah, I do it to hopefully make it obvious as to what I'm responding to.

boot.ini is loaded.

How? If there's no filesystem code in ntldr how does it find the file?
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
(all I/O at this point is using int13 or in rare cases ntbootdd.sys .. a renamed version of the full msd)

Further clarification:
ntldr has both FAT and NTFS mini file system drivers contained in it's own code. Unlike the boot sector code it can read subdirectories as well.

All I/O is done via Int13, extended Int13 or ntbootdd.sys.

Another semi-key thing I left out. ntldr, shortly after switching to flat 32bit creates enough page tables to make memory below 1MB accessible with paging turned on.

I also left out a step before reading the boot.ini... ntldr looks for hiberfil.sys and fully loads it if available...unimportant for most boots.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Of course in asdfqwertyuiop's case when ntoskrnl.exe tries to initialize the start 0 drivers that were loaded by ntldr, those drivers cannot locate the device they are supposed to work with so...

WHAP!!! Stop 0x0000007B





 

stash

Diamond Member
Jun 22, 2000
5,468
0
0
Get yourself a copy of Windows Internals, and you too can be Highly Technical :)
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: sm8000
This thread went from Operating Systems to Highly Technical...

Hehe, thanks I think. My setup kung-fu was strong when I used to work on that team. It's got a few years of rust now.

I was also night-shift which got all the "dead" server calls. I probably worked more Stop 7Bs in a month than most enterprise admins will see in a career. You can fix them with a cold stare after a while.
 

stash

Diamond Member
Jun 22, 2000
5,468
0
0
I was also night-shift which got all the "dead" server calls
Dude, night shift was the bomb. Nothing like getting a call at 2am on a Sunday night (well, Monday morning) from some frazzled admin. Those are the ones where something went to sh!t on Friday night, but they figured they had all weekend to get it working again. So they try everything they can think of (all without documenting what they are doing or backing anything up) and then call in as a last resort before people start coming back to work on Monday. Good times!!
 
Feb 23, 2007
28
0
0
Originally posted by: asdfqwertyuiop
yeah well, I had read Vista would just 'work'. I wouldn't have expected XP to work.

It seems kind of brittle - if you change from IDE to AHCI you get a BSOD http://support.microsoft.com/kb/922976

And the Intel RAID controllers cause serious data corruption if you use them. Hopefully they will fix the issue soon.

I would expect it to be VERY brittle as you say. This is the boot process. It got named "bootstrap" for a reason. You are basically attempting to lift up yourself (load the OS) by your own bootstraps. How does one load drivers by leveraging drivers that haven't yet been loaded?? If you fundamentally understand the boot process none of this would surprise you.

Changing a start type 0 (boot) driver's hardware is just begging and pleading for a Stop 0x0000007B. (c'mon crash! oh please oh please, c'mon crash!!! ) This is not any kind of design flaw either. Because it's in the middle of the boot process you just can't pull such shenanigans. If you were asking for some start type 2 (auto) driver like say one of your services it wouldn't be an issue. The foundation of functioning I/O drivers has already been laid at that point.

I'm not sure I understand what you're saying. If I turn off my PC and change my SATA mode from IDE to AHCI, it's not changing during boot. It's changed. Windows could deal with it surely. It's not changed in the middle of the boot process.

Now you want to throw faulty driver into the mix!?!? Look here is the answer:
1. Don't do dumb things like this.
2. Use good drivers.

And before you point fingers in the wrong direction remember: MS does not write drivers. From that KB you quoted:

AHCI provides several features for SATA devices. These include hot plug functionality and power management functionality. For more information about the AHCI specification, visit the following Intel Web site:
http://www.intel.com/technology/serialata/ahci.htm
Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information. The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.


Also from the KB:
During the Windows Vista installation process, any unused storage drivers are disabled. This behavior speeds up the operating system's startup process. When you change the boot drive to a driver that has been disabled, you must enable the new driver before you change the hardware configuration.


(the bold meant for you!)

[/quote]

That's cool. So when Intel release working drivers that don't cause data corruption, I install them and enable it in the BIOS and Windows will work..... Bit of a pain in the mean time having a truly redundant disk.
 

loup garou

Lifer
Feb 17, 2000
35,132
1
81
Originally posted by: stash
I was also night-shift which got all the "dead" server calls
Dude, night shift was the bomb. Nothing like getting a call at 2am on a Sunday night (well, Monday morning) from some frazzled admin. Those are the ones where something went to sh!t on Friday night, but they figured they had all weekend to get it working again. So they try everything they can think of (all without documenting what they are doing or backing anything up) and then call in as a last resort before people start coming back to work on Monday. Good times!!
*hangs head guiltily*
 

HardWired

Senior member
May 10, 2000
598
0
76
Wow...such problems. My mobo swapout w/ Vista went smooth like butter. No RAID or anything other than vanilla plain setup with 1 IDE HDD and DVD writer so maybe thats why it went so smooth, but on my least powerful machine I had a Asus P4PE slowly dying (onboard sound died, NIC acting funny, etc) and I replaced it with an Abit IS7. The only thing I did pre removal and before shutting down Vista was to go to Device Manager and select Uninstall for all the items listed under System Devices, Storage Controllers, and IDE Controllers.

It took maybe two minutes with a lot of mouse clicking but once that was done I powered down, did the swapout and rebooted. To my utter surprise not only did I boot to the desktop but Vista then went through and found every single resource for the new Abit mobo and after a bunch of HDD activity (maybe two/three minutes) I did a reboot and its like it never missed a beat. Its been a couple of months since I did that and I keep up on 3 computers in the house so I don't remember if I had to go back and do a little tweaking (new onboard NIC driver, etc) but other than that, I was shocked at how smooth it went.

Believe it or not...