Forceing Drive Letters

#1
I have a bit of a problem here. I successfully installed XP, and then Vista, and it lets me boot back and forth between them at will. However Vista set the drive letters differently than they are in XP, and it won't let me fix it.

In XP the drive letters are: C: XP, D: Programs, E: Downloads, F: Data, G: Vista

In Vista they are: C: Vista, D: XP, E: Programs, F: Downloads, G: Data

I want to have vista Mimmic the dirve littering for D:, E:, and F:, but it won't let me change the drive letter of XP.

The end result I want in Vista's side is C: Vista, D: Programs, E:, Downloads, F: Data, G: XP

I HAVE done this before somehow, but can't remember what I did. I had it in this configureation before until I had to clear my hard drive and repartition it, reinstalling XP and Vista again. The main issue I'm having is Vista is refusing to let me change the letter of D: XP because it's a 'system' drive. Which is stupid, XP let me set Vista to G: just fine. Can someone tell me how to override this? I don't care if I have to reinstall vista again to do it.
 

JustinW

Super Moderator
Staff member
#2
This is normal and is by design.

Eariler versions of Windows respected over installations and thier drive mappings. This caused problems with some programs because developers assumed that the system's drive would be C: and some user's complained of components of applications being installed on drive C:, when the application was meant to be installed on another OS's partition that happened to be on the same drive.

Microsoft addressed the issue by having an installation of Vista use C:. This would prevent the problem and most users would not take notice to it due to the fact that the majority uses only one OS on thier PC.

Drive letter mapping typically have nearly no importance to the regular operations of the user. Even if you were to plan letter mappings ahead of time by creating the partition structure before installing Windows, Vista would still consider itself C: when you boot. As a side-effect, the letter mappings of the other partitions may have changed as well. I suppose you can at least change the letters for those partitions.
 
#3
Umm.. you don't seem to have read my post very carefully. I don't mind Vista being C:, I want to make the XP drive that got labled D: into G: so that my other paritions can retain their lettering.

I need 'Programs' to be D: 'downlods' to be E: and 'Data' to be F: to Vista, because Most of my apps I have specically configured to run both in XP and Vista despite only being installed once in one partition. If I can retain those letters they programs will work properly, I've done this before without trouble.

I want to make the XP partition that is currently 'D:' to vista, into G:, I want Vista to stay C:
 

JustinW

Super Moderator
Staff member
#4
Vista well not let you change the drive letters for any Windows partiton... once again, this is by design.
 

Terry60

