XP won’t mirror drives by default. MS gives you all the tasty little morsels left on the ground to follow, but after you’ve performed all the steps, you can’t add a mirror. Nice of em huh?
I came across a way to do it. (Because I built a custom machine that required it)
While the outline below does work, there’s a little more you have to do then what they had written, so I’ve added my own notes in red (make sure your machine has all the latest updates including service pack 3 before beginning this procedure and make sure your critical files are backed up):
Mirroring can only be done on the internal hard disk. It cannot be done on a USB or any other external hard disk. The disks used must be converted to dynamic disks. Mirroring has to be from the internal controller. This is probably due to operating constraints of I/O throughput. These steps need to be followed exactly for this to work and you to have a bootable system. You can use this procedure to create spanned disks also.
Here is an installation which will do most of the work. All you will need to do is to convert your drives to Dynamic Drives then add the mirror. Upon completion of the installation and restart the program Diskpart will start. You will then go to the section of these instructions labeled Create Dynamic Drives: (I created mine before I even started this procedure using windows disk manager, and it worked fine so you don’t have to use diskpart)
When you deploy this installation it is recommended that you check the box to allow windows to scan the protected files. Doing so will take some time when windows scans all the protected files but this will insure that the files for the mirroring will not be replaced or be deleted.
1. Download the XP Mirror Files & Installation XP Mirror Version 1.0 Build 1 (Updated 11/30/2007)
(I’ve also posted these files just in case)
2. Extract the downloaded files into folders on your desktop.
3. Run XP Mirror Version 1.0 Build 1 (Updated 11/30/2007) (if diskpart automatically opens after you reboot, and you’ve already used windows disk manager to create your dynamic disks, you can just close diskpart and windows will continue booting as normal)
4. Boot into Safe Mode by doing the following:
Run msconfig and select Diagnostic Startup from the General Tab and /SAFEBOOT from the BOOT.INI Tab.
Click OK for the settings to take and then restart when it prompts you.
5. Create 2 folders under c:windowssystem32dllcache (Dllcache is a hidden folder but you can navigate to it by typing WindowsSystem32Dllcache in the address bar of Windows Explorer)
a) Original Disk Manager Files
b) Mirror Disk Manager Files
copy the three (XP Mirror) files that have been modified for this task to the:
c) C: WindowsSystem32Dllcache
d) C: WindowsSystem32DllcacheMirror Disk Manager Files.
Mark all 3 files read only in each of these folders, and remove the “system” objects ability to write, delete or modify from each file
Copy the 3 original files from C:windowssystem32 & C:windowssystem32drivers to your C:windowssystem32dllcacheOriginal Disk Manager Files folder.
DO NOT DELETE THE ORIGINAL FILES FROM THE WINDOWSSYSTEM32 AND SYSTEM32DRIVERS FOLDERS YET OR YOUR SYSTEM WILL BE UNBOOTABLE.
a) All files in these folders should show the following attributes:
08/12/2004 12:35 AM 204,800 dmadmin.exe
08/12/2004 12:37 AM 780,928 dmboot.sys
08/12/2004 12:38 AM 330,752 dmconfig.dll
4. Copy your C: WindowsSystem32DllcacheMirror Disk Manager Files & C :windowssystem32dllcacheOriginal Disk Manager Files – folders and paste them under the Windows folder. (You will want to do this for backup because if a Windows Update or a software package updates these files your system will not boot. You will be keeping multiple copies of the original files as well as the modified files.) If your machine fails to boot due to changes, You will need to use the Windows System Recovery Console to copy these files back to the DLLCACHE folder and to the WindowsSystem32 and WindowsSystem32Drivers folders so that your system will boot properly again. (theoretically that won’t happen if you removed the “systems” ability to delete or modify the files and you marked them read only) (The Windows System Recovery Console will not let you copy files from any other folder except the Windows folder.)
5. Run msconfig and Select Normal Startup from the General Tab and check the BOOT.INI Tab to make sure /SAFEBOOT is unchecked
1 Go to Windowssystem32 and delete the files dmadmin.exe and dmconfig.dll.
2 Go to Windowssystem32drivers and delete dmboot.sys.
Windows will automatically replace these files with the ones from dllcache after a few seconds. Once they’ve been replaced, check the properties to make sure the files match the dates and sizes shown in the list above. You must do this to make sure that the correct files will be replaced in the event of the files being updated or changed.
Create Dynamic Drives:
There is a program named Diskpart that you must run at the DOS command prompt. (but you don’t have to if you’ve already created the dynamic disks by using windows disk manager – if you did, skip to Number 6 below)
1. Run the Diskpart program to get the >Diskpart prompt
2. Select the primary hard disk that you are going to use.
Diskpart> Select Disk 0
3. Convert this disk to a dynamic disk. Mirroring can only be used on dynamic disk.
Diskpart> Convert Dynamic
4. Repeat steps 2 and 3 for each internal disk you want to use for mirroring or spanning.
5. Exit Diskpart.
6. After the conversion of the basic disk to dynamic disk you may need to restart for the effects to take place. (I didn’t)
7. After restarting is complete. Go to Start->Programs->Control Panel then select Administrative Tools, then Computer Management. (or you can right click on my computer and choose “manage”) Select Disk Management and you will see your dynamic drives. Your second drive should be unallocated (Not formatted). Right click on the partition you want to mirror then select “Add Mirror” then select the disk you want the mirror created on. Windows XP will automatically create at the start of free space on the selected disk the same size partition as the partition you selected on the first disk then start to mirror it dynamically. You can do this with the data partitions as well.
This procedure works on XP with Service Pack 2 installed.XP Service Pack 3 may change these files preventing it from working. (which is probably why I had to add the parts I did)
My XP version kept copying the XP versions over the top of the mirror versions until I figured out that not only does dllcache store backups and use them to replace missing files, but so does the servicepackfiles folder and the software distribution folder. Once I made the changes you see in red here, it worked beautifully for me.
Updated by Dirhyllykt Doc
Procedure Created, Verified and Tested
By Ralph James
Randem Systems, Inc
August 19, 2007