S h o r t S t o r i e s

// Tales from software development

Don’t forget about FIXMBR

leave a comment »

I’ve just installed solid state disks (SSDs) in a couple of servers. These particular machines run 24x7x365 but are low power machines with passive cooling. The hard disk in each machine was the most significant source of noise and heat and an SSD appeared to be a good way of reducing both of these.

However, the SSDs are only 128Gb and both servers had much bigger disks currently installed. There are a number of tools that can be used for resizing partitions and although I’ve bought and used several of the commercial products in the past, more recently I’ve used GParted without any problems.

I used several tools in the process of copying the existing partition to the new SSDs:

  • Diskpar to create a partition starting at sector 128 on each SSD (the alignment improves performance with older versions of Windows and SSDs)
  • GParted Live to resize the existing partition in place so that it will fit on the SSD.
  • GParted Live to copy the partition from the old disk on to the SSD.
  • MBRWizard to make the partition on the SSD active and check that it’s OK

Changing the disk on the first server was straightforward and the machine booted cleanly from the SSD at the first attempt.

A couple of days later I repeated the process on the second server. The process was the same although the existing hard disk was smaller and the partition was aligned differently. After installing the SSD in the server I switched it on, confident that it would boot first time as the other server had.

My confidence was misplaced. The server wouldn’t boot. I didn’t get any boot failure or other messages, just a black screen and a blinking cursor. I went into the BIOS setup and confirmed that the SSD was recognized and tried rebooting again. No luck.

I took the SSD out of the server and ran MBRWizard against it. It looked OK but I tried using the /repair option in case there was a problem with the MBR that wasn’t showing up in the output from the /list command. It still wouldn’t boot.

I put the SSD in a USB caddy and attached it to a laptop to check the disk and partition were both readable . They were.

The only thing I could think of was to run the Windows Setup CD against the SSD and hope that Setup would recognise the partition and offer to repair it. Luckily, it did. Unluckily, it didn’t make any difference. This was very disappointing as Setup had taken several minutes to do something but whatever it was it didn’t fix the problem.

I was running out of options and starting to get desperate. There didn’t seem to be much to lose at this point as the SSD appeared to be unbootable but I still had the original disk. So, if it came to it, I could afford to trash the partitition on the SSD and re-copy the partition from the original disk.

So, I booted off the Windows Setup CD again and chose the option to start the Repair Console. At the command line I typed in ‘fixmbr’ and hit the Enter key. The following message was displayed:

FIXMBR may damage your partition tables if you proceed.
This could cause all the partitions on the current hard disk to become
inaccesible.

Oh well, nothing to lose…  I typed ‘y’ and pressed the Enter key.

Writing new master boot record on physical drive
\Device\Harddisk0\Partition0.
The new master boot record has been successfully written.

I typed ‘exit’, the server rebooted, and…

The server booted from the SSD into Windows without any problems.

Whatever the problem was, I don’t understand why neither MBRWizard or the Windows Setup Repair failed to fix it. Thankfully, FIXMBR did the trick.

I discovered shortly afterwards that Diskpar is superceded by Diskpart and I shouldn’t have been using it. Perhaps this was the cause of the missing or invalid MBR.

Advertisements

Written by Sea Monkey

April 6, 2010 at 8:00 pm

Posted in Hardware

Tagged with

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: