Jump to content

[SOLVED] USBstick take letter D and not U


pipster

Recommended Posts

The "scheme" in the Windows 7 snippet you posted is remarkably similar to contents of key:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

in my XP (example):

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}\##?#USBSTOR#Disk&Ven_USB&Prod_DISK_2.0&Rev_1219#O29OXXJDI4BOBM6F&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

:hello:

jaclaz

Link to comment
Share on other sites


The posted snippets are from HKLM\SYSTEM\MountedDevices --> DosDevices...and ParrentIdPrefix which obviously plays role is not present in 7/Vista.

OK,

then I simply don't get it. :w00t:

This (the windows 7 contents of HKLM\SYSTEM\MountedDevices--> DosDevices) :

_??_USBSTOR#Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100#AA04015900000158&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

Seems to me similar to the contents of the key HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}\ on my XP:

##?#USBSTOR#Disk&Ven_USB&Prod_DISK_2.0&Rev_1219#O29OXXJDI4BOBM6F&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

Another one:

##?#USBSTOR#Disk&Ven_OTi&Prod_Flash_Disk&Rev_2.00#130B5F43D7479CD7&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

See below:

_??_USBSTOR#Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100#AA04015900000158&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

##?#USBSTOR#Disk&Ven_USB&Prod_DISK_2.0&Rev_1219#O29OXXJDI4BOBM6F&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

##?#USBSTOR#Disk&Ven_OTi&Prod_Flash_Disk&Rev_2.00#130B5F43D7479CD7&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

What was the question?

Was it not how to create the contents of the DOSDEVICES key on a non-Windows 7 system? :unsure:

Can you expand on it?

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

The question is how to create acceptable/working migrate.inf on Windows 7/Vista out of the info in MountedDevices, where apparently ParrentIdPrefix is not present.

Seems attachments in were not uploaded with my previous post, here are migrate.inf produced by MkMigrateInf_b.cmd for the same USB stick under XP and Windows 7. The latter does not work as expected, drive letter U: is not applied to the USB stick.

migrateXP.inf

migrate7.inf

Link to comment
Share on other sites

MountPoint = G:\

...

Volume DevID = STORAGE\REMOVABLEMEDIA\7&C0E6684&1&RM

Drive DevID = USBSTOR\DISK&VEN_JETFLASH&PROD_TS1GJF110&REV_0.00\5AD00F612A5447&0

At first glance:

Volume DevID is very similar to a XP MountedDevices.

Can a Windows 7 Volume DevID converted to a XP MountedDevices?

Link to comment
Share on other sites

That was the output from ListUsbDrives under XP SP3.

Here is output from the same program under Windows 7:

ListUsbDrives V1.7.9.22
Lists attached USB drives and their USB port names for USBDLM
Freeware by Uwe Sieber - www.uwe-sieber.de
Can use the file usb.ids from [url="http://www.linux-usb.org/usb.ids"]http://www.linux-usb.org/usb.ids[/url] for USB device information

Operating System = 6.1 SP0 type=1 suite=100 Win32
Current User = ilko
LogonType = local
Member of groups = HomeUsers, Administrators
Admin = no
Elevation type = limited

MountPoint = G:\
Volume Label = ---
Volume Size = 1 GB (NTFS)
Volume Serial = C434-F898
Volume Name = \\?\Volume{e84fe82b-5925-11de-a126-001422e056f4}\
Partition Name = \Device\Harddisk1\Partition1
Bus Type = USB
Drive Type = removable
Device Types = ---
NoMediaNoLetter = configure >= 3
INI Sections = ---
Drive DevID = USBSTOR\DISK&VEN_LEXAR&PROD_JD_LIGHTNING_II&REV_1100\AA04015900000158&0
Ctrl DevID = USB\VID_05DC&PID_A640\AA04015900000158
Host Controller = Intel® 82801FB/FBM USB2 Enhanced Host Controller - 265C
Volume DosDevName = \Device\HarddiskVolume5
Disk DosDevName = \Device\00000060
Removal Policy = surprise removal ('Optimize for quick removal')
Partition Number = 1 of 1
Friendly Name = LEXAR JD LIGHTNING II
Requested Power = 500 mA (bus powered)
USB Version = 2.0 (high speed)
USB Friendl. Name = LEXAR MEDIA JD LIGHTNING II
USB Serial = AA04015900000158
USB Port Name = 5-8

