May 252011
 

I am fan of software mirroring in Windows 7. Yes, I know, hardware RAID is better, faster, more reliable etc. However, it has one big disadvantage. It is notoriously difficult beast to find. All those RAID controllers integrated on motherboards are usually just software RAID with some hardware support. And their drivers are notoriously bad.

Usually we first install Windows 7 on standard MBR partition. Only after setup is done we can convert disk to dynamic one. After that mirror can be added. Well there is a little bit better way of doing things.

First you need to go into dark dungeons of command line interface. Just boot Windows setup as usually and press Shift+F10 on first screen. This will just open command prompt in which you just write “DISKPART”. That utility will be your host for the day.

Now you need to create some dynamic disks. CLEAN command is there to ensure that you start with blank drives and same procedure needs to be done for both disks. If you are not certain which disks are in computer, you might want to execute “LIST DISK” first – just to get numbers right:

> SELECT DISK 0
Disk 0 is now the selected disk.

> CLEAN
DiskPart succeeded in cleaning the disk.

> CONVERT DYNAMIC
DiskPart successfully converted the selected disk to dynamic format.

> SELECT DISK 1
Disk 1 is now the selected disk.

> CLEAN
DiskPart succeeded in cleaning the disk.

> CONVERT DYNAMIC
DiskPart successfully converted the selected disk to dynamic format.

After this you’ve got two dynamic drives that need to go into some form of RAID. I opted here for RAID 1 (mirroring) but you could also select RAID 0, RAID 5 and a simple volume:

> CREATE VOLUME MIRROR DISK=0,1
DiskPart successfully created the volume.

Volume isn’t worth anything without it being formatted. Next step is just that. Do notice that I call this volume by number 1. On my system volume 0 is CD-ROM and newly created volume got next number. If your system has additional disks (or preexisting volumes), you can check which volume you need with “LIST VOLUME” command:

> SELECT VOLUME 1
Volume 1 is the selected volume.

> FORMAT QUICK
  100 percent completed
DiskPart successfully formatted the volume.

In order to boot from this volume you need to give it a partition:

> RETAIN
The selected volume now has a partition associated with it.

Of course, given partition needs to be activated. Here you will start counting from number 2 since partition 1 is reserved for “system stuff”. If you are not sure, quick check with “LIST PARTITION” is recommended:

> SELECT DISK 1
Disk 0 is now the selected disk.

> SELECT PARTITION 2
Partition 2 is now the selected partition.

> ACTIVE
DiskPart marked the current partition as active.

> SELECT DISK 0
Disk 0 is now the selected disk.

> SELECT PARTITION 2
Partition 2 is now the selected partition.

> ACTIVE
DiskPart marked the current partition as active.

With this done you can type exit twice (once to exit DISKPART and once to exit command prompt) and do installation as you normally would. Only other thing worth mentioning might be slight confusion regarding two separate drives where you can install Windows. Everything will work no matter which disk you select there.

And this was all. As soon as installation is done your mirror will be ready.

P.S. Although I talk about Windows 7 whole post, same procedure will also work on Windows Server 2008 R2. It might even work on earlier Windows versions – I haven’t tried it.

  16 Responses to “Installing fresh Windows 7 on mirrored volume”

Comments (16)
  1. Hi there, thanks for this info – tried it on Win7 64bit, followed your steps – now I can’t install windows on either of my 2 drives :-)
    if you have any advise – please mail me…
    thanks a mill
    Andre

  2. :-) found my error – fixed my error – all working – thanks for the help!! :-)
    Andre

    • Hi, can you tell me wich error you had and how you solved it ? My setup says it can create a system partition or find one…

  3. Hi,
    instructions are good and accurate and I successfully installed Win7 on mirror.
    What`s not said is that if you unplug “primary” disk you can`t boot into windows. I tried and tried and still no luck with booting windows.
    There is another problem with this software mirror: if you unplug second disk and boot windows you should find mirror degraded (that`s excpected) but then you turn off computer, plug in secondary disk and when you boot windows you cannot “reactivate” mirror because you get an error “The plex is missing”. Has anyone had any luck with this problems in Win7??

  4. if mirror is broken you have first break the mirror and then you create new mirror set
    http://technet.microsoft.com/en-us/library/cc758037(v=ws.10).aspx

  5. Thank you for the excellent tutorial.

  6. very good article !
    I wish Ubuntu was that easy also…

    I had an error which my Volume was 0 instead of 1.

    but it was quite easy.

  7. how to rebuild raid if one hard disk fail?

  8. Thanks, very good and helpfull manual, clean and easy job…

  9. Hi thanks for this tutorial. I knew this was possible and this is really the only good info on the web I have found…

    I just have an issue I have 3 x 74GB IDE drives and I cleaned them all and converted them to dynamic. Then I ran this command…

    CREATE VOLUME STRIPE DISK=0,1,2

    Which succeeded so I proceeded to select volume 0 which is the arrary, my cd-rom is slave so it’s volume 1. Then I ran Format Quick which succeeded. Then when I get to RETAIN i get an error saying this…

    Virtual Disk Service Error:
    The plex type is invalid.

    So I have no idea what to do now, just wanna get it ready to install windows. If you can help I’d appreciate it a lot!

    Thanks

  10. Please help me appears the error: disk 0 is now the selected disk …. do not know what to do … more
    I do not know q do … more

  11. Well written and concise. Worked perfectly. Thank you!

  12. You can do this with Windows 10, as well, but you have to make two partitions: one for the System stuff and one for Windows itself. Before you do this, unplug any other disks because the Windows Installer has a habit of putting its system partition wherever it feels like it – so by having just the mirrored pair, you’re forcing its hand.

    You start off by cleaning the disks, just as described in this article:

    SELECT DISK 0
    CLEAN
    CONVERT DYNAMIC
    SELECT DISK 1
    CLEAN
    CONVERT DYNAMIC

    Now we have to create two partitions, not one, for Windows 10. A small one of 550 Mb is the System one; the rest of the disk is going to be Drive C.

    CREATE VOLUME MIRROR SIZE=550 DISK=0,1
    CREATE VOLUME MIRROR DISK=0,1

    Now do LIST VOLUMES to figure out what their numbers are; I’m going to assume 1 for System and 2 for Windows

    Make partition on the System Volume and set it active

    SELECT VOLUME 1
    FORMAT QUICK
    RETAIN
    SELECT PARTITION 1
    ACTIVE

    Make the C: volume ready to accept Windows 10

    SELECT VOLUME 2
    ASSIGN LETTER=C
    FORMAT QUICK

    And that’s it. When the Windows installer runs, you’ll see both partitions: the small one says “System” and the other one will accept Windows 10. The installer will (if you don’t add any other disks) magically appropriate the System one for its own use.

    When Windows starts up for the first time, go to the Disk Management part of “Manage Computer” and you’ll see that Windows has given that System partition a drive letter, too. You can remove that: Windows doesn’t need it.

    I couldn’t get this to work if I tried to do a UEFI install: the disks have to be MBR otherwise Windows won’t cooperate. It took me a few tries to get it right!

    • In reality, you’ll want to do LIST DISK, LIST VOLUME and LIST PARTITION a lot while you’re doing this: my numbers of 0, 1 and 2 for the disks and volumes are almost guaranteed not to be the ones your PC assigns… so just bear in mind that you can never look at the status of it too often!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>