Dynamic Disk Problems in Windows Server 2003
A freshly provisioned server needed to implement Windows dynamic disks for software RAID1.
Trail 1 - Graphical disk management tool does not work.
For whatever reasons, the standard admin plugin to create dynamic disks for a software raid mirror was not working. It would create a dynamic disk for any unallocated drive okay, but doing the same for the current boot/system drive would not work. It would give errors, take the disk offline, and not allow it to return.
A reboot of the server did not bring it back online. Of course this meant a OS problem, and without console access, the hosting company had to do a Windows reload.
They were actually pretty jovial about loading the OS 3 times in one week. Good on them!
After 2 miserable failures with the graphical tool, using the command line diskpart worked like a champ. No problem in converting the boot volume into a dynamic drive. I rebooted and a minute it was back up. Nice.
Trial 2 - Adding the mirror works… kind of.
After diskpart actually worked, using graphical disk manager to add the mirror worked too. For the most part. It gave the error “Logical disk manager could not update the boot file for any boot partitions on the target disk. Verify your arcpath listings in file boot.ini or through the bootcfg.exe utility.” after creating the mirror.
Ok. It looks like something didn’t update boot.ini properly to let it boot off the mirror I guess. I don’t feel like blindly rebooting and hoping it works, so it needs to be updated too. So while the disks resync let’s proceed with manually editing boot.ini. I guess bootcfg.exe would work too?
Trial 3 - boot.ini is not there?
This is a common problem I found online - you know boot.ini exists, but it’s not visible. Even enabling ’show hidden files’ does not make it visible. The fix is to just type
C:\boot.ini
from the command line and it opens in Notepad. That’s intuitive!
Trial 4 - Editing boot.ini with Cookie Monster
What exactly does boot.ini want to know to boot off the mirror if it needs to? This was a whole new area for me. Luckily, the existing Windows server has been set up with a mirrored drive. So to cheat, here is it’s boot.ini:
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Windows Server 2003, Standard” /noexecute=optout /fastdetect
C:\=”Microsoft Windows”
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Boot Mirror C: - secondary plex"
And the stale boot.ini for the new server:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Windows Server 2003, Web” /noexecute=optout /fastdetect
C:\=”Microsoft Windows”
Alright, let’s sing along…..One of these things is not like the other things….
I believe the extra line is the arcpath entry for x86 computers. “secondary plex” is redmond slang for “allow this to boot too if a software RAID volume is gone.”
So, add that to the newly provisioned boot.ini. If your partition scheme is different I cannot help - luckily, both our servers have the same drive layout: one big partition on the first disk, with the second disk being a straight mirror. YMMV.
Trial 5 - The longest reboot ever.
So now, with a fresh boot.ini and the resync process 92% done, I’m at a crossroads. I can quickly logout and hope the boot.ini changes are fine, and that all is good in Windows land, or let the resync process finish, and make sure it reboots okay.
Better to find out now…
Resync is done, my disks are “Healthy” so I restart. Visions of getting a fourth OS install in one week dance in my head. Well, not so much visions, more of ’soul crushing thoughts of wasting 3 more hours finding out why boot.ini hates me.’ Patiently I wait for ping to start returning echos.
Success!
What’s Next?
In a perfect world, I’d have had hardware level access to now yank the primary drive and test booting of the secondary. This is not the case, nor something the hosting company would do. Should either drive have a crash and go offline, the server will continue running on the second one. Should something really bad happen, the drives would need to be placed in a new computer, boot records rebuilt, soy-chickens sacrificed, and maybe it would work. Maybe not. At that point you need offsite backups.
What did we learn?
- Get hardware RAID if it’s offered and you can afford it. It’s much more robust than software RAID and faster to implement!
- Software RAID does not replace your backup scheme. At best, this setup buys you enough time to fix a single drive failure.
- Windows lies when it says boot.ini is hidden.
- Graphical disk management sucks.
3 comments
Not sure when you posted this but it came in useful today - the one trick you missed was that you can go to Properties of My Computer > Advanced > Startup and Recovery > Edit … there’s your boot.ini file
Thanks Spencer for you reply it helped me w/ a windows 7 RAID install. there is no c:\boot.ini. and for whatever reason windows defaulted to showing a list of operating systems, insted of recovery options when needed. It was simple fix, that was simply over looked. thanks again.
Regarding your point #3 at the bottom: “Windows lies when it says boot.ini is hidden.”
Actually, it /is/ hidden. But it is also marked as a System file which is why it doesn’t show up when you say “show hidden files”. To see it, you’d also have to turn on the option to “show protected system files”.
So people can use one of 3 ways to get to the boot.ini file now. The way in the original article, Spencer Steel’s way in his comment, or unhide it and then edit.
Leave a Comment