MountPoint = H:\
Volume Label = ---
Volume Size = 1 GB (FAT)
Volume Serial = 90E4-5FE9
Volume Name = \\?\Volume{662b209a-59df-11de-9b1f-001422e056f4}\
Partition Name = \Device\Harddisk2\Partition1
Bus Type = USB
Drive Type = removable
Device Types = ---
NoMediaNoLetter = configure >= 3
INI Sections = ---
Volume DevID = STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_JETFLASH&PROD_TS1GJF110&REV_0.00#5AD00F612A5
447&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
Drive DevID = USBSTOR\DISK&VEN_JETFLASH&PROD_TS1GJF110&REV_0.00\5AD00F612A5447&0
Ctrl DevID = USB\VID_0457&PID_0151\5AD00F612A5447
Host Controller = Intel® 82801FB/FBM USB2 Enhanced Host Controller - 265C
Volume DosDevName = \Device\HarddiskVolume6
Disk DosDevName = \Device\00000066
Removal Policy = surprise removal ('Optimize for quick removal')
Partition Number = 1 of 1
Friendly Name = JetFlash TS1GJF110
Requested Power = 98 mA (bus powered)
USB Version = 2.0 (high speed)
USB Friendl. Name = USB Mass Storage Device
USB Serial = 5ad00f612a5447
USB Port Name = 5-5

Search in Windows 7 registry for "C0E6684" or "16f722a4" returns no results.

Link to comment
Share on other sites

ilko,

maybe I am still missing something, but do you have any reason/experience/documentation supporting the idea that a migrate.inf file is read at all during Windoows 7 setup? :unsure:

jaclaz

Link to comment
Share on other sites

Lets make it clear :)

The point is to prepare USB stick with XP setup files under Vista/7, where the keys in MountedDevices cannot be used right away to create migrate.inf.

In other words- running MkMigrateInf.cmd under 7 (and most likely Vista too) produces migrate.inf file, which is not applied during XP setup due to the different values in MountedDevices and USB stick gets letter different than U:.

Link to comment
Share on other sites

Pfff, now I see.

You want to find the way Xp generates the value 7&16f722a4&0&RM in your example :), and find a way to generate it under Windows 7. :)

What does Windows 7 has in here?:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f5630a-b6bf-11d0-94f2-00a0c91efb8b}

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\STORAGE\RemovableMedia

:unsure:

jaclaz

Link to comment
Share on other sites

What does Windows 7 has in here?:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f5630a-b6bf-11d0-94f2-00a0c91efb8b}

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\STORAGE\RemovableMedia

First 2 are not present, as is the third one.

Under HKLM\SYSTEM\ControlSet001\Enum\STORAGE\ there are only Volume and VolumeSnapshot subkeys.

The equivalent of the third on would be:

HKLM\SYSTEM\ControlSet001\Enum\STORAGE\Volume\_??_USBSTOR#Disk&Ven_JetFlash&Prod_TS1GJF110&Rev_0.00#5ad00f612a5447&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

Link to comment
Share on other sites

I have exactly the same problem as pipster :} Let me first give you guys the details:

- USB Flash Drive: Kingston DataTraveler 2.0 8GB

- Partition size: 8GB

- Filesystem: FAT32

I used the following guide by aviv00 (Post #1):

Guide - Install WinXP From HDD or USB Drive Or CD, 1.3 Final [2 Methods]

But, there was no migrate.inf involved.

I used MkMigratgeInf_b.cmd posted earlier in this thread and created a migrate.inf and moved it to $WIN_NT$.~BT

The output was unfortunately D: :}

Then, I used MkMigrateInf2.cmd from USB_MultiBoot_10 and created a migrate.inf and also moved it to $WIN_NT$.~BT

The output was also D: :}

As a last resort, I cleaned the USB device drivers with DriveCleanup, re-attached the USB Flash Drive, and tried the solution by piper copying the value of \DosDevice\G: into the migrate.inf (In my case it was G:), but it also didn't help :(

Then, I was thinking:

- Is migrate.inf called during the txt-setup with the guide by aviv00?

- Or is this only getting parsed with the USB_MultiBoot_10 solution? (since this is using a different approach installing XP)

I hope you guys can assist me like you did with pipster :)

Edited by pSycho-Y2K
Link to comment
Share on other sites

Did you test on real hardware or on virtual machine?

Did you try to prepare the USB stick with the latest WinSetupFromUSB and see if USB stick gets letter U:?

Attach your current migrate.inf.

Link to comment
Share on other sites

For one of my USB sticks ParentIDPrefix in XP is "16f722a4", it is CRC-32 hash of the uppercased unicode string:

USBSTOR\Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100\AA04015900000158&0

which is actually part of the registry subkey:

HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100\AA04015900000158&0

The comments in the code given above explain fairly well what is what.

Next days will be trying to achieve this calculation in AutoIt.

If there is anyone interested- here is the code in C, which calculates CRC32 hash:

#define HASH_UNICODE_STRING( _pustr, _phash ) {							 \
PWCHAR _p = (_pustr)->Buffer; \
PWCHAR _ep = _p + ((_pustr)->Length/sizeof(WCHAR)); \
ULONG _chHolder =0; \
\
while( _p < _ep ) { \
_chHolder = 37 * _chHolder + (unsigned int) (*_p++); \
} \
\
*(_phash) = abs(314159269 * _chHolder) % 1000000007; \
}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...