Jump to content











Photo
- - - - -

Can ImDisk be used during Text mode of XP Setup?


  • Please log in to reply
8 replies to this topic

#1 ilko

ilko

    Silver Member

  • Advanced user
  • 500 posts
  •  
    Bulgaria

Posted 16 October 2008 - 12:50 AM

Hi,

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 16 October 2008 - 06:44 AM

Good questions. :confused1:

Missing answers. :cheers:

FYI:
http://www.911cd.net...showtopic=19960

However, maybe one can see if using the "alternate" syntax with <drive letter> can work :cheers::
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 memoarfaa

memoarfaa

    Member

  • Members
  • 82 posts
  •  
    Egypt

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

 

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\\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 

 

reg load HKLM\SETUPREG %userprofile%\Desktop\ImDisk\SETUPREG.HIV
 
reg import %userprofile%\Desktop\ImDisk\ImDisk.reg
 
reg unload HKLM\SETUPREG
 
and this to txtsetup.sif
 
[SourceDisksFiles]
imdisk.sys = 1,,,,,,,4,0,0
imdsksvc.exe = 1,,,,,,,4,0,0
imdisk.inf = 1,,,,,,,20,0,0
imdisk.cpl=1,,,,,,,2,0,0
 
[SCSI]
ImDisk ="ImDisk Virtual Disk Driver Installation disk"
 
[SCSI.Load]
ImDisk=imdisk.sys,4

Edited by memoarfaa, 12 December 2013 - 11:06 AM.


#4 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 12 December 2013 - 11:36 AM

Why the heck, do you want to use ImDisk for this?
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.

:cheers:

#5 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

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? :dubbio:

 

:cheers:

Wonko



#6 ilko

ilko

    Silver Member

  • Advanced user
  • 500 posts
  •  
    Bulgaria

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 memoarfaa

memoarfaa

    Member

  • Members
  • 82 posts
  •  
    Egypt

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.HIV
 
reg import %userprofile%\Desktop\ImDisk\ImDisk.reg
 
reg unload HKLM\SETUPREG
 
and this to txtsetup.sif
 
[SourceDisksFiles]
imdisk.sys = 1,,,,,,,4,0,0
imdsksvc.exe = 1,,,,,,,4,0,0
imdisk.inf = 1,,,,,,,20,0,0
imdisk.cpl=1,,,,,,,2,0,0
 
[SCSI]
ImDisk ="ImDisk Virtual Disk Driver Installation disk"
 
[SCSI.Load]
ImDisk=imdisk.sys,4

 



#8 memoarfaa

memoarfaa

    Member

  • Members
  • 82 posts
  •  
    Egypt

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 ilko

ilko

    Silver Member

  • Advanced user
  • 500 posts
  •  
    Bulgaria

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