Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

How to boot/install from USB key ?


  • This topic is locked This topic is locked
485 replies to this topic

#101
sibisar

sibisar
  • Member
  • 1 posts
I tried option #1 using FreeDos. I ran into more or less the same problems. Maybe that would give some hint to your very deep research.

PS:
Just a word of caution to anyone using method #1. Do not use FreeDOS. Use a DOS bootable disk derived from XP. Fdisk.exe in this has a limitation in changing the primary partition. Use fdisk.exe from FreeDos to overcome this problem. Do not use anyother files form FreeDos....


How to remove advertisement from MSFN

#102
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag

I tried option #1 using FreeDos. I ran into more or less the same problems. Maybe that would give some hint to your very deep research.

PS:
Just a word of caution to anyone using method #1. Do not use FreeDOS. Use a DOS bootable disk derived from XP. Fdisk.exe in this has a limitation in changing the primary partition. Use fdisk.exe from FreeDos to overcome this problem. Do not use anyother files form FreeDos....


Yep,
FreeDos has some problems on some USB devices.
They are said to be fixable, as they appear to be related to Freedos drive geometry autodetect and to a "magic" byte that needs to be in the bootsector, makebootfat mentions this:
http://advancemame.s...akebootfat.html

-E, --drive DRIVE
Set the BIOS drive to setup in the FAT boot sector. Generally this value is ignored by boot sectors, with the exception of the FAT12 and FAT16 FreeDOS boot sectors that require the correct value or the value 255 to force auto detection.

I never had problems with it on my particular hardware, but I can confirm that I received reports of failures with FreeDos from other people, whilst both "XP extracted" (read Millennium Edition) and Win98 Dos Files (IO.SYS, MSDOS.SYS, COMMAND.COM) work flawlessly.


Another hint, if you don't have a floppy disk drive on your PC (nowadays quite uncommon on laptops), extracting the DOS files from XP could be a problem, there are a few ways out.
1) Use VFD from Ken Kato:
http://chitchat.at.i...vmware/vfd.html
2) Use this program by codebeetle:
http://www.gocoding....al=bootflashdos
3) Use this method inspired by the StarMan, focused by yours truly and actually put together by Nuno Brito to just extract the files and later use the HP USB utility normally:
www.911cd.net/forums//index.php?showtopic=16745
(as soon as the 911CD forum works again, for the moment Google cache is here):
http://72.14.221.104.....owtopic=16745
http://72.14.221.104...N...16745&st=20

If you don't have a 98/ME bootfloppy around, the problem might be FORMAT.COM, that is in the XP DOS disk, INSIDE the DELETED file ebd.cab, see this:
http://www.911cd.net...php?t18896.html
http://209.85.129.10.....p?t18896.html

You will need a little knowledge using a data recovery program to get it.

Or, even better, get the enhanced FORMAT.COM by Petr:
http://www.msfn.org/...showtopic=85573

jaclaz

#103
porear

porear

    Newbie

  • Member
  • 49 posts
Happy New Year! :D Just dropping a quick note to say I'm still here and still have not abandoned this, but my time will be spotty for a bit. The wife is nesting, so I have quite a few home projects in progress, and I've also changed job assignments at work. Will contribute again as soon as possible.

#104
Speeddymon

Speeddymon

    Advanced Member

  • Member
  • PipPipPip
  • 323 posts

Yes, even delete the \minint directory. All we really obtained from this build is NTLDR, this is where someone smarter than I could simplify the process and save some time if they could help obtain a proper NTLDR another way.

[-snip-]

Steps 7 and 8 are another place where a proper NTLDR file that does not point to \minint would help create a more correct method.

[-snip-]

Hope this works for you, please give it a shot. Any suggestions and improvements are more than welcome, I could really use help with the NTLDR issue so that the time-consuming PE build would not be needed. I'll be glad to answer any questions I can, but like I said, this was a blind squirrel/acorn "hit and miss" for me!


Ok, I figured out a MUCH simpler method for getting NTLDR, and for getting one that doesn't point to \minint assuming you have the prereqs.

NOTE: I havent finished my testing yet as I am remaking my installdir right now with the new patches, so if there is something that comes up later on in setup due to this then shoot me a PM so I know.

