Jump to content

Recommended Posts

Posted
Yep, that is what made me ask before which letter was assigned to the HD, booting from the stick automatically makes it first drive.

You're right. I apologize, I'm trying to be as correct as possible in working this out but I keep making errors. :( The best I can guess is that maybe I left migrate.inf in place and it somehow took care of the drive mapping, but not sure.

At least this seems to be a problem that won't be too hard to overcome. Thanks very much for the help and the tips, I'll give the batch file and the Grub4DOS ideas a look. I've been trying to read up on TXTSETUP.INF to see if somewhere in all the ,,,,s in the syntax of the [sourceDiskFiles] section there is a setting that would prevent file deletion after copying, but have not found such yet. The read-only mapping might be the thing to do. This stick doesn't have a hardware write lock switch on it.

Thanks again, I'm still on the job...


Posted

Still stuck with the same two issues.

I'm using GRUB4DOS now (great tool!) but when I tried the boot entry you suggested, I still got a boot.ini that pointed to the wrong disk, and the files were still being deleted from the USB stick. I think the --read-only switch only applies to grub-install, but the loader didn't complain about it being there.

I have also tried various permutations of mapping

map (hd0) (hd1)

map (hd1) (hd0)

with no success.

Although GRUB will recognize this re-mapping for booting, won't the Windows setup still always assume that it is being run from HD0 regardless?

I have not yet experimented with the batch files for re-writing boot.ini. Thanks!

Posted (edited)

Hello, cdob, welcome.

Well, I tried the revised boot entry, but got this:

Booting 'Boot WinXP Setup from USB'

map --read-only (hd0,0)+1 (fd0)

FAT16 BPB found with the starting 0xEB (jmp) confirmation.

probed C/H/S = 246/255/63, probed total sectors = 3963841

chainloader (fd0)+1

Error 26: Disk read error

I also tried mapping (hd0) to (fd0) without specifying the partition as in (hd0,0) but still got Error 26.

I tried

map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1)
chainloader (hd1)+1

but that did a double swap (or maybe no swap at all? same result) and I ended up booting my hard drive instead of the USB.

However, when I tried (this is where it gets interesting)

title Boot WinXP Setup from USB
map --read-only (hd0) (hd1)
rootnoverify (hd1)
chainloader (hd1)+1
boot

it made it. I booted successfully from the USB setup, files were copied, the machine rebooted, and the GUI part of setup began. Unfortunately it stopped soon after, and a dialog box popped up looking for files

Files needed

The file 'asms' on Windows XP Professional Service pack 2 CD is needed.

Type the path where the file is located and then click OK.

Copy files from

and the list box was pre-populated with

GLOBALROOT\DEVICE\HARDDISK1\PARTITION1\$WIN_NT$.~LS\I386

the only other choice in the list box was A: So, I could not continue at this point.

Next interesting thing: The boot.ini contains

[boot loader]
timeout=1
default=signature(76c076b)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
signature(76c076b)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Lastly, the files are still being deleted from the USB stick as they are copied.

Edited by porear
Posted

Hmmm, I think that you are getting really close :).

The fact that in boot.ini the "signature" syntax is used should mean that the drive is recognized as a "peculiar" one, but this, as I see it, is a good thing.

You can check the Disk (and stick) signature with MBRFIX or MBRWIZARD:

http://www.sysint.no/Nedlasting/MbrFix.htm

http://www.sysint.no/Nedlasting/MbrFix.zip

http://home.graffiti.net/jaclaz:graffiti.net/

http://home.graffiti.net/jaclaz:graffiti.n...X/mbrfix0.2.zip

The

title Boot WinXP Setup from USB
map --read-only (hd0) (hd1)
rootnoverify (hd1)
chainloader (hd1)+1
boot

should work as follows:

You map the stick (booted from, and thus first drive, or hd0) to second drive hd1, then you boot from it.

The question is how is "mapped" the internal hard disk drive and how is this seen by windows setup?

The reference to