Knows where his towel is.
Staff member
#5
According to Vista Help Justin, Vista behaves the same as earlier OSs when assigning the letters.
(see the extract posted in an earlier thread reply http://neosmart.net/forums/showpost.php?p=20172&postcount=2)
It can be other than C:, if setup is run from an already active system calling itself C:
Sonic,
Vista won't let you rename the "system" disk because that's where its bootloader is.
I can tell you from experience (it's what I did) that if you pre format your HDD with 5 partitions,
Install Vista in 1 (calls itself C)
Name 2 -5 D - G in Vista (and all your optical drives,flash, external HD, camera, card reader, etc whatever you want them to be)
Install XP in 2 (calls itself D and calls vista C)
Name 3-5 E- G in XP ( and repeat all the other devices as in Vista)
That you will end up with what you want, after you've repaired the Vista bootloader to fix your dual boot.
You should also be able to do the same with Vista and XP reversed, provided you follow the instructions in the Vista help quoted in the linked post.
If you want XP to install into G, just make sure that all the letters between D and F have been assigned to something else in Vista, before you install XP from it, otherwise it will choose the lowest letter it can find.
But Justin is right, once the letters for boot, system or page disks are set in Vista, it won't let you change them.
 
Last edited:
#6
I don't get it.. somehow I had it so that in XP, XP was C: and Vista was in G: and while in Vista, Vista as C:, and XP was G: I did it somehow, I just can't remember how!

I tried a different trick of making the partitions first, installing XP with the second partition hidden, then unhide it and boot XP. Then Hide the XP partition, Install Vista in the second partition, then after install unhide XP; and I got the desired result of having XP think XP is C:, and Vista is G:, and Vista think it is C:, and XP is G:.

Now my only problem is I'm having trouble getting XP to add to Vista's boot loader. I'm useing NeoSmart's EasyBCD, but when I add XP to the list, when I pick it from the list it tells me NTLDR is missing.

Any suggestions how to add XP to windows Vista's boot loader?

Addendum:

:confused: ...okay.. this is incredibly weird, but I found a way to make it work!

1. Make both partitions
2. Hide Partition 2
3. Mark Partition one 'Active'
4. Install XP into Partition 1
5. UNhide Partition 2
6. Boot XP, then reboot (XP will notice a 'new' drive labeling it as G: )
7. Mark Partition 2 'Active' now instead of Partition 1
8. Hide Partition 1
9. Install Vista to Partition 2
10. UNhide Partition 1 (Vista will notice a 'new' drive calling it G: )
11. Install and run NeoSmart BCDedit and tell it to add a 'Linux' drive that has 'GRUB' installed, and say it exists in partition 1 (Do not bother trying to add an 'XP' to the list, I only get 'missing NTDLR' messeages, but with the linux entry it works) Save changes, name it what you want
12. Reboot, tada, XP and Vista are listed, BOTH work, and you can move eachother's drive letters around at will because XP doesn't consider Vista's partition an OS, and Vista doesn't consider XP's partition an OS


So there! :tongueout: I KNEW I did it somehow!

I have officially found a way around the 'cannot change drive letter of system partitions' rule. I can now go into Administrative tools and move the other windows OS to any letter I want, heck I can even mount it as only a folder if I so wished.
 
Last edited:

JustinW

Super Moderator
Staff member
#7
You know Terry... that could actually work! :smile:

I just stated what is fact after you'd already installed the OSes. I wasn't sure as to wether SonicComKid would want/could re-install the OSes using that method.

Looks like you got it the way you want it anyway, glad to hear you got it working! Your method looks slightly daunting when compared to Terry's, but whatever works for you I suppose :smile:
 

Terry60

Knows where his towel is.
Staff member
#8
Well done Sonic, and thanks for posting your process steps, they'll help someone else in future I'm sure.
Now that you've got what you wanted, with each OS fooled into thinking the other is not an OS, what's the situation with Vista's restore points ?
Can you boot XP without it resetting them ?
 
#9
Addendum:

:confused: ...okay.. this is incredibly weird, but I found a way to make it work!

1. Make both partitions
2. Hide Partition 2
3. Mark Partition one 'Active'
4. Install XP into Partition 1
5. UNhide Partition 2
6. Boot XP, then reboot (XP will notice a 'new' drive labeling it as G: )
7. Mark Partition 2 'Active' now instead of Partition 1
8. Hide Partition 1
9. Install Vista to Partition 2
10. UNhide Partition 1 (Vista will notice a 'new' drive calling it G: )
11. Install and run NeoSmart BCDedit and tell it to add a 'Linux' drive that has 'GRUB' installed, and say it exists in partition 1 (Do not bother trying to add an 'XP' to the list, I only get 'missing NTDLR' messeages, but with the linux entry it works) Save changes, name it what you want
12. Reboot, tada, XP and Vista are listed, BOTH work, and you can move eachother's drive letters around at will because XP doesn't consider Vista's partition an OS, and Vista doesn't consider XP's partition an OS
This is an interesting solution...
Like Terry, I'm wondering if the restore points issue is non-existant with XP and Vista, using this method. I almost did the same thing when I first installed XP on my system (Vista was pre-installed).
Originally, my Vista partition was set to "active", but when I installed XP, I changed the "active" flag to my XP partition instead, and hid Vista's partition, so consequently the boot files of XP went to its own partition, instead of Vista's, and the XP system grabbed the C: drive letter for itself, though Vista had been seeing itself as C. Now, when I use a 3rd party bootmanager to boot either one by setting the respective OS I'm trying to boot's partition to "active", each system sees itself as C, and sees the other system as D (until I decided to hide my Vista partition from XP). I realize that is basically what SonicComKid did. When he added a "Linux" entry instead of an "XP" entry, and pointed it at partition 1, I believe it caused partition 1 to become "active" when he selected that entry in the menu, and chose to boot it...something the normal "XP" entry does not do. And of course, since its calling up the PBR of that partition, which knows to look for "ntldr" instead of "bootmgr" (which the Vista partition's PBR looks for), he is able to load XP using this method. And of course, one can always name the "Linux" entry to something like "XP", since that is the OS it actually loads. :wink: Only trouble is when you want to boot into Vista again, you can't, because partition 1 (XP's partition) is still set to "active", and with the Microsoft IPL, at least, there is no way to reset the Vista partition to "active", and load it instead. Only way you get around that problem, that I see, is to have a copy of bootmgr, and /boot/BCD on XP's partition, and change the PBR on XP's partition to look for "bootmgr", as the Vista partition's PBR does, and then have a Linux entry in that BCD too, pointing at partition 2, named "Vista" or something similar, which when you select it, should point you back at Vista's PBR, and continue with the normal startup process. Of course, if you want to do that, you would also need an entry in each BCD to point at the system on the same partition, i.e. have a normal XP entry in the BCD on partition 1, and have a normal Vista entry in the BCD on partition 2, in addition to the "Linux" entries.
But, I don't know...
It seems like, though each system would see itself as C, when it is booted, XP would still find the restore points of Vista, and delete them. So, I think the only real way to solve that issue, is what all of us here have done...i.e. hide Vista's partition from XP when XP is booted.

Jake
 
Last edited:

JustinW

Super Moderator
Staff member
#10
It doesnt find the restore points for Vista cause I'm assuming his solution of using grub hides/unhides the partitions just like HnS does. If XP sees them thats all thats needed to delete the restore points, which is why you must either go in and tell XP to not check those partitions by making them offline or hiding them with grub.

Its MSes fault as usual. They weren't thinking ahead when they designed XP to assume that every partition is setup for system restore and than when they turn around and release a new version of Windows using a different format without patching the older OSes to handle it what can you expect?
 
#11
It doesnt find the restore points for Vista cause I'm assuming his solution of using grub hides/unhides the partitions just like HnS does.
Well, to be clear, he never answered Terry's question, so we can't be sure its not finding the restore points of Vista though...:wink:
And I think he just meant he added a normal Linux entry in EasyBCD, which AFAIK doesn't do any hiding.