Prereqs:
- WinImage (http://www.winimage.com) (the shareware version works fine for this)
- Bart's mkbt
- A working copy of XP
- The 6 boot floppy images from the Original XP Install CD

1) Open WinImage
2) Click the Disk menu, and select Edit Master Boot Record Properties
3) Check the checkbox Include non removable Hard Disks
4) Select the Hard Disk that XP is installed on (Usually Disk 1), and click Save
5) Give the bootsector a name and save somewhere you can find it (I save it to the mkbt directory with the name bootsect.bin)
6) Open a command prompt and switch to the directory mkbt is in
7) Run mkbt as follows:
mkbt -x bootsect.bin j:

NOTE: Make sure you insert the path to the bootsector file if it is not in the mkbt folder. Make sure you change bootsect.bin to the proper file name. Make sure you change j: to the proper drive letter for your USB drive, else you will overwrite the wrong bootsector and MAY not be able to boot back into XP

8) Within WinImage, hit File -> Open and select the first XP Setup Disk image.
9) Copy all of the files there to the root of your USB Drive
10) Open your USB Drive in explorer, and rename SETUPLDR.BIN to NTLDR, and move BIOSINFO.INF to a new folder named $WIN_NT$.~BT
11) Open each of the other Disk Images, and copy all of the files in them to the $WIN_NT$.~BT folder in the root of your USB Drive.

The rest I have not finished testing, I will edit this post once I figure out where to put the rest of the CD files.

Edited by Speeddymon, 17 January 2007 - 12:50 AM.


#105
DisabledTrucker

DisabledTrucker

    The truck or you is disabled?

  • Member
  • PipPip
  • 274 posts
I have a question, why not just use ISOBuster and copy the XP CD to the USB key? There are at least two ways of doing this,

First method is just open ISO Buster and copy XP to the USB key and be done with it. Make sure you just copy the files and not create an ISO on the drive, this will give you basically a CD on the drive and it will be seen as a USB CDROM drive.


Second method:
requirements:
NOTE: These instructions are going to assume you're trying to create the Windows XP Profesional x32 SP2 cd from the Windows XP Professional x32 GOLD (Original CD.) SP1/1a and other flavors will be slightly different.
NOTE: You must have time to do this as well...
NOTE: ISOBuster is what I am using, you can use any software which allows you to see the hidden "Booable CD" folder on the O/S disk to do this with, I highly reccomend ISOBuster though. This is a major requirement!

1. Operating System Disk (OEM may work, but one from Dell, HP, Compaq, etc may not)
2. XPSP2.exe file which contains your SP2 slipstream information.
3. RyanVM's Update Pack.
4. Siginet's RyanVMIntegrator.
5. Your drivers if you want to add them.
6. Any applications from RyanVM's site, including his forums.
7. The "Labels.txt" file from the forums here. Make sure you know what the "name" of the CD you're going to create otherwise you "can" use any other name but these instructions will give you a proper looking Windows O/S CD/DVD when you're done.
8. The script below.
9. The instructions over at RyanVM's forums as well as at Unattended.msfn.org
10. A copy of these directions...
11. CDImage.exe and the code below or an ISO creator of your own choosing that can take those commands.
12. Did I mention time?


Step 1.

Grab your labels.txt file and look up the name of the operating system you're going to create.

Step 2.

Keep in mind here "HDD" is the drive location that you are working from it should have at least 10GB of working space on it for this, also the name of your O/S your going to create as well.

Using that information create HDD:\VRMPFPP_EN. You'll want to substitute the name from the labels.txt file, of the O/S you're going to create here.

Step 3.

Put the Windows GOLD cd into your optical drive and open ISOBuster.

In ISOBuster find the folder with the name of your CD on it, it should be red, right click on it and click on "Extract WXPFPP_EN".

It will ask you where you want it to be saved, point it to your HDD:\VRMPFPP_EN folder and let it copy it's contents inside that folder.

Do the same thing for the "Bootable CD" folder.

Attached File  ShowingRtClick.png   47.48KB   34 downloads
Shows what it should look like when you right click on the folder and highlights the line you need to click on.

Attached File  ShowingSave.png   49.97KB   21 downloads
Shows what it should look like when you go to save it and the directory structure on the disk after a save of both folders on the CD. NOTE HERE that I am using an SP2 cd to copy to that location, the Gold and SP1/1a disks will have a different folder name such as "WXPFPP_EN" for the GOLD edition, you'll want to change that folders name before you create the SP2 ISO to "VRMPFPP_EN", or one of the other names if your going to be building a different O/S. You'll also need to make the changes to the CDImage script below but that is beyond this tutorial.