d:\xpsprtm\base\ntsetup\syssetup\
should mean that (if I get it correctly the \xpsprtm directory is on the stick) the mapping is correct, i.e. the stick gets letter "d:".

On the other hand, the fact that the reference to

GLOBALROOT\DEVICE\HARDDISK1\PARTITION1\$WIN_NT$.~LS\I386

gives the missing file error, should mean that by this part of the setup the stick is NOT seen as second drive (HARDDISK1) but probably as first one (HARDDISK0)

One thing you could try is the following:

title Boot WinXP Setup from USB

map --read-only (hd0) (hd2)

map (hd1) (hd0)

rootnoverify (hd2)

chainloader (hd2)+1

boot

most probably you will have the same behaviour, but the box list could be "populated" by
GLOBALROOT\DEVICE\HARDDISK2\PARTITION1\$WIN_NT$.~LS\I386

instead.

Also, can you post (attaching it) the migrate.inf file you get when you prepare the stick with WINNT32.EXE?

I still have the "feeling" that the solution could be there.... :huh:

jaclaz

Posted (edited)

This does not seem to be a true hard disk drive letter mapping. I've not been able to find the \xpsprtm directory during setup, so I am assuming this is some "virtual" location that may be created on-the-fly. When searching the 'net, I only find instances of this sequence logged as mapped to d:\ ??

should mean that (if I get it correctly the \xpsprtm directory is on the stick) the mapping is correct, i.e. the stick gets letter "d:".
At this point the stick isn't even plugged in. The stick was pulled out of the machine when rebooting into the GUI setup, because otherwise we would be booting to the stick and starting text setup over again.

We could create another entry in GRUB to get around this and selectively boot to the hard drive, but then we would have to add specifics about the installation to the boot entry, such as which hard drive and directory the text setup installs to. This limits desired flexibility in the install to say that you must always install windows on x drive in y directory so that the GRUB entry will be correct.

Our problems stem from trying to jump start an install in the middle of the usual process. Once the GUI setup begins, it assumes that the text setup has created $WIN_NT$.~LS on the hard drive and that any files it needs will reside there.

Instead, our $WIN_NT$.~LS is on the stick, but the GUI part of setup running from C:\WINDOWS doesn't know it. I don't know if the GUI setup initially loads USB drivers such that it would see the stick anyway.

Does this enumeration scheme begin at 0 or 1?

GLOBALROOT\DEVICE\HARDDISK1\PARTITION1\$WIN_NT$.~LS\I386

because if it needs to be HARDDISK0 it might also need to be PARTITION0.

So I think the tasks at hand are:

Find a way for the GUI setup to see the stick

Point the GUI setup to the stick for the $WIN_NT$.~LS\I386 directory

Find a way to stop deletion of files from the the as they are copied in text mode setup

The other question would be whether the stick could be inserted and recognized after GUI setup start, or if we would have to boot around it in the BIOS sequence with GRUB on the stick.

Also as an FYI, found this about the signature syntax in boot.ini

http://support.microsoft.com/kb/q227704/

Thanks again for all the time and help! :)

Edited by porear
Posted

hmmm, more research to do....

About:

At this point the stick isn't even plugged in.
I am clearly missing something:

where is the $WIN_NT$.~LS directory, if not on the stick? :unsure:

I assumed that the syntax of

GLOBALROOT\DEVICE\HARDDISK1\PARTITION1\$WIN_NT$.~LS\I386

would be similar to the BOOT.INI one, where first disk is 0, but first partition is 1, byt I may be wrong.

To better analyze the contents of your migrate.inf, can you do the following ?:

1) Download on the computer you used WINNT32.EXE the DSFOK here:

http://members.ozemail.com.au/~nulifetv/freezip/freeware/

2) unzip it, open a command prompt in the directory and run the VLM tool like VLM > VLM.TXT

3) from the same command prompt run mountvol >> VLM.TXT

4) post (attach) the VLM.TXT

There might be a relationship between the drive signature and the entries in migrate.inf aka entries in the Registry or however another way to "couple" migrate.inf drive letter assignments to the fixed hard disk.

