Move Partitions Around on Vista Without Destroying It

Resizing partitions in Vista can lead to a meltdown—you may not be able to boot. Here’s how to resize and still boot up, problem-free.

One of the cool things about Vista is its ability to resize partitions using diskmgmt.msc. This trick works great for those times when you need to shrink or grow a partition. Unfortunately, if you need to move things around as I did this weekend, you won’t be able to use the built-in tool.

I needed to delete a partition I wasn’t using and also give more space to my Vista partition. So I turned to the trusty Gparted (gparted.sourceforge.net), a free alternative to tools like Partition Magic. (Partition Magic doesn’t work in Vista, by the way.) It performed the partitioning flawlessly, but Vista refused to boot after that. I was prepared for that, thanks to the Gparted Vista HOWTO (gparted.free.fr/screenshots/VISTA/Howto_move_VISTA.html), and had my Vista boot DVD ready to perform the post-Gparted operation:

  • Boot up the installation DVD

  • Choose the repair option

  • Let the installation DVD repair the disk automatically when prompted to do so.

This process let Vista boot, but there was still a problem . . . one that I remember from messing up drive letter assignments in previous versions of Windows: Vista booted up and took me to the login screen, but wouldn’t show my desktop. (In theory, the HOWTO should have worked perfectly, but I have a dual-boot Vista/XP system, and things got confused.)

So I had to do one more set of tasks:

  • Log in

  • Hit Ctrl-Alt-Del to get Task Manager to appear (the desktop will not appear normally when the drive letter is messed up)

  • Use Task Manager to run Regedit and make my way to HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices and fix the drive letter assignments.

The drive letter assignments can be tricky, because you probably need to do something like rename \DosDevices\C: to \DosDevices\D: and vice versa, but you can’t have duplicate names, so you’ll need to change one of them to something temporary, like:

  • \DosDevices\C: to \DosDevices\X:

  • \DosDevices\D: to \DosDevices\C:

  • \DosDevices\X: to \DosDevices\D:

Once I did that, I rebooted, and all was right with the world!

Tahnk You for this post to Brian Jepson

Tags: , , ,