PGD Home

Boot Sector Corruption, Windows Boot Manager, and the importance of verification of backups!

by on Nov.30, 2014, under Miscellany

I recently purchased a large, 3TB drive to replace my existing backup drive. This is an internal SATA disk, which should allow for much faster backups (around two hours). My current backup strategy is to store one full backup per day for a week, and then overwrite the older backups one by one, so I always have 7 backups available (or 6, if the source drive fails after one backup has been erased, but before the new one is complete).

However, I ran into an issue recently which cast some doubt over the reliability of this backup strategy. SATA disks are supposed to be “plug and play” which means that you can plug them in while the machine is running. This is often done on servers and network attached storage devices (NAS drives). I did this with my backup disk, and everything worked fine, and I setup my new backup schedule with Macrium Reflect.

I don’t normally restart my development machine every day, since opening up all of my programs and files can take at least 10-15 minutes, and since I work every day, that adds up to almost two hours of lost productivity every week. Instead, I use “Hibernate” to save the system state of my machine every night, and resume it in the morning. This saves a lot of time, and uses up no additional electricity, unlike “Suspend” which is different.

My problem began the next time I restarted my machine. I got the following boot error:

Status: 0xc000000e
Info: The boot selection failed because a required device is inaccessible.

After some trouble shooting and attempted fixes, I eventually had no choice but to resume from my most recent backup, which was the day before. However, I got the same error. Why?

What I think happened is that hot-plugging the SATA disk confused the windows boot manager somehow, which caused the Boot sector to become corrupted. Since I was using Hibernate/Resume instead of a full restart, I didn’t realise the boot sector had been damaged. By the time I did realise it,all 7 of the backups that I had created contained the corrupted boot sector. The data was safe, but I couldn’t boot!  (It is possible that every backup that I created with the new disk was corrupted, since installing the new SATA disk is what I believe caused the problem).

Eventually I used a combination of Macrium’s boot CD and the “Last Known Good” Configuration on Windows to fix this, and I did not lose any data. However, the backups were only partially successful in resolving the issue. A good backup should support “Bare metal” restore, which means it should allow for recovery even in the event that the Operating System doesn’t boot. In this case, due to the backups containing a corrupt boot sector, Bare Metal restore wasn’t possible.

This is an important consideration with regards to creating a good backup strategy. There are many virus’s and different types of data corruption that can remain undetected for weeks, or months. At that point, all backups that was so carefully created may contain copies of the virus and/or data corruption.

There are several solutions to this.

Firstly, create and store backups over a much longer period of time. This will ensure that there is always a “clean” backup, but will require a lot of storage space.

Secondly, one could create a system image of the disk when it is new, and restore this first, then the data, in the event of a data loss event. The problem with this is that I am not aware of any Bare Metal restore backup programs that will allow restoring of data only. The ones that I have seen will restore the entire system image, both the data and the boot sector. The only way to restore data only would be to copy it by hand, which would be completely impractical.

The third solution would be to install the OS on a separate partition, or even a separate drive, to the data itself. This is a very elegant and robust strategy, since you can overwrite and reinstall the operation system at will without touching any user data. The problem with this is that many programs, settings, and configuration options, on addition to service packs and hot fixes, are required to be on the same drive as the operating system. This means that restoring the data partition only will force the user to have to install these programs and update all over again, which can be time consuming.

The only way to prevent this kind of issue is to test or verify each backup for boot sector viruses and corruption by actually booting from the system image and possibly running a virus scanning tool designed to detect boot sector viruses. Almost all of the backup software that I have seen has built-in backup verification, however, that will not detect boot sector corruption or viruses. It didn’t in my case.

A backup is only effective if it works, so verification and testing of backups is as important as the backup itself.
For anyone who is interested, I fixed the boot error by using the “Fix boot sector problems” option in the Macrium Reflect boot cd. This then caused the following error:

Status: 0xc000000f
Info: Windows failed to load because the NLS data is missing, or corrupt.

I then used the windows 7 boot CD to do a repair install, and upon restarting, chose the “Last known good configuration” option. This finally allowed windows to boot normally.

Facebooktwitterredditpinterestlinkedinmail

Comments are closed.

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!