Step 4.

Open the folder HDD:\VRMPFPP_EN and check that you have two folders in there. Rename the WXPFPP_EN folder to VRMPFPP_EN. Now open that folder up, you should see the directory structure that you normally see on your CD.

Step 5.

Run RyanVM Integrator to Slipstream in SP2, add the RyanVM UpdatePack, and any programs you may want to add. This will take a while to do, so take yourself a break for a while while it's doing it's thing...

*You can find the directions for using this over at his forums.
*Your folder your going to be copying to is located at HDD:\VRMPFPP_EN\VRMPFPP_EN if you've done what I have said thus far.

Step 6.

Add your drivers using the directions over here at Unattended.msfn.org. (I reccomend the $OEM$ setup at the root of the VRMPFPP_EN folder.)

Folder structure at this point:
.\VRMPFPP_EN
.\VRMPFPP_EN\VRMPFPP_EN\
.\VRMPFPP_EN\VRMPFPP_EN\$OEM$
.\VRMPFPP_EN\VRMPFPP_EN\i386
(those are the two most important in that folder but search for reasons and how to do it that way technically there will be more directories here but I'm abrieviating this for sake of longevity.)
.\VRMPFPP_EN\Bootable CD

Step 7

Using the script below in the code, create the CDIMAGE.CMD file and put it next to your CDIMAGE.EXE file and run it. Be sure you have made whatever modifications you need first as there will be different names for different O/S's that need to be there.

CLS
@echo off
TITLE Creating ISO Image of Windows XP Professional SP2
ECHO.
ECHO CDIMAGE.CMD
ECHO Builds a Windows XP Professional SP2 x32 edition CD/DVD.
ECHO If you're using another operating system, change the -l, -t, -b, -m, and the locations below.
ECHO See your ISOBuster screen for the information needed as well as label.txt for new label.
ECHO Close this if you've not already made those changes, otherwise hit any key to continue...
PAUSE
ECHO Removing any possible attributes set on your XP CD/DVD build and its subfolders...
attrib -R -A -S -H Drive:\VRMPFPP_EN /S /D  
ECHO. 
ECHO Creating ISO for you get yourself a sandwich while you wait...
CDIMAGE.EXE -lVRMPFPP_EN -t08/04/2004,08:00:00 -h -j1 -b"DRIVE:\VRMPFPP_EN\Bootable CD\Microsoft Corporation.img" -x -m DRIVE:\VRMPFPP_EN\VRMPFPP_EN DRIVE:\VRMPFPP_EN.ISO -yt0000
ECHO.
ECHO All done, burn this baby now and try it out!
PAUSE
EXIT

Step 8.

Now you have an ISO that you can open in a VM and check out to assure it's working, with the exception of the drivers. I reccommend this step but you don't have to do it if you know what you're doing and realise that you're not going to be able to get back to the desktop without going the long route if you don't have a second machine to revise the build on.

Once you have checked out your ISO file, Open ISOBuster back up, click on "File" and then click on "Open Image File" and locate the ISO you just created. From that ISO, copy everything to the root of your USB key using the instructions in Step 3 above.

Step 9.

After the copy process has stopped on the USB Key use "Safely Remove.." to remove the key and after a brief wait, (aprox 10 secs or so,) plug the key back in and see if you don't have XP come up like it would normally if you had inserted it in a Optical Drive.

Step 10.

Assuming it did, remove all optical disks and reboot into your BIOS, (search how to do this for your machine...)

In the BIOS, look for the settings for "Boot Order" change it so that you're booting from the USB-CD, you may have to make a change in your USB settings there to find it.

After you have found it, save and exit the BIOS.

Step 11.

You should have booted up into your installation at this point, skip it for now...
Once back to your desktop, open your VM again and check that it recognises your USB key and try the install through it first. If this works then reboot again and let it run...

If it doesn't run in VM, then you need to go and check that everything you did was correct, checking all your modifications for typo's, etc. Try it from the ISO and if everything works from that, then debug your key's files.

If that's not the case make sure you set the BIOS up correctly and that it is recognising your USB key as a USB-CD, if not you're going to have to find another method to doing this or upgrade your system. (Most likely you need an upgrade to your system.)

Step 12.

You should be at your desktop at this point and able to see that you don't have any or very many updates from MicrosoftUpdate and all your drivers and most if not all your programs should be installed as well as any settings you made during the creation process should be set.

If so, congradulations you're done!


If not, did you use the VM check in the last step?
If not, and even if you did in some cases, go back and reread all the instructions and check everything you did looking for any typos and that everything was saved correctly. Also make sure of your settings that you set everything up correctly in the .sif, inf, ect files as well as placed everything where it's supposed to go. Again even if there's nothing wrong with what you did, you're probably going to need an upgrade to your system. Do a search to debug all of this.

This seems harder than it really is though and a lot of the questions are answered in these forums or over at RyanVM's forums, some cases both. If everything went well for you, congrats you're now a proud owner of a slipstreamed version of your operatng system with the latest drivers, updates, etc that you can modify at any time and keep updated for your system on your USB key. If your doing multi-O/S installs, you should be able to do them on here as well and have more space for those extras that you would have liked to have used if you had a larger DVD to do them on.

Edited by DisabledTrucker, 09 February 2007 - 05:35 AM.

Matthew 22:36-40

"Teacher, which is the greatest commandment in the law?" And he, (Jesus,) said to him, "You shall love the Lord Your GOD with all your heart and all your soul and with all your mind. This is the greatest and first commandment. And the second is like it, You shall love your neighbor as yourself. On these two commandments depend all the law and the prophets."

#106
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag

Make sure you just copy the files and not create an ISO on the drive, this will give you basically a CD on the drive and it will be seen as a USB CDROM drive.


VERY interesting. :)

