Every now and again, a whole heap of stuff “happens” to me that I think would make a good blog post, if only I had the time to do a little more research and pull it all together. This time, I haven’t done the extra research and I don’t have an answer, but I’ll publish my thoughts anyway. Maybe, someone else can fill in the gaps, if they think it might help.
It all started out in 2009, when one of my colleagues left the company and I inherited his (slightly newer than mine) notebook PC, complete with a 250GB hard disk (I was pushing the limits of my 120GB disk at the time). Transferring my data was easy – I just used Symantec Ghost (or something similar) to image my 120GB drive onto the 250GB disk, but someone had created the original system with the Windows 7 system reserved partition at the end of the disk, leaving me with the following layout:
- C: System
- D: Data
- System Reserved
- Free Space
I could probably have moved the reserved partition and expanded D: but, in the interests of time, I created a new partition (E: Extra) and used that instead.
Fast-forward a couple of years and I wanted to install Windows 7 service pack 1 on my machine. Unfortunately the installer needed 8GB of free space on C: and I only had 7GB, even after housekeeping. My intention was to shrink D:, move it, expand C:, and maybe even move the reserved partition, merging D: and E: to come up with a sensible layout.
There was just one problem – in the meantime my organisation had started to use a full disc encryption product (not Microsoft BitLocker, because deployment commenced whilst most of the organisation was still on Windows XP), so I couldn’t use third-party disk partition editors (like GPartEd) as booting from a Live CD left the disk locked.
One possible answer lay in a complete system image, which, helpfully, creates some virtual hard disks for my multitude of drives. Then, I thought, I could mount the VHD copy of D:, remove the letter from the physical drive D: and reboot, to use the virtual disk instead (before removing the original D: and expanding C:). Still with me? Even if you’re not, it didn’t work…
It seems there are two problems with mounting VHDs:
- They don’t persist at startup (and the solutions on the web involve scripts that run on startup/login – too late for loading user profiles, etc.).
- Loading a VHD which contains an exact copy of the original system creates problems. And those problems do persist after a reboot, leaving me with a system that will not load any user profiles. Oops. (Garry Martin highlighted this from an article about SysInternals Disk2VHD that highlights problems with disk signatures and the boot configuration database, but it seemed I was experiencing a similar issue with a non-boot volume too.)
“No worries”, I thought, I’ll reassign drive letter D: from the virtual hard disk, back to the original physical partition. That worked, but I still couldn’t load any user profiles – only the administrator could log on, and they were given a new profile based on system defaults. Oh dear.
I couldn’t find any obvious advice on viewing/restoring whatever identifiers Windows was looking for in order to find the correct partition for my domain user account, so I decided to restore the partition from backup. Except that the full disc encryption software seemed to prevent it, not just when booted from a recovery disc or from a boot time selection to repair my computer, but also when attempting the restore from within Windows Backup.
In the end, the simplest solution was to have my machine rebuilt onto the latest corporate build, and then to restore my data by mounting the VHDs in my backup set (which are no longer identical to my physical disk partitions and so do not cause problems). Perhaps it really is time for me to stop being a geek, and to concentrate on using my PC as a business tool…
Seems to me like the problem started when you inherited the laptop from the colleague. Perhaps you should have turned it down?
Alternatively, you could complain to that colleague that he’s rubbish at building Windows 7 machines, and he should go on some sort of training course… :)
You didn’t produce the build with the reserved partition at the end of the disk ;-)
(and nor did I!)