I'll post what I can find or if some other idea comes out.

jaclaz

Posted (edited)
I am clearly missing something:

where is the $WIN_NT$.~LS directory, if not on the stick?

Sorry if I wasn't clear. The $WIN_NT$.~LS directory is on the stick, but the stick is removed between text setup and reboot for GUI setup.

The sequence is

Boot USB stick into text mode setup on USB stick via GRUB4DOS

Run text mode setup from USB stick which copies some setup files to C:\WINDOWS on hard disk

Remove USB stick

Reboot, booting from C: into GUI mode setup from C:\WINDOWS

Replace USB stick

Failure when $WIN_NT$.~LS\I386 isn't found for more files needed by GUI setup.

May have missed the right combination, but was not able to then find the stick by changing the numbers in HARDDISKx\PARTITIONy

So either $WIN_NT$.~LS\I386 needs to be copied to the hard drive that Windows is being installed onto at the end of the text mode setup (inefficient and time consuming), or somehow the GUI mode setup needs to be able to acccess the USB stick, which I have yet to achieve. I am not certain if at initialization the GUI setup loads USB drivers or not.

My VLM.TXT is attached. Thanks!

VLM.TXT

Edited by porear
Posted (edited)

Wow. I don't believe it, but I THINK its working!!! This was without migrate.inf.

After text mode finished, at the reboot, I went into my BIOS and changed the sequence so the hard drive would be the first boot device, and left the USB stick in. It booted to the hard drive, began GUI setup, found the stick, and did not even prompt me for the \I386 files - it saw them.

For now, this seems like the remaining work:

1. The problem still remains that some of the files are deleted from the stick as they are copied during text mode setup.

2. Make another GRUB entry so that at boot you could choose between "Part 1 Text Mode Setup" and "Part 2 GUI Setup" in GRUB to point to the USB stick and the hard drive respectively. (I know its simple but I'm green on GRUB and haven't gotten it to work yet).

Bonus: It would be nice to have some type of toggling script on the stick for GRUB4DOS that would boot the stick the first time and the hard drive the next.

Edited by porear
Posted
2. Make another GRUB entry so that at boot you could choose between "Part 1 Text Mode Setup" and "Part 2 GUI Setup" in GRUB to point to the USB stick and the hard drive respectively. (I know its simple but I'm green on GRUB and haven't gotten it to work yet).

Bonus: It would be nice to have some type of toggling script on the stick for GRUB4DOS that would boot the stick the first time and the hard drive the next.

This should be possible using the "default" file and the savedefault directive in a "cross-linked" manner, I'll have a look in the matter.

jaclaz

Posted (edited)

Edit: savedefault was broken in GRUB but is now working after updating to a later version (0.4.2 pre11 dated 10-2006). The following accomplishes the desired toggle. I am not very familiar with GRUB, if there is a more correct way to boot XP from the hard drive on the GUI entry (or the USB boot), someone please jump in.

color black/cyan yellow/cyan
timeout 10

default /default

title Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
rootnoverify (hd1)
chainloader (hd1)+1
savedefault 1
boot

title Phase 2 WinXP GUI Mode Setup
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1)
chainloader +1
savedefault 0
boot

Item of note: to make things easier, I installed GRUB4DOS using WinGRUB. However, to get the latest version, I downloaded a later version of GRUB4DOS and copied the newer GRLDR file onto the stick.

To make savedefault work, it is necessary to copy the file DEFAULT from the GRUB4DOS installation files to the root of the stick.

The last issue still eludes me. Attached is a file listing of those files that are deleted from the stick during the text mode setup phase. The newer GRUB honors the --read-only switch. So, Windows setup now says it cannot copy those files - I guess it considers the copy a fail if it cannot delete the source file. The answer to this one will probably be on the Windows side of things.

delfiles.txt

Edited by porear
Posted (edited)

The key to the file deletion problem should be TXTSETUP.SIF. I'm looking for a definitive description of the TXTSETUP.SIF syntax.

Edited by porear
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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