Did you succeed with the above on real hardware, not a VM?

Can you post details on the hardware you tested that on?

Can you confirm that a USB stick with a CDFS filesystem is seen by BIOS/setup as a CD-ROM drive?

jaclaz

#107
enuffsaid

enuffsaid

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 866 posts
If read somewhere that Vista does a great job at creating Bootable USB drives, but ONLY from within Vista. I'll see if I can find that article.

'nuff

EDIT: Found the article. It describes how to create a bootable WinPE 2.0 USB stick. The stick must be formatted from within Vista. Is that of any use to you?

Edited by enuffsaid, 09 February 2007 - 09:47 AM.


#108
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag
Yes,
every info is interesting, but maybe Vista and WinPE 2.0 have nothing to do with windows XP, and with installing it from USB.

Why don't you post a new thread with a link to the article in the Vista section?

jaclaz

#109
enuffsaid

enuffsaid

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 866 posts
You needed to format the USB stick with Vista. That's all that Vista was needed for if I remember correctly. Let me look for that article.

#110
Sgt_Strider

Sgt_Strider

    Senior Member

  • Member
  • PipPipPipPip
  • 529 posts
Any updates on the methods posted here? Does all USB sticks work though?

#111
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag

Any updates on the methods posted here?


Not yet, still have to find the time to "invent" or "find" a way to avoid (or restore) the deletion of files.

Does all USB sticks work though?

Yes.

jaclaz

#112
cdob

cdob

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 962 posts
Setup deletes files at two times:
-end of textmode setup
-end of graphic mode setup: T -1 minutes

Set USB WriteProtect twice.

First \$WIN_NT$.~BT\migrate.inf
[Version]
Signature = "$Windows NT$"

[Addreg]
;fix USB drive letter, adjust setting to your partition
HKLM,"SYSTEM\MountedDevices",,0x00000010
HKLM,"SYSTEM\MountedDevices","\DosDevices\U:",0x00030001,\
  5c,00,3f,00,3f,00,5c,00,53,00,54,00,4f,00,52,00,41,00,\
  47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,76,00,61,00,62,00,6c,00,65,00,4d,\
  00,65,00,64,00,69,00,61,00,23,00,37,00,26,00,31,00,64,00,64,00,65,00,34,00,\
  37,00,39,00,65,00,26,00,30,00,26,00,52,00,4d,00,23,00,7b,00,35,00,33,00,66,\
  00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,00,\
  31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,30,\
  00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00

;WriteProtect USB
HKLM,"SYSTEM\ControlSet001\Control\StorageDevicePolicies","WriteProtect",%REG_DWORD%,1

[Strings]
;Handy macro substitutions (non-localizable)
REG_SZ			  = 0x00000000
REG_BINARY		  = 0x00000001
REG_DWORD		   = 0x00010001
REG_MULTI_SZ		= 0x00010000
REG_SZ_APPEND	   = 0x00010008
REG_EXPAND_SZ	   = 0x00020000
MountedDevices fixes USB drive letter to U: This can be used at PNP time.
Setting is hardware related, export MountedDevices USB setting from local registry.
Different USB Sticks may require different MountedDevices settings. Create different migrate.inf.

