raywood
Enthusiast
Enthusiast

Nonsequential WinXP External Drive Letter in VMware

Jump to solution

I have a hardware problem using VMware Workstation 6.0 on 64-bit Hardy (Ubuntu 8.04), in a dual-boot Windows XP setup.

In this setup, I have several partitions. Of course, when I boot the system in WinXP, Windows assigns drive letters to each, starting with C. I make an exception for my external drive: I manually assign it to be drive O.

Sometimes I swap drives in the external drive enclosure. When I do that, WinXP forgets that the external drive was drive O. Until I go into Windows Disk Management and change the drive letter, it is now drive H or I or whatever, and my software doesn't work.

But I am only able to change the drive letter by booting WinXP natively. If I boot WinXP within a virtual machine in VMware running on Ubuntu, the external drive is a network drive, not a local drive, and Disk Management doesn't see it. Ubuntu sees it just fine, but I can't change the external drive to be drive O for purposes of my work within the virtual machine.

I'm still a little unclear on shared drives and network drives. It doesn't seem like it's a Windows problem. In Windows Explorer, I select Tools > Map Network Drive, and navigate to the right place, and the drive's name (OFFSITE) is visible there. I can map it to be any letter -- O or I or whatever -- but unfortunately it's still invisible to WinXP in the virtual machine.

Confusing!

0 Kudos
1 Solution

Accepted Solutions
asatoran
Immortal
Immortal

If must use shared folders because Ubuntu needs access, then make a batch file in Windows that will map the appropriate drive letter to the share.Interesting idea. I don't know the batch command to use. I'm familiar with DOS and batching, but I've never used it for drive mapping.

NET USE <drive letter> <share>

e.g.: NET USE K:
server\sharedfolder

e.g.: To remove the mapped drive letter: NET USE K: /D

(More parameters if you need it: )

Don't manually assign a drive letter in Disk Management. Let Windows auto assign next available drive letter, but add enough virtual CD drives and hard drives to make the next drive letter the one you want. Then change your software to work with this drive letter.It's a kludge, but it could solve the problem. I guess you're saying I should have one or more dummy virtual drives? I don't know how or where to map them.

Shut down your virtual machine. Add a new virtual hard drive. Any size you want, but enough to make several parititions. Start up the virtual machine. In Disk Manager, partition and format the new virtual hard drive. Assign the new partitions to all the lower drive letters so that the "next available" is the drive letter you want. So if you have a existing C: and 😧 (CD-ROM) and you want the "next available" to be K:, then make 6 partitions on the new hard drive and assign them E:, F:, G:, H:, I:, J:. You don't have to use this new hard drive for anything, unless you want to. It's just there as a place holder for the drive letters.

I'd recommend you try the batch file first. I haven't tried them with VMWare Shared Folders, but I have used them extensively with standard Windows shares.

View solution in original post

0 Kudos
10 Replies
continuum
Immortal
Immortal

> When I do that, WinXP forgets that the external drive was drive O.

Thats not correct - Windows remembers volumes (partitions) - if you change the disk in the external drive enclosure XP obviously assigns different driveletters - unless you later change them via diskmgmt.msc.

If you use network-drives from within the VM you should be able to assign O: without problems.

___________________________________

description of vmx-parameters:

VMware-liveCD:


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
raywood
Enthusiast
Enthusiast

I think you've repeated what I said. The drive letter does change when I swap drives. I've been doing it for a year.

But anyway, does anyone have any ideas for how to deal with this problem?

0 Kudos
continuum
Immortal
Immortal

> I think you've repeated what I said.

No - I just tried to explain why there is no problem - thats the way it works - get used to it

___________________________________

description of vmx-parameters:

VMware-liveCD:


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
raywood
Enthusiast
Enthusiast

Could I request help from someone else, please?

0 Kudos
louyo
Virtuoso
Virtuoso

Well, that is how it works. What you might do, however, is what I have done.

You don't say how the external drive is connected, but for something like usb or network attached, you can mount the drive to a directory in your host and make that directory available as a share via Samba. Same idea as when you create a share on another Windows machine.

Then, when you log on to your Windows guest, run a "net use" command to assign the Samba share to a letter or find it in Network Places (or whatever they call it these days) and map it from there. I do such things in a .cmd file during Windows start up:

net use z:
host name\sharename /persistent:no

sorry for formating,net use is all on one line.

Lou

asatoran
Immortal
Immortal

...But I am only able to change the drive letter by booting WinXP natively. If I boot WinXP within a virtual machine in VMware running on Ubuntu, the external drive is a network drive, not a local drive, and Disk Management doesn't see it. Ubuntu sees it just fine, but I can't change the external drive to be drive O for purposes of my work within the virtual machine.

Confusing because it sounds like you're booting XP in a virtually and physically...and you're attaching the drive to XP and Ubuntu. Do you need Ubuntu access to the external drive? If not, then you do not need to mount it in Ubuntu and so don't need to used shared folders. Then virtual XP doesn't see the drive as a network drive. If I interpret correctly, part of your problem is that you want to have the same drive letter going to a network drive or a physical drive, yet have Windows remember both settings. This cannot be done, at least not reliably.

