Jump to content

Alternative location of Setup files when installing from HD media

Recommended Posts

You are right, where is my brain :blink:

The reason is that on removable drives Setup will not recognize the second partition and will bluescreen with 0x0000007B. On fixed disks this doesn't happen as far as I remember, but we need to make them removable anyway, because of the boot.ini/ntldr/ntdetect.com placement, using rdummy.sys. So the second partition won't be recognized again.

In your case, with removable drive, SetupSourceDevice = \device\harddisk1\partition2 won't work as well, as Setup won't find the second partition, unless you add cfadisk or dummydisk during Text mode, but as I mentioned, this will make Setup place boot files on the USB drive, rather than on the internal hard disk, plus drive letters will be shifted.

Can't think of any quick solution to your problem, will post later if any idea comes up.

Again, sorry for misleading you.

Link to comment
Share on other sites

presetup.cmd is executed by fake setup.exe at start of GUI mode. You need to use txtsetup.sif for the purpose.

Setup will add it to Windows as a driver for you, no need to worry for GUI part.

Want to play a bit?

1. Here is WinSetupFromUSB.exe with the check for first partition removed. Put it in WinSetupFromUSB folder and use it instead of the original file.

2. Replace rdummy.sy_ in \WinSetupFromUSB\files\winsetup\ with dummydisk.sys cab compressed (makecab /?) and renamed. You may get it from \files\MULTIpartitionUSBstick\

3. Run \files\MULTIpartitionUSBstick\InstallStartDummyDisk.cmd, partition the USB stick, make the second partition primary and active. Keep dummydisk.sys running. You will need it to create a proper migrate.inf.

4. Prepare the USB stick, selecting the second partition. Make sure force Target disk type radio button is on FIXED. You may now stop dummydisk if no longer need it- StopRemoveDummyDisk.cmd

5. Amend presetup.cmd in USB \$win_nt$.~ls\i386\ and add a few lines to copy BOOT.INI, NTDETECT.COM and NTLDR from the USB drive to C:, or %SystemDrive% if you are not installing in a second partition or disk.

Try to install. Does Setup find source files in the second partition during file copy stage? How about when formatting the target disk? This is what I can't remember from my tests.

Link to comment
Share on other sites

  • 1 month later...
  • 7 months later...

Update- after playing a bit with WinObj found a few more allowed variants for SetupSourceDevice:

Migrate.inf used.


SetupSourceDevice = \GLOBAL??\U:	
SetupSourceDevice = \device\HarddiskVolume2
SetupSourceDevice = \GLOBAL??\STORAGE#REMOVABLEMEDIA#7&16F722A4&0&RM#{53f5630a-b6bf-11d0-94f2-00a0c91efb8b}

The first two make sense since they are symlinks to a partition, but can't quite figure out why the third one worked too, since it should be pointing to a device :unsure:

Not yet quite useful, since all of them may vary depending of the number of the disks present or the ParentIDPrefix generated.

These two, which I bet on, since there is no drive letter or ParentIDPrefix involved, unfotunately did NOT work:

;SetupSourceDevice = \GLOBAL??\USB#Vid_05dc&Pid_a640#AA04015900000158#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
;SetupSourceDevice = \GLOBAL??\USBSTOR#DISK&VEN_LEXAR&PROD_JD_LIGHTNING_II&REV_1100#AA04015900000158&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

Other unsuccessful attempt:


Now the best part:

SetupSourceDevice = \ArcName\multi(0)disk(0)rdisk(0)partition(1)

DID work :w00t:

Now with this syntax allowed, knowing that when booted from the USB stick seen as HD we would always know that we can point Setup to it for source files and do not have to use msdosinitiated=1 and ~LS folder, thus no files would be deleted during Text mode and section Unattended should be allowed too.

Link to comment
Share on other sites

A few notes:

Using in winnt.sif [setupdata]

SetupSourceDevice = \ArcName\multi(0)disk(0)rdisk(0)partition(1)

results in broken DosPath in $winnt$.inf, which key is created and used as source path at start of GUI, thus source cannot be found.

floppylessbootpath = "\Device\HardDisk1\partition1"
sourcepath = "\arcname\multi(0)disk(0)rdisk(0)partition(1)\xp_pro\"
MsDosInitiated = "0"
floppyless = "1"

Changing sourcepath to the value of floppylessbootpath (created by Text mode with the proper path where Setup was booted from), before start of GUI using fake setup, results in properly created dospath:

floppylessbootpath = "\Device\HardDisk1\partition1"
sourcepath = "\Device\HardDisk1\partition1\xp_pro\"
dospath = U:\xp_pro\

Just tested this with full XP install till first desktop.

Another note- as mentioned in KB article, having unattended section and oempreinstall=yes results in migrate.inf being ignored. During Text mode stick is U:, but at GUI is E: or whatever.


Link to comment
Share on other sites

  • 4 years later...

Im using WinSetupFromUSB 1.0 beta 7

Intentionally edited txtsetup.sif inside of small ISO with the following changes

BootDevice = multi(0)disk(0)cdrom(224)BootPath = "\i386\"SetupSourceDevice = multi(0)disk(0)cdrom(224)SetupSourcePath = "\"

It´s strange: setup got loading files from my <Secondary Master CD-ROM Drive>

Then it freezes with the last step being: "Setup is starting windows" and BSOD 0x7B

Simply, the list of disks is not displayed

My intention is to manually inject drivers from GRUB to my original Physical XP-CD

Link to comment
Share on other sites

Welcome to the MSFN forum.

Please do not double and triple post the same content, you will get answers when and if possible. I have removed the other posts.

Why multi(0)disk(0)cdrom(224) ?

Where are setup files located?

How are you planning to inject drivers using grub4dos?

Mind you, grub4dos is not the same as grub, it's a constantly developed fork of the retired grub legacy, with added quite a lot features and improvements.

Link to comment
Share on other sites

1) Im trying to route to CD-ROM Drive instead, in my case on Secondary Master IDE/ATA CD-ROM Drive

2) Setup files are located in Original Microsoft Windows XP SP3 CD Medium inserted

3) Just editing the menu.list, winsetup.lst files your application creates, editing txtsetup on the small ISO mapped in memory

Originally tried with the app IMG_XP_Create, it works but fail at same phase when moved the files to USB stick.

Link to comment
Share on other sites

You'd need to play a bit to find the right syntax, if possible at all.

If you are testing on a Dell system use the modified ntdetect.com just in case.

Besides, is it just an experiment? Why not start setup directly from the CD?

Link to comment
Share on other sites

I dont have a Floppy Drive for storing my device drivers :}

And this what has to do with the ARCPATH cdrom(xyz) mapping? :unsure:

If you need a floppy drive for "F6 drivers", you can use a virtual floppy alright, using grub4dos and firadisk.


Link to comment
Share on other sites

Googling a little I found this syntax for accesing CD-Drives

multi(0)disk(0)cdrom(159)\I386="..CD on 9F" /minint /fastdetect /sosmulti(0)disk(0)cdrom(239)\I386="..CD on EF" /minint /fastdetect /sosmulti(0)disk(0)cdrom(224)\I386="..CD on E0" /minint /fastdetect /sosmulti(0)disk(0)cdrom(130)\I386="..CD on 82" /minint /fastdetect /sos

I tried all numbers and 224 finally works for me, setup load his files from the CD :w00t:

Some seconds after, it stuck on "Setup is starting windows" :huh: and inmediately BSOD 0x7B

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