Second \$WIN_NT$.~LS\I386\hiveOEM.inf
[Version]
Signature = "$Windows NT$"
DriverVer=07/01/2001,5.1.2600.2180

[AddReg]
;WriteProtect USB
HKLM,"SYSTEM\CurrentControlSet\Control\StorageDevicePolicies","WriteProtect",0x10001,1

\txtsetup.sif: add hiveOEM.inf
[SourceDisksFiles]
hiveOEM.inf  = 100,,,,,,_x,,3,3

[HiveInfs.Fresh]
AddReg = hiveOEM.inf,AddReg

\$WIN_NT$.~BT\winnt.sif
[data]
msdosinitiated="1"
UseSignatures="no"
EulaComplete="1"

Install windows.
At T -1 minutes wait a looong time or remove USB stick. Setup reboots then.
No files are deleted at USB stick.

After windows installation USB stick is write protected still.
You may change StorageDevicePolicies to 0 to disable write protection and delete USB stick in device manager.



Another solution might be fbwf (File Based Write Filter Driver): write protect drive letter U:
A XP Embedded user may have more knowledge.

#113
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag
@cdob

VERY interesting! :)

Any idea for the reason for the "loong" wait?

About the migrate.inf setting, I remember having started (and not actually finished as most of my projects ;) ) looking into the data written into MountedDevices keys, I am pretty confident that a batch that can automate the creation of it can be made.

about:

[Strings]
;Handy macro substitutions (non-localizable)
REG_SZ = 0x00000000
REG_BINARY = 0x00000001
REG_DWORD = 0x00010001
REG_MULTI_SZ = 0x00010000
REG_SZ_APPEND = 0x00010008
REG_EXPAND_SZ = 0x00020000


since the .inf only contains one "directive", cannot it be eliminated changing the line to:
HKLM,"SYSTEM\ControlSet001\Control\StorageDevicePolicies","WriteProtect",0x10001,1
?
:unsure:

jaclaz

#114
cdob

cdob

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 962 posts

Any idea for the reason for the "loong" wait?

Setup tries to delete all files still, but can't delete files.
I've no idea, how setup works internally.

Yes, a batch can convert MountedDevices keys.
This is a job for a Rob van der Woude third party author.

Rember a fixed USB drive letter is not required, but may be nice anyway.

Yes, StorageDevicePolicies could be one line in migrate.inf.
REG_BINARY is easier to read and may get less errors at editing migrate.inf.
And this was a hint, migrate.inf can hold additional entries.

BTW: At PE setupldr.bin read \minint\system32\migrate.inf.

#115
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,705 posts
  • OS:none specified
  • Country: Country Flag
It worked as described, great job cdob, thanks :)

I didn't keep mounted devices in migrate.inf, just the write-protect entry and the USB device got D, hard drive got C. No files were deleted, to avoid the long wait I removed the USB stick after 2-3 minutes waiting.
However I had to made a little change for the text- mode in menu.lst :

title Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
map --hook
rootnoverify (hd1)
chainloader (hd1,0)/setupldr.bin
savedefault 1
boot

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

otherwise I was getting blinking cursor and nothing was happening, with grub4dos-0.4.3-2007-03-16.

@jaclaz- many thanks for keeping this thread alive and all your useful posts, here, in 911cd.net and any other forums :thumbup

Install Windows from USB, boot Linux, multiboot and a lot more with WinSetupFromUSB


#116
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag
@ilko_t

VERY good! :thumbup

It seems like we are almost done. :)

I guess most of the merit has to go to cdob, whose help and knowledge has been decisive, and to porear whose contribution of ideas and testing was fundamental. :hello:


While the first of your menu.lst entries does make sense to me, I am still curious how the second one works, as I see it things must have some logic behind, if BOTH the entries work, this:

title Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
map --hook
rootnoverify (hd1)
chainloader (hd1,0)/setupldr.bin
savedefault 1
boot

should be also working if rewritten as:

title Phase 1 WinXP Text Mode Setup
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1)
chainloader (hd1,0)/setupldr.bin
savedefault 1
boot


by the same principle, viceversa, the entry:

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


should work as well if rewritten as:

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