Then the changing drive letter in XP. When changing XP from boot physically, to boot virtually, XP will get a new USB controller. (The virtual USB controller.) Although XP should recognize the signature of the external drive, I have encounted that Windows will sometimes detect as new hardware, thus assign a different drive letter.

Possible workarounds

  1. If you do not need Ubuntu access to drive, then do not mount in Ubuntu. Connect external USB drive directly to virtual machine. If signature is detected correctly, then Windows will remember the drive letter.

  2. If must use shared folders because Ubuntu needs access, then make a batch file in Windows that will map the appropriate drive letter to the share.

  3. Don't manually assign a drive letter in Disk Management. Let Windows auto assign next available drive letter, but add enough virtual CD drives and hard drives to make the next drive letter the one you want. Then change your software to work with this drive letter.

e.g.: you want external drive to show up as K: because on physical, you

have 2 CD rom drives and a card reader, so Windows assigns next

available drive letter, K:. But you do not attach card reader to virtual machine. Virtual machine has just one virtual HD with one parition (C:) and one CD (D:.) So add an additional virtual hard drive, then partition it as E:, F:, G:, H:, I:, J:. So now the next available drive letter is K:, same as physical.

raywood
Enthusiast
Enthusiast

for something like usb or network attached, you can mount the drive to a directory in your host and make that directory available as a share via Samba.

Thanks. I'll have to look into using Samba. I've heard of it but have not yet used it.

0 Kudos
raywood
Enthusiast
Enthusiast

Confusing because it sounds like you're booting XP in a virtually and physically

I can do it either way. I can boot it physically -- what I called "natively" -- because, like I say, it's a dual-boot system. Or I can boot it virtually, in a VM, using VMware Workstation for Linux on Ubuntu, with WinXP as the guest. I think this must be the part that the other guy didn't understand.

When changing XP from boot physically, to boot virtually, XP will get a new USB controller. (The virtual USB controller.) Although XP should recognize the signature of the external drive, I have encounted that Windows will sometimes detect as new hardware, thus assign a different drive letter.

You've got it. That's the issue.

Possible workarounds

If you do not need Ubuntu access to drive, then do not mount in Ubuntu. Connect external USB drive directly to virtual machine.

I do need Ubuntu access.

If must use shared folders because Ubuntu needs access, then make a batch file in Windows that will map the appropriate drive letter to the share.

Interesting idea. I don't know the batch command to use. I'm familiar with DOS and batching, but I've never used it for drive mapping.

Don't manually assign a drive letter in Disk Management. Let Windows auto assign next available drive letter, but add enough virtual CD drives and hard drives to make the next drive letter the one you want. Then change your software to work with this drive letter.

It's a kludge, but it could solve the problem. I guess you're saying I should have one or more dummy virtual drives? I don't know how or where to map them.

0 Kudos
asatoran
Immortal
Immortal

If must use shared folders because Ubuntu needs access, then make a batch file in Windows that will map the appropriate drive letter to the share.Interesting idea. I don't know the batch command to use. I'm familiar with DOS and batching, but I've never used it for drive mapping.

NET USE <drive letter> <share>

e.g.: NET USE K:
server\sharedfolder

e.g.: To remove the mapped drive letter: NET USE K: /D

(More parameters if you need it: )

Don't manually assign a drive letter in Disk Management. Let Windows auto assign next available drive letter, but add enough virtual CD drives and hard drives to make the next drive letter the one you want. Then change your software to work with this drive letter.It's a kludge, but it could solve the problem. I guess you're saying I should have one or more dummy virtual drives? I don't know how or where to map them.

Shut down your virtual machine. Add a new virtual hard drive. Any size you want, but enough to make several parititions. Start up the virtual machine. In Disk Manager, partition and format the new virtual hard drive. Assign the new partitions to all the lower drive letters so that the "next available" is the drive letter you want. So if you have a existing C: and 😧 (CD-ROM) and you want the "next available" to be K:, then make 6 partitions on the new hard drive and assign them E:, F:, G:, H:, I:, J:. You don't have to use this new hard drive for anything, unless you want to. It's just there as a place holder for the drive letters.

I'd recommend you try the batch file first. I haven't tried them with VMWare Shared Folders, but I have used them extensively with standard Windows shares.

0 Kudos
raywood
Enthusiast
Enthusiast

OK. Thanks. This time, I get it.

For posterity, here's what I used:

net use o: "
.host\Shared Folders"

I had to use quotes because of the space between "Shared" and "Folders."

That command gave me this in Windows Explorer: "Shared Folders on '.host' (O:)"

That did not quite match how the other partitions appear in WinEx. They were like this: "Vms on '.host\Shared Folders' (H:)". I was able to rename it manually in WinEx, though. I couldn't tell for sure whether the site you pointed me to had info on that -- I didn't fully understand its options, but I will figure them out if I need them.

Incidentally, my situation had mutated somewhat since the start of this post. For some reason, the drive O entry in WinEx was showing only one folder on the external drive. It was weird. It had files in it, but when I opened them, I got no hard disk light action on the external drive. It was like it had mapped to that folder on another partition. (I do keep a backup of that same partition on an internal drive as well, on a different schedule.) I used "net use o: /d" as you advised to get rid of it. I had to reboot the VM to make it go away, but then it was indeed gone.

Thanks again.

0 Kudos