I created an image backup and restored it to a VHD file. The original drive has three primary partitions. It also has two CDRom drives, shown as the first two volumes. This is how diskpart lists the volumes of the original disk:

DISKPART> list vol

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     E   Jun 06 2018  UDF    DVD-ROM      125 MB  Healthy
  Volume 1     L                       DVD-ROM         0 B  No Media
  Volume 2         SYSTEM       NTFS   Partition    100 MB  Healthy    System
  Volume 3     C   OS           NTFS   Partition   1384 GB  Healthy    Boot
  Volume 4     D   HP_RECOVERY  NTFS   Partition     12 GB  Healthy

I don't know where the "Info" column values come from. Notice that Volume 2 (the first primary partition on the drive, which is, I believe, also the Active partition with the MBR information) has NO drive letter assigned.

You can see here that it has the NoDefaultDriveLetter attribute set, and that the second and third primary partitions on the drive do NOT have this attribute set:

DISKPART> sel vol 2

Volume 2 is the selected volume.

DISKPART> attributes volume
Read-only              : No
Hidden                 : No
No Default Drive Letter: Yes
Shadow Copy            : No

DISKPART> select volume 3

Volume 3 is the selected volume.

DISKPART> attributes volume
Read-only              : No
Hidden                 : No
No Default Drive Letter: No
Shadow Copy            : No

DISKPART> select volume 4

Volume 4 is the selected volume.

DISKPART> attributes volume
Read-only              : No
Hidden                 : No
No Default Drive Letter: No
Shadow Copy            : No

Now, I tried setting the NoDefaultDriveLetter attribute for volume 2, but it affects ALL partitions on the disk, so NONE of the partitions gets a drive letter. The DiskPart documentation clearly states that even though you are asking it to set the attribute for the volume, that it actually operates at the disk level, and will affect all volumes on the same disk. This sounds like, instead of making it work properly, they simply documented that it affects the entire disk.

Now, somehow my Dell computer was partitioned with only the very first partition having the NoDefaultDriveLetter attribute set. So I would think there must be SOME software out there to do this? So my first question would be, does anyone know how to do this?

I have a follow up question in case the answer to the first question is that there is no way I can do it.

This system partition has the Boot hidden folder and the BCD file in it. There is not much else there. Are any of these options viable?

1) Since this is a VM (for Hyper-V) can I just create a new VHD, and move the system partition to that drive, deleting it off the original, and set the NoDefaultDriveLetter attribute on the new VHD. Then use the BootRec program to make sure it finds and points to what I hope will now be the OS on the C drive?

2) Can I simply delete that entire partition, and put the MBR/BCD on the C drive using the BootRec program? Or can you not put this on the same partition that the OS is on?

Any advice appreciated!

  • "Now, somehow my Dell computer was partitioned with only the very first partition having the NoDefaultDriveLetter attribute set.' - This by design. Provide the output of detail partition for the partition you are asking about. Do this within a screenshot instead of text. The 100 MB partition is required in order for Windows to boot. – Ramhound Nov 29 at 0:57
  • Maybe look into GParted or EaseUSPartition...whatever they call themselves. Oh, right, VHD, not physical disk. hat probably takes EaseUS out of the picture. – YetAnotherRandomUser Dec 1 at 1:15
  • I tried GParted, but the "NoDefaultDriveLetter" flag is not offered as far as I could tell. Thanks for the suggestion though. – Brian B Dec 3 at 13:21

So I would think there must be SOME software out there to do this? So my first question would be, does anyone know how to do this?

The only "program" I can think of that does this is the Windows installer. By that I mean this attribute gets added to a new 100mb/350mb or 500mb system reserved partition (made by Windows Installer depending on the versions 7/8 or 10) when installing Windows on a formatted disk.

2) Can I simply delete that entire partition, and put the MBR/BCD on the C drive using the BootRec program? Or can you not put this on the same partition that the OS is on?

Like I said that partition without a letter was made during the Windows format/install proces. Therefore deleting that partition will render a disk not bootable. It acts as Boot manager and contains Bitlocker Drive Encryption files (when using Bitlocker): https://www.howtogeek.com/192772/what-is-the-system-reserved-partition-and-can-you-delete-it/

Any advice appreciated!

I suggest you re-do the VHDx-making process using this guide and make sure to use: Copy the contents of the specified physical disk. (at step 6): https://www.altaro.com/hyper-v/how-to-copy-disks-contents-new-vhd/

If the original machine was a pre-Windows 10 or the disk comes from a different machine, I'd suggest you follow these steps first:

  • Put the physical disk in the hyper-v machine first,
  • set it as a secondary disk (using the boot options of your machine)
  • then follow the guide I mentioned before using the disk from the other machine.
  • In my circumstance, I have the original Windows 7 running. I take weekly image backups with a third party package. I used that package, running in a VM, to restore the image to my new VHD file. But the SYSTEM drive erroneously gets a drive letter assigned. The best way to generate a VHD from a live computer is to use Microsoft SYSInternals tool called disk2vhd.exe. It uses VSS to snapshot the drive. I ran this tool, attached VHD to a new VM, and it boots just fine. So while I would love to know how to remove the drive letter from just one primary partition, I have solved my problem. – Brian B Nov 30 at 15:39

Alex Invar has the best way to do this if the drive is removed from the original computer and plugged into the Hyper-V machine. Then you use Hyper-V to create the VHD drive based on the attached physical drive.

In my case, I was actually restoring an image backup of a still live computer. In hindsight, it's best to leave third party software out of this, and use the SysInternals disktovhd.exe tool available from Microsoft. You can generate an image of the drive even if it is in use, as it creates a VSS Snapshot, and you can do so even while you are logged into the computer. I generated the VHD, moved it to my HyperV server, attached to a VM, and all is working.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.