As said, the final boot command is unnecessary, and it should be possible to replace:

chainloader (hd1,0)/setupldr.bin

with:

chainloader (hd1,0)/$WIN_NT$.~BT/setupldr.bin

to avoid copying SETUPLDR.BIN and NTDETECT.COM to the root of the stick.

And, besides, once you have issued a root or rootnoverify command, root is established, and you only need the forward slash, i.e. :

chainloader (hd1,0)/$WIN_NT$.~BT/setupldr.bin


should be functionally equivalent to:

chainloader /$WIN_NT$.~BT/setupldr.bin


(as in the second menu.lst entry)

I would be nice if you could test the above and make a new post with all steps together, something one could post a direct link to, to avoid other members to jump forward and backward on this longish thread, as is it is causing me headaches, and I already now most of it. :P

jaclaz

#117
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,705 posts
  • OS:none specified
  • Country: Country Flag
In my excitement I forgot to thank porear :blushing: , many thanks to him :thumbup

map --read-only (hd0) (hd1)
map --hook
rootnoverify (hd1)
chainloader /$WIN_NT$.~BT/setupldr.bin

gives Error 19, cannot mount selected partition


map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1)
chainloader /$WIN_NT$.~BT/setupldr.bin

gives the same message

If in command line I type

map (hd0) (hd1)
map (hd1) (hd0)
map --hook - as far as I know it should be done in order to apply and see the changes in command line
rootnoverify (hd1)

find /$WIN_NT$.~BT/setupldr.bin --->result is hd(1,0)

chainloader /$WIN_NT$.~BT/setupldr.bin gives error 19

chainloader (hd1,0)/$WIN_NT$.~BT/setupldr.bin gives the encouraging "Will boot NTLDR from drive=0x81, partition=0x0..."

now booting SETUP is possible, but as far as I remember it will end up with improper boot.ini, pointing to rdisk(1), instead of (0), that's why I stuck with the map --read-only... variant for TEXT mode. This will be first to test.

Honestly GRUB for me by far not so easy to understand, in some commands I just can't see logical explanation why work or why not.
For example in README.TXT:

4. Emulates an HD partition as the first hard disk and boot DOS from it:

map --read-only (hd2,6)+1 (hd0)
map --hook
chainloader (hd0,0)+1
rootnoverify (hd0)
map --harddrives=1
boot

In this example, (hd2,6)+1 represents an extended logical DOS partition
of the third BIOS hard disk (hd2).

breaks the rule map (TO) (FROM) and is opposite (or at least not similar) for me as written here
http://www.gnu.org/s...l/grub.html#map :

13.3.23 map
— Command: map to_drive from_drive

Map the drive from_drive to the drive to_drive. This is necessary when you chain-load some operating systems, such as DOS, if such an OS resides at a non-first drive. Here is an example:

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)


The example exchanges the order between the first hard disk and the second hard disk



I beleive

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

makes sense to be changed to

title Phase 2 WinXP GUI Mode Setup
map --read-only (hd0) (hd1)
map --hook
rootnoverify (hd0)
chainloader (hd0,0)/ntldr
savedefault 0


This will be second to test and I will report the results with a full step by step guide.

Edited by ilko_t, 17 April 2007 - 01:23 PM.

Install Windows from USB, boot Linux, multiboot and a lot more with WinSetupFromUSB


#118
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag
VERY GOOD.

Also, try with "root" instead of "rootnoverify"....

jaclaz

#119
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,705 posts
  • OS:none specified
  • Country: Country Flag
Here are some findings:

-setupldr.bin (renamed in my case as ntldrstp), ntdetect.com and txtsetup.sif must be copied in root, or it simply reboots when chainloaded, tried many options, but all results were either a hang with blinking cursor or just restart.

Some experiments with GRUB, with red color were unsuccessful:

TXT setup
map (hd1) (hd0)
map (hd0) (hd1)
map --hook
....

in this case ntldrstp cannot be found

TXT mode
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd1,0)
chainloader (hd1,0)/ntldrstp

Setup starts, but gives error 14, txtsetup.sif is missing or damaged.

GUI setup
map --read-only (hd1) (hd0)
map (hd0) (hd1)
root (hd0,0)
chainloader (hd0,0)+1

boots GUI mode fine, read only switch shouldn't be needed anyway. It finds ntldr in (hd0,0) and completes the GUI part just fine.


