I have a PC with Windows XP and Windows 7 on two different hard disks, and I can switch between them by switching the leads. The curious thing is that the Windows 7 system doesn’t see the XP disk, so I can’t retrieve old data files from XP. By placing the XP disk in a USB enclosure and using Acronis Disk Director 11, I can give the disk a drive letter and get it recognised by Windows 7, but this is lost when logging off, and the disk has to be made identifiable again each time I reboot. This isn’t a critical issue, but I’m curious to know what’s going on.
I’m afraid there isn’t quite enough information here for me to pin down the problem, but a few thoughts come to mind.
The first is that it shouldn’t be necessary to use Acronis Disk Director to assign a drive letter: you can do it from the Windows Disk Management console. That console is buried away in the Control Panel, but you can access it directly by opening the Windows 7 Start menu and typing “hard disk” – it will appear as “Create and format hard disk partitions”. It’s worth experimenting to see whether assigning a drive letter in this way works any better than doing it through Acronis: to do so, right-click on the partition you want to access and select “Change Drive Letter and Paths…” from the context menu.
If this still doesn’t help, try choosing a letter from later on in the alphabet, and see if this survives a reboot. If it does, it suggests that the letter you’ve been trying to assign to your secondary drive is already reserved by Windows for another device. You can browse the list of reserved drive letters by opening the Registry Editor and navigating to HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices. Here you’ll see a series of entries with names such as “\DosDevices\C:” and “\DosDevices\D:” representing reserved drive letters.
From the Windows Disk Management console you can monitor and configure all the drives in your system.
You can switch the reservations around by simply editing these names – for example, changing “\DosDevices\E:” to “\DosDevices\F:” – but be sure not to edit the data that’s stored under each name, and, as always, make a backup of your Registry before tinkering.
The Disk Management console also gives an overview of the format and layout of the disks in your system, which could give you a clue to the problem – for example, if your Windows XP partition uses a non-NTFS file system, you might conceivably find that converting it to NTFS helps. You can do this by opening a command prompt and typing CONVERT E: /FS:NTFS (replacing E: with the letter of the drive in question).
Ultimately, without more information I’m afraid I can’t tell you for certain how to get the drive working consistently. I can tell you, however, that it isn’t a good idea to keep swapping cables to move between your two operating systems: SATA cables are only designed to survive being plugged in and unplugged 50 times, so if you carry on you risk damaging them. A simpler solution would be to set up your two hard disks as an in-place dual-boot system.
The easiest way to do this is to start by connecting the Windows XP drive as your primary boot disk, and Windows 7 as a secondary drive (if you do it the other way around, the XP boot loader may fail to find your XP installation). Then boot into XP and download and install the EasyBCD tool mentioned in the previous answer. Click on Bootloader Setup, then click the Install BCD and Write MBR buttons. Finally, click on Add New Entry and create new BCD entries for Windows 7 and XP installations, remembering to select the correct drive for each operating system. Next time you boot your PC, you’ll see a convenient boot menu, letting you choose which operating system to boot from without there being any need to switch the drives around physically.