jaclaz Posted June 15, 2009 Share Posted June 15, 2009 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} jaclaz Link to comment Share on other sites More sharing options...
ilko_t Posted June 15, 2009 Share Posted June 15, 2009 The posted snippets are from HKLM\SYSTEM\MountedDevices --> DosDevices...and ParrentIdPrefix which obviously plays role is not present in 7/Vista. Link to comment Share on other sites More sharing options...
jaclaz Posted June 15, 2009 Share Posted June 15, 2009 (edited) 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. 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? Can you expand on it?jaclaz Edited June 15, 2009 by jaclaz Link to comment Share on other sites More sharing options...
ilko_t Posted June 15, 2009 Share Posted June 15, 2009 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.infmigrate7.inf Link to comment Share on other sites More sharing options...
cdob Posted June 15, 2009 Share Posted June 15, 2009 MountPoint = G:\...Volume DevID = STORAGE\REMOVABLEMEDIA\7&C0E6684&1&RMDrive DevID = USBSTOR\DISK&VEN_JETFLASH&PROD_TS1GJF110&REV_0.00\5AD00F612A5447&0At 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 More sharing options...
ilko_t Posted June 15, 2009 Share Posted June 15, 2009 That was the output from ListUsbDrives under XP SP3.Here is output from the same program under Windows 7:ListUsbDrives V1.7.9.22Lists attached USB drives and their USB port names for USBDLMFreeware by Uwe Sieber - www.uwe-sieber.deCan 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 informationOperating System = 6.1 SP0 type=1 suite=100 Win32Current User = ilkoLogonType = localMember of groups = HomeUsers, AdministratorsAdmin = noElevation type = limitedMountPoint = G:\Volume Label = ---Volume Size = 1 GB (NTFS)Volume Serial = C434-F898Volume Name = \\?\Volume{e84fe82b-5925-11de-a126-001422e056f4}\Partition Name = \Device\Harddisk1\Partition1Bus Type = USBDrive Type = removableDevice Types = ---NoMediaNoLetter = configure >= 3INI Sections = ---Drive DevID = USBSTOR\DISK&VEN_LEXAR&PROD_JD_LIGHTNING_II&REV_1100\AA04015900000158&0Ctrl DevID = USB\VID_05DC&PID_A640\AA04015900000158Host Controller = Intel® 82801FB/FBM USB2 Enhanced Host Controller - 265CVolume DosDevName = \Device\HarddiskVolume5Disk DosDevName = \Device\00000060Removal Policy = surprise removal ('Optimize for quick removal')Partition Number = 1 of 1Friendly Name = LEXAR JD LIGHTNING IIRequested Power = 500 mA (bus powered)USB Version = 2.0 (high speed)USB Friendl. Name = LEXAR MEDIA JD LIGHTNING IIUSB Serial = AA04015900000158USB Port Name = 5-8MountPoint = H:\Volume Label = ---Volume Size = 1 GB (FAT)Volume Serial = 90E4-5FE9Volume Name = \\?\Volume{662b209a-59df-11de-9b1f-001422e056f4}\Partition Name = \Device\Harddisk2\Partition1Bus Type = USBDrive Type = removableDevice Types = ---NoMediaNoLetter = configure >= 3INI Sections = ---Volume DevID = STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_JETFLASH&PROD_TS1GJF110&REV_0.00#5AD00F612A5447&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}Drive DevID = USBSTOR\DISK&VEN_JETFLASH&PROD_TS1GJF110&REV_0.00\5AD00F612A5447&0Ctrl DevID = USB\VID_0457&PID_0151\5AD00F612A5447Host Controller = Intel® 82801FB/FBM USB2 Enhanced Host Controller - 265CVolume DosDevName = \Device\HarddiskVolume6Disk DosDevName = \Device\00000066Removal Policy = surprise removal ('Optimize for quick removal')Partition Number = 1 of 1Friendly Name = JetFlash TS1GJF110Requested Power = 98 mA (bus powered)USB Version = 2.0 (high speed)USB Friendl. Name = USB Mass Storage DeviceUSB Serial = 5ad00f612a5447USB Port Name = 5-5Search in Windows 7 registry for "C0E6684" or "16f722a4" returns no results. Link to comment Share on other sites More sharing options...
cdob Posted June 15, 2009 Share Posted June 15, 2009 That was the output from ListUsbDrives under XP SP3.Sorry, I misunderstood previous post.ReactOS use a crc32 hash to create the ParentIdPrefix value. http://reactos.freedoors.org/Reactos%200.3...pnpmgr/pnpmgr.cDoes XP and ReactOS create a equal ParentIdPrefix value? Link to comment Share on other sites More sharing options...
jaclaz Posted June 16, 2009 Share Posted June 16, 2009 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? jaclaz Link to comment Share on other sites More sharing options...
ilko_t Posted June 16, 2009 Share Posted June 16, 2009 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 More sharing options...
jaclaz Posted June 16, 2009 Share Posted June 16, 2009 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\RemovableMediajaclaz Link to comment Share on other sites More sharing options...
ilko_t Posted June 17, 2009 Share Posted June 17, 2009 Here is how ParentIDPrefix generated in 2000, most likely in XP too:http://bbs.driverdevelop.com/read.php?tid=96099http://translate.google.com/translate?hl=e...3Den%26num%3D50 Link to comment Share on other sites More sharing options...
ilko_t Posted June 17, 2009 Share Posted June 17, 2009 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\RemovableMediaFirst 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 More sharing options...
pSycho-Y2K Posted June 17, 2009 Share Posted June 17, 2009 (edited) 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: FAT32I 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$.~BTThe 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$.~BTThe 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 June 17, 2009 by pSycho-Y2K Link to comment Share on other sites More sharing options...
ilko_t Posted June 17, 2009 Share Posted June 17, 2009 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 More sharing options...
ilko_t Posted June 21, 2009 Share Posted June 21, 2009 Here is how ParentIDPrefix generated in 2000, most likely in XP too:http://bbs.driverdevelop.com/read.php?tid=96099http://translate.google.com/translate?hl=e...3Den%26num%3D50For 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&0The 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now