GUI setup
map --read-only (hd1) (hd0)
map --hook
root (hd0,0)
chainloader (hd0,0)+1

Boots and completes GUI mode fine, ntldr is found in both in (hd0,0) and (hd1,0), but this seems to cause no problems.

GUI setup
map --read-only (hd0) (hd1)
root (hd0,0)
chainloader (hd0,0)+1

ntldr couldn't be found
-----------------------------------------------------------
The last working menu.lst I is:

color black/cyan yellow/cyan
timeout 10

default /default

title Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
map --hook
root (hd1,0)
chainloader (hd1,0)/ntldrstp
savedefault 1


title Phase 2 WinXP GUI Mode Setup
map --read-only (hd1) (hd0)
map --hook
root (hd0,0)
chainloader (hd0,0)+1
savedefault 0

ntdetect.com, txtsetup.sif and setupldr.bin are copied to root and setupldr.bin renamed to ntldrstp in my case.


It would have been perfect if all this worked on my laptop too, but it did not. :)
All the test so far were done on ABIT AN7 motherboard with NF2 chipset and a blank, not partitioned IDE disk.

On Dell Inspiron 6000 when I use same menu.lst it reboots when TXT mode is selected. It has 3 partitions with XP Home installed- Dell Diagnostic, System and Dell Recovery. Double mapping didn't work, mapping (hd1,0-2) too, but when I use only:

rootnoverify (hd0,0)
chainloader /ntldrstp

it works just fine with no drive mapping at all. On the desktop computer using the same entries result in incorrect boot.ini ( rdisk(1) )as I already wrote about. Haven't tested yet will it set the correct entries on the laptop with no mapping.

Is it because of the different BIOS-es and the way they handle USB? Any ideas?

Edited by ilko_t, 17 April 2007 - 05:46 PM.

Install Windows from USB, boot Linux, multiboot and a lot more with WinSetupFromUSB


#120
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag
OK, so definitely we need the SETUPLDR.BIN and NTDETECT.COM on root.

A possible "definitive" way out could be:

color black/cyan yellow/cyan
timeout 10

default /default

title Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
map --hook
find --set-root /ntldrstp
chainloader /ntldrstp
savedefault 1

title Phase 2 WinXP GUI Mode Setup
map --read-only (hd1) (hd0)
map --hook
find --set-root /ntldr
chainloader /ntldr
savedefault 0



In the second item if ntldr is found on both disks, it could maybe cause problems, one could use another file as a marker even if it is found in a subdirectory, the "root" will be to the drive, I am not at all an expert in this, but if one cannot find a file that is on the HD and not on the stick, it should be possible to create it with some entry in TXTSETUP.SIF or similar.

Also, maybe there is something "between the lines" of this:
http://support.micro...kb/312569/en-us

(if we can find an alternative to the "loong" wait and/or the extraction and reinsertion of the key, we would have a potential "unattended" method)

jaclaz

#121
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,705 posts
  • OS:none specified
  • Country: Country Flag

title Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
map --hook
find --set-root /ntldrstp
chainloader /ntldrstp
savedefault 1

sets root (hd0,0), instead of the proper (hd1,0) as ntldrstp is found on both places, that's why I use root (hd1,0), then chainloader /ntldrstp should be fine, instead of chainloader (hd1,0)/ntldrstp



For now I am interested why the same menu.lst did not work on the laptop, I will try to explain it again.

On the laptop if I use the following:

itle Phase 1 WinXP Text Mode Setup
map --read-only (hd0) (hd1)
map --hook
root (hd1,0)
chainloader (hd1,0)/ntldrstp
savedefault 1

it causes laptop to restart, the same way as if NTDETECT.COM is not found in the root. Same entries work just fine on the desktop and result in proper BOOT.INI later like

signature(de33eaf8)disk(0)rdisk(0)partition(1)\WINDOWS


If I use

title Phase 1 WinXP Text Mode Setup
rootnoverify (hd0,0)
chainloader /ntldrstp

on the laptop SETUP starts fine, but cannot confirm whether BOOT.INI will be correct, a lot has to be backed up before I can make tests.
If I use it on my desktop PC, SETUP goes fine, but ends up with incorrect BOOT.INI, pointing to

multi(0)disk(0)rdisk(1)partition(1)\WINDOWS

giving hal.dll is missing, note it does NOT use signature(....) this time.

