Can ImDisk be used during Text mode of XP Setup?
#1
Posted 16 October 2008 - 12:50 AM
First of all thanks for ImDisk, great tool, one of those you get used to in minutes and becomes part of your toolbox right away.
The issue- direct install of Windows XP/200x from USB is troublesome.
Easy way to make it behave just as from a CD, is to add these entries to txtsetup.sif:
SetupSourcePath = "\"
SetupSourceDevice = \device\harddisk1\partition1
http://www.msfn.org/...et-t119742.html
The issue that \device\harddisk1\partition1 varies, USB disk doesn't always get harddisk1, for example having two or more internal disk or card readers USB disk might be seen as harddisk3 or 5.
The idea- load imdsk.sys along with the other text mode drivers and make it load an image with XP source in it.
Point Setup to use the virtual drive as source path- SetupSourceDevice = \device\ImDisk0
Is it doable at all?
How can we make imdisk.sys load our image without registry present? Migrate.inf is loaded and read by Setup, some entries could be added by it, but I guess it's too late- imdisk.sys is already loaded.
FYI if it helps- this works:
http://www.codeproje...ct_hooking.aspx
dummydisk.sys loaded along scsi drivers does hook the query and makes USB removable disks to appear as fixed when Setup displays available disks.
In short:
1. Can imdisk be used that early
2. How can be set to load image file without using registry
3. Will the image occupy the same amount of RAM as it's size? If not- does image have to be contiguous on the hard disk like grub4dos needs?
4. If it can't be used, can you think of any other way to overcome the changing USB disk number? Any idea how Setup makes disk numbering?
Thanks in advance.
#2
Posted 16 October 2008 - 06:44 AM
Missing answers.
FYI:
http://www.911cd.net...showtopic=19960
However, maybe one can see if using the "alternate" syntax with <drive letter> can work :
http://www.boot-land...?showtopic=2425
http://www.boot-land...?...=2425&st=19
Starnge things happen in early stages of early booting, for example observations related to grub4dos made us believe that NTLDR reads an entry in BOOT.INI like:
C:\grldr="grub4dos"
more as:
"boot the grldr on the same drive where BOOT.INI is"
than:
"boot the grldr on C: drive"
or:
"boot the grldr on first active partition"
jaclaz
#3
Posted 12 December 2013 - 10:53 AM
make folder in desktop with imdisk name
copy SETUPREG.HIV from the xp iso to the imdisk folder
add this regedit 32 value to the imdisk folder
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Control\Session Manager\DOS Devices]
"V"="\\Device\\ImDisk0"[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk]
"Type"=dword:00000001
"Start"=dword:00000002"ErrorControl"=dword:00000000
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6d,00,64,00,69,00,73,00,6b,\
00,2e,00,73,00,79,00,73,00,00,00"DisplayName"="ImDisk Virtual Disk Driver"
"Description"="Disk emulation driver"[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk\Parameters]
"DriveLetter0"="V"
"Flags0"=dword:00000200"LoadDevices"=dword:00000001
"FileName0"="\\??\\GLOBALROOT\\Device\\CDROM1\\ISO\\XP_RAM.ISO"[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk\Enum]
"0"="Root\\LEGACY_IMDISK\\0000""Count"=dword:00000001
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDskSvc]
"Type"=dword:00000010
"Start"=dword:00000002"ErrorControl"=dword:00000000
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,\
00,6d,00,64,00,73,00,6b,00,73,00,76,00,63,00,2e,00,65,00,78,00,65,00,00,00"DisplayName"="ImDisk Virtual Disk Driver Helper"
"ObjectName"="LocalSystem""Description"="Helper service for ImDisk Virtual Disk Driver."
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDskSvc\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDskSvc\Enum]
"0"="Root\\LEGACY_IMDSKSVC\\0000"
"Count"=dword:00000001"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDISK]
"NextInstance"=dword:00000001[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDISK\0000]
"Service"="ImDisk"
"Legacy"=dword:00000001"ConfigFlags"=dword:00000000
"Class"="LegacyDriver""ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="ImDisk Virtual Disk Driver""Capabilities"=dword:00000000
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDISK\0000\Control]
"ActiveService"="ImDisk"
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDSKSVC]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDSKSVC\0000]
"Service"="ImDskSvc""Legacy"=dword:00000001
"ConfigFlags"=dword:00000000"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}""DeviceDesc"="ImDisk Virtual Disk Driver Helper"
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDSKSVC\0000\Control]
"ActiveService"="ImDskSvc"
open cmd
and add this command
Edited by memoarfaa, 12 December 2013 - 11:06 AM.
#4
Posted 12 December 2013 - 11:36 AM
Use a driver that was designed for exactly this scenario, like Firadisk or WinVBlock.
Together with grub4dos they present a ready made solution for your problem.
#5
Posted 12 December 2013 - 12:24 PM
Why the heck, do you want to use ImDisk for this?
There may be advantages (or disadvantages) with such an use of IMDISK.
Why posing a limit to alternatives?
Wonko
#6
Posted 12 December 2013 - 09:15 PM
@memoarfaa
Thanks, I'll try it.
Did you load successfully Text mode of Setup, using only the ISO file?
How about the line:
"FileName0"="\\??\\GLOBALROOT\\Device\\CDROM1\\ISO\\XP_RAM.ISO"
Isn't that supposed to load XP_RAM.ISO from \Device\CDROM1\ISO\ ? Where is actually XP_RAM.ISO file placed?
What is your exact configuration? How do you load Setup, setupldr.bin etc.?
@MedEvil
The topic was started about an year before WinVBlock and Firadisk projects were available. Besides, having another alternative, especially with ImDisk, wouldn't hurt at all.
#7
Posted 31 December 2013 - 11:05 AM
make folder in desktop with imdisk name
copy SETUPREG.HIV from the xp iso to the imdisk folder
add this regedit 32 value to the imdisk folder
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Control\Session Manager\DOS Devices]
"V"="\\Device\\ImDisk0"[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk]
"Type"=dword:00000001
"Start"=dword:00000002"ErrorControl"=dword:00000000
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6d,00,64,00,69,00,73,00,6b,\
00,2e,00,73,00,79,00,73,00,00,00"DisplayName"="ImDisk Virtual Disk Driver"
"Description"="Disk emulation driver"[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk\Parameters]
"DriveLetter0"="V"
"Flags0"=dword:00000200"LoadDevices"=dword:00000001
"FileName0"="\\??\\GLOBALROOT\\Device\\CDROM0\\ISO\\XP_RAM.ISO"[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDisk\Enum]
"0"="Root\\LEGACY_IMDISK\\0000""Count"=dword:00000001
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDskSvc]
"Type"=dword:00000010
"Start"=dword:00000002"ErrorControl"=dword:00000000
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,\
00,6d,00,64,00,73,00,6b,00,73,00,76,00,63,00,2e,00,65,00,78,00,65,00,00,00"DisplayName"="ImDisk Virtual Disk Driver Helper"
"ObjectName"="LocalSystem""Description"="Helper service for ImDisk Virtual Disk Driver."
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDskSvc\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Services\ImDskSvc\Enum]
"0"="Root\\LEGACY_IMDSKSVC\\0000"
"Count"=dword:00000001"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDISK]
"NextInstance"=dword:00000001[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDISK\0000]
"Service"="ImDisk"
"Legacy"=dword:00000001"ConfigFlags"=dword:00000000
"Class"="LegacyDriver""ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="ImDisk Virtual Disk Driver""Capabilities"=dword:00000000
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDISK\0000\Control]
"ActiveService"="ImDisk"
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDSKSVC]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDSKSVC\0000]
"Service"="ImDskSvc""Legacy"=dword:00000001
"ConfigFlags"=dword:00000000"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}""DeviceDesc"="ImDisk Virtual Disk Driver Helper"
[HKEY_LOCAL_MACHINE\SETUPREG\ControlSet001\Enum\Root\LEGACY_IMDSKSVC\0000\Control]
"ActiveService"="ImDskSvc"
open cmd
and add this command
reg load HKLM\SETUPREG %userprofile%\Desktop\ImDisk\SETUPREG.HIVreg import %userprofile%\Desktop\ImDisk\ImDisk.regreg unload HKLM\SETUPREGand this to txtsetup.sif[SourceDisksFiles]imdisk.sys = 1,,,,,,,4,0,0imdsksvc.exe = 1,,,,,,,4,0,0imdisk.inf = 1,,,,,,,20,0,0imdisk.cpl=1,,,,,,,2,0,0[SCSI]ImDisk ="ImDisk Virtual Disk Driver Installation disk"[SCSI.Load]ImDisk=imdisk.sys,4
#8
Posted 31 December 2013 - 11:31 AM
the line:
"FileName0"="\\??\\GLOBALROOT\\Device\\CDROM0\\ISO\\XP_RAM.ISO"
"FileName0"="\\??\\GLOBALROOT\\Device\\CDROM1\\ISO\\XP_RAM.ISO"
ImDisk can automatically load ISO form CDROM when Windows starts up make folder in the root of cd or dvd with ISO name put XP_RAM.ISO in it
in text Mode can set a drive letter to a setupldr.bin RAM loaded
http://www.911cd.net...showtopic=19960
yes,I'm successfully load Text mode of Setup, using only the ISO file
using firadisk but firadisk has limited access to load ISO from cdroom you mast map cd sector
map --heads=2 --sectors-per-track=18 --mem /ISO/XP_RAM.ISO (0xff)
or
map --mem (0xFE)+234567 (0xFF)
in text Mode and GUI mode of Windows xp Setup
Edited by memoarfaa, 31 December 2013 - 12:00 PM.
#9
Posted 31 December 2013 - 11:41 AM
...?Did you load successfully Text mode of Setup, using only the ISO file?
How about the line:"FileName0"="\\??\\GLOBALROOT\\Device\\CDROM1\\ISO\\XP_RAM.ISO"Isn't that supposed to load XP_RAM.ISO from \Device\CDROM1\ISO\ ? Where is actually XP_RAM.ISO file placed?
What is your exact configuration? How do you load Setup, setupldr.bin etc.?
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users