Mark Berry March 12, 2012
In January 2011, I wrote about my experience restoring a Hyper-V Server to an Optiplex 960. That article is exhaustive (and exhausting). I’ve done the same test again and wanted to write up a somewhat shorter procedure. If you get stuck in this procedure, refer to the original article for details.
Environment and Backups
I’m testing whether I can recover when the entire server for a small client is down for any reason. The server a Dell PowerEdge 1900 running Windows Server 2008 R2 as a Hyper-V host and a single instance of Windows Server 2008 R2 as a Hyper-V guest. The server has 4GB of RAM and 250GB mirrored drives. The backup machine is a Hyper-V capable Dell Optiplex 960 with 4GB of RAM and a 300GB internal drive.
Backups from the server are made to an external Seagate Freeagent Go hard drive. A copy of that backup is made every day to a 500GB SATA drive in a Vantec EZ Swap removable enclosure. There are three of these dives in Vantec trays and they rotate off-site every week. So if the building burns down, it’s the Vantec drive that would be available.
Last year I tested restoring from the Freeagent drive. This year I’ll try using one of the drives temporarily removed from the Vantec tray.
1:35pm arrive on-site and prepare for the test.
1. Attach Hyper-V backup drive to USB port on Optiplex. Make sure drive is turned on.
2. Boot into Optiplex Setup. Set BIOS > Drives > SATA Operation FROM “RAID On” TO “RAID Autodetect/ATA”.
3. Confirm that BIOS > Virtualization Support is set as follows:
- VT for Direct I/O Access: ON
- Execute Disable: ON
- Trusted Execution: OFF
4. Boot from Server 2008 R2 DVD.
5. Press Shift-F10 for a command prompt and unlock the Bitlocker on the backup drive:
manage-bde –status to show drive (USB drive not seen at first; reseat cables, reboot. Now it’s mounted as G:.)
manage-bde –unlock –h for parameter help
manage-bde –unlock G: –RecoveryPassword 111111-222222-…-8888888 to unlock using recovery key
6. Press Refresh in Repair wizard. Backup drive found. Choose only backup, check Format and repartition disks, UNcheck Only restore system drives. Do not install drivers. Under Advanced options, UNcheck Automatically restart this computer after the restore is complete, and UNcheck Automatically check and update disk error information. Start restore.
Restoring from 500GB SATA drive attached via Rosewill RCW-608 adapter:
2:25pm started restore
2:55pm drive C: restore complete (24.7GB)
5:02pm drive D: restore complete (82.5GB)
6:05pm drive S: restore complete (8.4GB)
This drive may be slower than the Seagate Freeagent I restored from last time. Also there is more data.
7. Before rebooting, go to the command prompt and check the volume letters. Reassign as necessary. Sample commands:
select disk 0
list volume – letters are all messed up
select volume 0 Label is “GRMSXVOL_EN” Type is “DVD-ROM”
select volume 1 Label is “System Rese”
remove letter=C System Reserved should not have a letter
select volume 2 Label is “OS_4KB”
remove letter=A This is the boot volume
active identify as the boot volume
select volume 3 Label is “Data-16KB”
select volume 4 Label is “Backup-16KB”
list volumes confirm correct lettering
8. Still on the command prompt, copy bootmgr from the restored OS drive to the root of C:
Next time: do step 11 here (check for OS, run bootrec /rebuildbcd if not found).
9. Shut down live Hyper-V server and block inbound port 25 at the router so mail will not go to test server.
10. On the Optiplex, remove the DVD and shut down. Disconnect the external backup drive and power on.
“Windows failed to start.
Info: An error occurred while attempting to read the boot configuration data.
11. Boot from DVD and go to Repair. Operating system is not listed for repair, so follow Method 2 of accepted solution in this thread. From a command prompt, type
and let it add C:\Windows to the boot list. Remove DVD and restart.
12. Hyper-V host computer starts. After logging on, I see popup telling me “You must restart to apply these changes,” so restart and log on again. Change screen resolution to 1280×960. I received lots of emails from monitoring software telling me that Dell server components not found.
13. In Server Manager, go to Hyper-V manager > Virtual Network Manager. Highlight the existing “Local Area Connection – Virtual Network”. Under Connection Type > External, change it to point to the local machine’s physical NIC (in this case, the Intel 82567LM-3 Gigabit Network Connection).
14. In Server Manager, go to Hyper-V manager > guest Settings, remove drives that will not be available at startup, e.g. the external hard drive.
15. Boot guest. “The virtual machine could not be started because the hypervisor is not running.” From an administrative command prompt on the Hyper-V host, run this command:
bcdedit /set hypervisorlaunchtype auto
16. Reboot the host and try starting the guest again. Guest tells me it had not shut down successfully (it wasn’t shut down at all; it was backed up from a VSS snapshot). Let it Start Windows Normally. Took a long time Applying Computer Settings but finally got logon prompt. After logon, “You must restart your computer to apply these changes.” Clicked Restart Now. Took a long time Applying Computer Settings again.
7:10pm Final guest logon prompt.
17. Test server:
Cancel the Managed Anti-Virus scan if necessary to reduce CPU usage while testing.
a. Check event log > Administrative Events.
b. Check that Web server works. (May need to test from outside network—the wireless guest network at the client, which I’m using for my laptop, doesn’t bridge to wired network.)
c. Check that Active directory works, including accepting a logon from a client, running group policy, and redirecting folders.
d. Check that shared drives are available from a client. Try opening QuickBooks and other data on test server.
e. On the test server run the diagnostics of the mail server program (MailEnable) and make sure they pass. Log on to through webmail and test that you can successfully send an outbound email.
7:37pm That completes the test. In real system down scenario, users would be allowed back on now.
18. Shut down test server, restart the live server host and guest, and re-open port 25 on router to allow inbound email!
Restore the workstation from Windows Home Server. It took a long time to boot from PC Restore CD “X:\Files Edition” 1.3, but this time, the network driver was already there. Then I realized I forgot to change BIOS > Drives > SATA Operation back to “RAID On”. Since I don’t really have RAID, I decided to leave it set to “RAID Autodetect/ATA”. Home Server restore expected to take about 30 minutes.
8:05pm Workstation restore in progress. I didn’t wait for it to complete, but when I came back the next day, it had worked fine.
The time from walking in the door to the final logon prompt for the guest OS was about 5.5 hours. That’s the same as last year even though I spent almost no time researching issues, since I had already encountered them last year. (This doesn’t count another half hour for testing after the OS was up, then a final half hour for starting the restore of the desktop OS.)
The biggest chunk of time was the actual restore: 3 hours and 20 minutes, compared to 55 minutes last year. Certainly there is a little more data than last year, but not three times as much. I suspect that the difference is mostly due to using a SATA drive attached via a Rosewill adapter this year. Last year, I restored from a Seagate Freeagent Go USB drive. It was important to test the SATA drive, since it is one of the ones that rotate off-site every week, and I’m glad that it worked. But in a real system-down scenario, if the USB drive is available, I’ll use that. If that shaved two hours off the restore, I’d be down to 3.5 hours plus half an hour for testing before users could be allowed back on the system.