So we have either to find out why it doesn't work on the laptop, or just find a way to correct BOOT.INI after the final phase of TXT SETUP, when I beleive it's created. With rdisk(1) in boot.ini mapping is not possible, because as I saw in \system32\$winnt$.inf it will look for the installation files on disk(1)

[data]
unattendedinstall=no
floppylessbootpath=\Device\HardDisk1\partition1
producttype=winnt
standardserverupgrade=no
win31upgrade=no
sourcepath=\device\harddisk1\partition1\$win_nt$.~ls

This file was the same with both variants of menu.lst. It seems ntldr, setupldr.bin and the TXT mode setup at some point "ignore" GRUB disk mapping in different way and/or stage.

So, why does the laptop reboot ?

Install Windows from USB, boot Linux, multiboot and a lot more with WinSetupFromUSB


#122
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag

as ntldrstp is found on both places,

Well, who put ntldrstp on the HD? :blink:
However in this case (on the stick that is prepared before) one can use another file, such as menu.lst, or in "find --set-root" command or directly a "special" marker file, simply open notepad, and save the file as USBOOTME.1ST on the stick.....,"find --set-root /USBOOTME.1ST" will not possibly get the "wrong" root. ;)

For now I am interested why the same menu.lst did not work on the laptop


hmmm, it is possible that the laptop BIOS has some incompatibilities with grub4dos. :wacko:


What happens on the laptop with the "alternate method":

title Phase 1 WinXP Text Mode Setup
map (hd0) (hd1)
map (hd1) (hd0)
root (hd0)
chainloader /ntldr
savedefault 0


You can try, issuing single command lines from the command line, one by one, grub4dos in this case is more "verbose" and one can hopefully pinpoint the single command that causes an error.

jaclaz

#123
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,705 posts
  • OS:none specified
  • Country: Country Flag

Well, who put ntldrstp on the HD?

GRUB disk mapping i suppose :) If single mapping is used file is found on both drives, if double mapping is used it appears only on the correct drive. But double mapping doesn't work, have a look at the RED quotes in my previous post.
This disk mapping in GRUB is really interesting, as I mentioned it appears that when we do single mapping, we "fool" setupldr.bin and/or ntdetect.com which drive is which, but in later stage this is corrected. In GUI mode thi doesn't work the same way.
It also seems that map (hd0) (hd1) results in same information aviable on both drives, like a "virtual" copy or image, at the same time contents of hd1 are not aviable, thats why for the GUI mode double mapping is needed.

I did try single command in GRUB, actually I use that the most and apply changes later in menu.lst, in my tests set--root /ntldrstp did not do the trick, so I prefer to use
.....
root (hd1,0)
chainloader (hd1,0)/ntldrstp
.....

About the laptop- I was using 2GB Buffalo stick, tried to use 1GB Lexar and using the very same menu.lst (with single mapping) worked :thumbup
Thats where the long Dietmar's thread will comes handy :), I beleive setupldr.bin, ntdetect.com and txtsetup.sif must be written first, before copiyng the other files, may be the laptop BIOS can't see the needed files if they are written too late, but that cause no problems to the AN7 bios. Or it just the USB stick size which matters. However on the Lexar I had an old Nlited installation, not the same "pure" as on the Buffalo.
I will test that later today, fingers crossed :)

Edited by ilko_t, 18 April 2007 - 06:21 AM.

Install Windows from USB, boot Linux, multiboot and a lot more with WinSetupFromUSB


#124
jaclaz

jaclaz

    The Finder

  • Developer
  • 13,983 posts
  • OS:none specified
  • Country: Country Flag
Yep. if the image is somehow doubled, the fond --set-root won't work, as devices are scanned in order....

A lot of info is coming out from your experiments, I'll have to study it a bit and do some more tests myself...continue reporting... :thumbup

jaclaz

#125
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,705 posts
  • OS:none specified
  • Country: Country Flag
Well, the same version of GRUB and the final menu.lst worked on another desktop, testing with older/newer versions of GRUB gave result.
The one I was using 0.4.3 - 2007-03-16 was causing troubles on the Dell laptops, I tested it on Inspiron 6000 and 6400.

Both 0.4.2 - 2006-11-26 and 0.4.3 - 2007-04-12 (latest available) worked just fine with the 2GB Buffalo stick on the Dells :) :)
In a next post, if nothings wrong shows until then, I will summarize all the steps.

Install Windows from USB, boot Linux, multiboot and a lot more with WinSetupFromUSB





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN