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 install Windows from USB- WinSetupFromUSB with GUI


  • Please log in to reply
2128 replies to this topic

#1576
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Try editing each of the files in BOOTWS folder starting from 2.lst. Add " ls (hd0,0)/laddsbootdvd.tag && " in front of each line which swaps the hard disk order e.g.

:

Will do. Will report in a little while.


How to remove advertisement from MSFN

#1577
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

this is what's in 2.lst

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

What line should I replace with ls (hd0,0)/laddsbootdvd.tag && map (hd0) (hd1) ls (hd0,0)/laddsbootdvd.tag && map (hd1) (hd0)? Just want to make sure I am replacing the rights ones so I am not getting false errors.


grub> find /usbdrive.tag
(fd0,0)
(fd0)


Only time I see grub4dos label a USB this way..1 the format of the USB or 2 the age of the machine. Lots of older stuff labels removable from the bios as floppy.


ilko_t, also on my computer (just made the discovery) I have 3 hard drives...1. XP 2. Windows 7 3. logical and it's not active. and when my CD loads my menu.lst from USB, my USB drive is (hd3,0)...my point is, doesn't label my USB as the last drive in the loop but it labels the last drive in the Active partition loop...example

If you have 5 hard drives and 4 are active then the CD would load you USB drive as (hd5,0). grub4dos must ignore non active partitions.

Edited by laddanator, 26 December 2011 - 08:20 AM.


#1578
KijametAmidza

KijametAmidza
  • Member
  • 2 posts
  • Joined 26-December 11
  • OS:none specified
  • Country: Country Flag
Hi

I have a problem. I've tried to install xp on a laptop.
I pass step 1 without any problems whatsoever.
As soon as I hit enter to start step 2 however this pops up:

Booting Second part of 2000/XP/2003 setup / Boot first internal hard disk

2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)

What to do?

#1579
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Hi

I have a problem. I've tried to install xp on a laptop.
I pass step 1 without any problems whatsoever.
As soon as I hit enter to start step 2 however this pops up:

Booting Second part of 2000/XP/2003 setup / Boot first internal hard disk

2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)
2 (HEX :0x2)

What to do?


Are you using winsetupfromusb 1.0 beta 7? If so, I never use the second part of the install from winsetup.lst. On my DVD or USB when computer reboots after the first part of install and it boots my USB, I boot straight to the hard drive and the install continues.

timeout 15
color white/blue

title Boot From Hard Drive (Windows Vista/7 or Xp)\nBoot Into Main OS Drive
checkrange 0x80 read 0x8280 && map () (hd1)
checkrange 0x80 read 0x8280 && map (hd1) ()
checkrange 0x80 read 0x8280 && map --hook
rootnoverify (hd0,0)
chainloader +1 || chainloader /ntldr

You don't have to let grub4dos boot to your hard drive after first part. I have the entree just in case bios boots to the USB instead of hard drive and my unattended install is not broken. If you have bios set to boot hard drive first, then just do the first part and boot to the hard drive and the install should finish and skip the second part of install from the winsetup.lst. Every machine is different but I have preformed 50 plus installs on more than two dozen machines and I never use the second part from the winsetup.lst....notice my timeout value?

Edited by laddanator, 26 December 2011 - 09:01 AM.


#1580
KijametAmidza

KijametAmidza
  • Member
  • 2 posts
  • Joined 26-December 11
  • OS:none specified
  • Country: Country Flag
laddanator thank you so much! I would have never thought about simply skipping step 2. I thought all steps are required for the installation to work. I've installed XP without any problem simply by skipping step 2. Once again thank you very very much!

#1581
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

laddanator thank you so much! I would have never thought about simply skipping step 2. I thought all steps are required for the installation to work. I've installed XP without any problem simply by skipping step 2. Once again thank you very very much!


I am glad I could be of service. I have found in this business no two techs do things exactly alike. Sometime there is 10 ways to accomplish the same gold. Like for example if you see my XP menu.lst above, I took ilko_t menu.lst and made it my own...almost totally different but in the end, the same result.

#1582
danafik

danafik
  • Member
  • 7 posts
  • Joined 26-December 11
  • OS:none specified
  • Country: Country Flag


I also have this error:

File \WINSETUP\XPpSP3\I386\biosinfo.inf could not be loaded.
The error code is 14

Without any mappings usbdrive.tag is on:
grub> find /usbdrive.tag
(fd0,0)
(fd0)

That's very nice machine...
What's motherboard model and make?

It's a barebone laptop from Uniwill, model 223ii. Intel Pentium-M, 855GME, ICH4-M, ide hdd, ide dvdrw (dead; cannot be disabled via BIOS), no floppy drive.
http://www.uniwill.c...23ii0_print.php

What's the name of the ISO file in WINSETUP folder, or just attach winsetup.lst with your next post. I'll prepare another file to test several options.

I use not altered, stock winsetup.lst (except, that I do not use "savedefault"/"default"):
color black/cyan yellow/cyan
timeout 10
#default /windefault

title Back to Main Menu
configfile /menu.lst


title First part of Windows XP Professional SP3 setup from partition 0
map --unmap=0:0xff
map --unhook
ls /WINSETUP/XPpSP3.ISO || find --set-root --ignore-cd /WINSETUP/XPpSP3.ISO
map /WINSETUP/XPpSP3.ISO (0xff) || map --mem /WINSETUP/XPpSP3.ISO (0xff)
#savedefault 2
checkrange 0x00,0x01 read 0x8280 && configfile /BOOTWS/fd.lst
checkrange 8 calc *0x475 & 0xFF && configfile /BOOTWS/8.lst
checkrange 7 calc *0x475 & 0xFF && configfile /BOOTWS/7.lst
checkrange 6 calc *0x475 & 0xFF && configfile /BOOTWS/6.lst
checkrange 5 calc *0x475 & 0xFF && configfile /BOOTWS/5.lst
checkrange 4 calc *0x475 & 0xFF && configfile /BOOTWS/4.lst
checkrange 3 calc *0x475 & 0xFF && configfile /BOOTWS/3.lst
checkrange 2 calc *0x475 & 0xFF && configfile /BOOTWS/2.lst
checkrange 1 calc *0x475 & 0xFF && configfile /BOOTWS/1.lst
boot
map --unmap=0:0xff
map --unhook

title Second part of 2000/XP/2003 setup / Boot first internal hard disk
checkrange 8 calc *0x475 & 0xFF && configfile /BOOTWS/8.lst
checkrange 7 calc *0x475 & 0xFF && configfile /BOOTWS/7.lst
checkrange 6 calc *0x475 & 0xFF && configfile /BOOTWS/6.lst
checkrange 5 calc *0x475 & 0xFF && configfile /BOOTWS/5.lst
checkrange 4 calc *0x475 & 0xFF && configfile /BOOTWS/4.lst
checkrange 3 calc *0x475 & 0xFF && configfile /BOOTWS/3.lst
checkrange 2 calc *0x475 & 0xFF && configfile /BOOTWS/2.lst
checkrange 1 calc *0x475 & 0xFF && configfile /BOOTWS/1.lst
boot


What is the result of these two commands in grub4dos CLI?

read 0x8280
calc *0x475 & 0xFF

grub> read 0x8280
Address 0x8280: Value 0x0
grub> calc *0x475 & 0xFF
1 (HEX:0x1)

Do you have an option in BIOS for the USB disk emulation- USB-FD, HDD-ZIP, USB-HD? If yes, what is it set to?

No, I do not have any options to set USB disk emulation in BIOS. In setting boot order menu, it's just "Removable dev.".

How did you partition and format the USB disk, using which program and which options?

I used RMPREPUSB 2.1.630, set MS-DOS bootable, FAT32, and no other options set (this means 1 partition, not 2), and install grub4dos to partition boot sector, not to MBR. Because this is the only way I can make USB flash drive bootable on this machine.


So here's the rest of my story.
I use WinSetupFromUSB 1.0beta7, and make XP PRO SP3 setup. When I boot this made USB drive on that machine, I get the error (I think that at this point BOOTWS\fd.lst gets executed):
The system encountered an I/O error
accessing multi(0)disk(0)rdisk(1)partition(1).

Setup cannot continue. Press any key to exit.
The good thing is, that if I load Plop boot manager and then choose boot from USB, it works! Setup continues without errors (root drive/partition becomes hd0,0).


The next is a complete mistery to me.
If I don't use Plop, setup throws "I/O error", as mentioned above. If I enter grub edit mode (press 'e') on file winsetup.lst, and temporarily remove (press 'd') the line: "checkrange 0x00,0x01 read 0x8280 && configfile /BOOTWS/fd.lst", then (I think) the BOOTWS\1.lst gets executed, and I get the error "biosinfo.inf could not be loaded". Next, If I reboot/shutdown, and let grub4dos to proceed without modifications I always get the "biosinfo.inf" error. I did not made any permanent modifications, but somehow boot process gets modified permanently (and Plop doesn't help this time, even after loading it, setup also throws "biosinfo.inf could not be loaded" error). Mistery to me. The only way I cant revert to the original behavior, that is "I/O error accessing multi(0),etc." is to completely recreate USB with WinSetupFromUSB. The reason I need that original behavior is, that Plop can work around that error and setup can proceed error free. But this (recreation) is time consuming, pretty slow process.

Edited by danafik, 26 December 2011 - 11:20 PM.


#1583
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,725 posts
  • Joined 06-December 06
  • OS:none specified
  • Country: Country Flag
Quite useful report, thanks.

Can you do again, after you load PLoP
read 0x8280
calc *0x475 & 0xFF
as well as
root (
then pressing TAB key on the keyboard?

As for the weird behavior- try changing the line in winsetup.lst
map /WINSETUP/XPpSP3.ISO (0xff) || map --mem /WINSETUP/XPpSP3.ISO (0xff)
to only
map --mem /WINSETUP/XPpSP3.ISO (0xff)
This may lead to hangs on some buggy machines, use the solution as in here, maybe as another, backup entry of title First part of Windows ... part of the menu and newer grub4dos version which supports "map --e820cycles" option:

http://reboot.pro/15956/

There are plenty of important changes to be done, new version of the program should be out soon.

It appears if an ISO is mapped not in memory and do a cat --locate=foo --replace=bar /FILE/IN/THE/ISO the file is changed permanently on the disk. map --read-only and map --fake-writes do not help to change the string we need to in txtsetup.sif, Setup sees it as it was before.

Could you also check if latest PLoP boot manager works the same way on this machine- Setup works and grub4dos commands I asked you to type return the same results as the previous PLoP version?
Get just plpbt.bin from here, place it in root of the USB drive and rename it to plp513.bin. Then add these lines at the end of menu.lst:
title Start PLoP boot manager 5.0.13
ls /usbdrive.tag || find --set-root --ignore-cd /usbdrive.tag
kernel /plp513.bin

When you are saying with PLoP it works how far did you get? Did you install Windows from start to end, until first desktop?

I used RMPREPUSB 2.1.630, set MS-DOS bootable, FAT32, and no other options set (this means 1 partition, not 2), and install grub4dos to partition boot sector, not to MBR. Because this is the only way I can make USB flash drive bootable on this machine.

The program installs grub4dos MBR, did you select the advanced option "do not check and install grub4dos MBR"?

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


#1584
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,725 posts
  • Joined 06-December 06
  • OS:none specified
  • Country: Country Flag

this is what's in 2.lst

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

What line should I replace with ls (hd0,0)/laddsbootdvd.tag && map (hd0) (hd1) ls (hd0,0)/laddsbootdvd.tag && map (hd1) (hd0)? Just want to make sure I am replacing the rights ones so I am not getting false errors.

First two lines, just add "ls (hd0,0)/laddsbootdvd.tag && " in front of them, note the space after &&. Same way edit every other X.lst file except fd.lst. Add that at from of each "map (X) (Y)" line.

ilko_t, also on my computer (just made the discovery) I have 3 hard drives...1. XP 2. Windows 7 3. logical and it's not active. and when my CD loads my menu.lst from USB, my USB drive is (hd3,0)...my point is, doesn't label my USB as the last drive in the loop but it labels the last drive in the Active partition loop...example

If you have 5 hard drives and 4 are active then the CD would load you USB drive as (hd5,0). grub4dos must ignore non active partitions.

Grub4dos does not loop through active partitions. Hard disk numbering is according to BIOS order.

You had 3 internal hard disk. That's hd0, hd1 and hd2. USB disk logically became hd3, but on some systems, according to BIOS hard disk boot order, it may get in the middle, say hd1 or hd2, or even hd0.

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


#1585
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Not sure why this posted

Edited by laddanator, 27 December 2011 - 09:23 AM.


#1586
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

The system encountered an I/O error
accessing multi(0)disk(0)rdisk(1)partition(1).

Setup cannot continue. Press any key to exit.


The only time I get this error and I have before if my ISO isn't continuous. I use Wincontig to defrag the ISO in question and the error seems to go away. Also ilko_t, been fooling around with NTBOOT and this is one of the commands

command %NTBOOT% cdrom=/Win$.iso


Wondering and going to test today if this would emulate CD install but my hopes are not high

You had 3 internal hard disk. That's hd0, hd1 and hd2. USB disk logically became hd3, but on some systems, according to BIOS hard disk boot order, it may get in the middle, say hd1 or hd2, or even hd0.


Forgot the (hd0,0) part so your right...still I was on it by saying the CD loads the USB stick as the last HD

#1587
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Ok, replace each .lst in the BOOTWS starting with 2 like this

2.lst

ls (hd0)/laddsbootdvd.tag && map (hd0) (hd1)
ls (hd1)/laddsbootdvd.tag && map (hd1) (hd0)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

3.lst

ls (hd0)/laddsbootdvd.tag && map (hd0) (hd2)
ls (hd1)/laddsbootdvd.tag && map (hd1) (hd0)
ls (hd2)/laddsbootdvd.tag && map (hd2) (hd1)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/I386/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/I386/TXTSETUP.SIF
ls (0xff)/AMD64/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/AMD64/TXTSETUP.SIF
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

and so on and the good thing is that if I loaded the menu.lst from USB with the CD, XP installed now(did not test or have an older machine)but now the problem is reversed. Now if I boot straight to the USB with the modded ?.lst, I get that bios error again.

I think I am going to do

if  exist (cd)/laddsbootdvd.tag && set Mod=BOOTWS2

This way if the DVD tag doesn't exist if you boot straight to USB, then the BOOTWS folder will be default.


I know why this did this because the laddsbootdvd.tag doesn't exist on my USB drive so that explains the bios error from USB now. I can fix this...I hope! :)

Edited by laddanator, 27 December 2011 - 10:36 AM.


#1588
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Would this work?

ls (hd0)/laddsbootdvd.tag && map (hd0) (hd2) || ls (hd0)/laddsbootusb.tag && map (hd0) (hd2
ls (hd1)/laddsbootdvd.tag && map (hd1) (hd0) || ls (hd1)/laddsbootusb.tag && map (hd1) (hd0
ls (hd2)/laddsbootdvd.tag && map (hd2) (hd1) || ls (hd2)/laddsbootusb.tag && map (hd2) (hd1)


This didn't work....booting straight from USB, I still get bios missing. Funny how this is backwards now. Trying something else...will report

Edited by laddanator, 27 December 2011 - 11:08 AM.


#1589
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,725 posts
  • Joined 06-December 06
  • OS:none specified
  • Country: Country Flag
Ummmm...

ls (hd0,0) on all lines in question. Not (hd0), or (hd1) or anything else.

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


#1590
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

ls (hd0,0) on all lines in question.



No, even the original X.lst didn't have any (hdx,x)

this is 2.lst untouched

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

3.lst untouched

map (hd0) (hd2)
map (hd0) (hd2)
map (hd2) (hd1)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/I386/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/I386/TXTSETUP.SIF
ls (0xff)/AMD64/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/AMD64/TXTSETUP.SIF
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

and so on..just went back to match what was there except for the ls /laddsbootdvd.tag part. I took those .lst entries straight form the bootws folder that s part of the winsetupfrom usb 1.0 beta 7 program. Should I change them all from (hdx) to (hdx,x)?

Edited by laddanator, 27 December 2011 - 12:27 PM.


#1591
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,725 posts
  • Joined 06-December 06
  • OS:none specified
  • Country: Country Flag
original 2.lst:
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

becomes:
ls (hd0,0)/laddsbootdvd.tag && map (hd0) (hd1)
ls (hd0,0)/laddsbootdvd.tag && map (hd1) (hd0)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

original 3.lst:
map (hd0) (hd2)
map (hd1) (hd0)
map (hd2) (hd1)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/I386/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/I386/TXTSETUP.SIF
ls (0xff)/AMD64/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/AMD64/TXTSETUP.SIF
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

becomes:
ls (hd0,0)/laddsbootdvd.tag && map (hd0) (hd2)
ls (hd0,0)/laddsbootdvd.tag && map (hd1) (hd0)
ls (hd0,0)/laddsbootdvd.tag && map (hd2) (hd1)
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/I386/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/I386/TXTSETUP.SIF
ls (0xff)/AMD64/ && cat --locate=rdisk(1) --replace=rdisk(2) (0xff)/AMD64/TXTSETUP.SIF
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot
and so on.

Got it?
Again- wherever in those files, except fd.lst and 1.lst, you see
map (hdX) (hdY)

change to
ls (hd0,0)/laddsbootdvd.tag && map (hdX) (hdY)
X and Y varies, ls (hd0,0)/laddsbootdvd.tag && stays the same.

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


#1592
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Got it?


Yup, trying it now. It's working from CD to USB menu with out the (hd0,0) but I will try your suggestion and maybe it will fix it all the way around. I used iftitle

iftitle [if exist /laddsbootdvd.tag && find --set-root --devices=h /laddsbootusb.tag && call set USB=%@root^%/menu.lst] USB Helper For Vista And 7 Installs From %USB%\nPlease Have Jump Drive Plugged In./nWindows 7 And Vista To Big For DVD./nInstall NT6x From USB/nDoes Not Work For XP (yet)
find --set-root --devices=h /laddsbootusb.tag
echo Loading Menu From %USB%
configfile %USB%


so if a computer is so old and this menu option doesn't show up, them we just load XP from the DVD, but if this menu title show up then I know the USB can be booted and this is why I am trying to figured the XP thing out. We are close, I can smell it! :)

If this is working on my computer which is newer, than this should work on any computer that iftitle shows up on.

ls (hd0,0)/laddsbootdvd.tag && map (hd0) (hd2)
ls (hd0,0)/laddsbootdvd.tag && map (hd1) (hd0)
ls (hd0,0)/laddsbootdvd.tag && map (hd2) (hd1)

#1593
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Thank you, sir

This is working from USB and from DVD when loading USB menu

ls (hd0,0)/laddsbootdvd.tag && map.

I changed all entries in all X.lst to ls (hd0,0)/laddsbootusb.tag && map. ....(changed the tag) and all is well. I am on vaction this week but when I get back to work Monday, I will have tons of PCs to test this method on...so far so good.

#1594
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Of course I like to be complicated too! This also works

4.lst:

if exist %XP%/laddsbootusb.tag set USBStick=YES
if "%USBStick%"=="YES" set HD=(hd0,0)/laddsbootusb.tag
echo %HD%



ls %HD% && map (hd0) (hd3) 
ls %HD% && map (hd1) (hd0) 
ls %HD% && map (hd2) (hd1) 
ls %HD% && map (hd3) (hd2) 
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/I386/ && cat --locate=rdisk(1) --replace=rdisk(3) (0xff)/I386/TXTSETUP.SIF
ls (0xff)/AMD64/ && cat --locate=rdisk(1) --replace=rdisk(3) (0xff)/AMD64/TXTSETUP.SIF
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot


I like BIG CODE! lol

What this accomplishes I can boot to DVD with my USB Stick plugged in, if my computer bios recognizes the USB stick plugged in this command will show up
(iftitle only shows up in grub4dos if the command can be run)

iftitle [if exist /laddsbootdvd.tag && find --set-root --devices=h /laddsbootusb.tag && call set USB=%@root^%/menu.lst] USB Helper For Vista And 7 Installs From %USB%\nPlease Have Jump Drive Plugged In./nWindows 7 And Vista To Big For DVD./nInstall NT6x From USB/nWorking For XP Now
find --set-root --devices=h /laddsbootusb.tag
echo Loading Menu From %USB%
configfile %USB%

don't have to change no settings in bios unless you have to change the bios to boot to CD. Hit enter on the above highlighted command and boom, the USB menu.lst appears and this took all the guess work out of trying to figured how to set the bios on older machines to boot to USB and most likely if the command above doesn't show up, that means the computer didn't recognize the USB and you may need to use PLoP.

Side note, Im using the 12-26-11 grldr which supports auto numbering and comes in handy with iftitles....write 0x8274 0x2001

Just wanted to say thanks again to ilko_t and all the smart folks here at msfn.....THANKS! :thumbup

Edited by laddanator, 27 December 2011 - 02:59 PM.


#1595
danafik

danafik
  • Member
  • 7 posts
  • Joined 26-December 11
  • OS:none specified
  • Country: Country Flag

Quite useful report, thanks.

Glad to help.

Can you do again, after you load PLoP

read 0x8280
calc *0x475 & 0xFF
as well as
root (
then pressing TAB key on the keyboard?

Without Plop:
grub> read 0x8280
 Address 0x8280: Value 0x0

grub> calc *0x475 & 0xFF
 1 (HEX:0x1)

grub> root
 (fd0,0) Filesystem type is fat, partition type 0x20

grub> root (
 Possible disks are: fd0 hd0 rd

grub> find /usbdrive.tag
 (fd0,0)
 (fd0)
With Plop (output with 5.0.11 and with 5.0.13 is exactly the same):
grub> read 0x8280
 Address 0x8280: Value 0x80

grub> calc *0x475 & 0xFF
 2 (HEX:0x2)

grub> root
 (hd0,0) Filesystem type is fat, partition type 0x0C

grub> root (
 Possible disks are: hd0 hd1 rd

grub> find /usbdrive.tag
 (hd0,0)


As for the weird behavior- try changing the line in winsetup.lst

map /WINSETUP/XPpSP3.ISO (0xff) || map --mem /WINSETUP/XPpSP3.ISO (0xff)
to only
map --mem /WINSETUP/XPpSP3.ISO (0xff)
This may lead to hangs on some buggy machines, use the solution as in here, maybe as another, backup entry of title First part of Windows ... part of the menu and newer grub4dos version which supports "map --e820cycles" option:

http://reboot.pro/15956/

There are plenty of important changes to be done, new version of the program should be out soon.

It appears if an ISO is mapped not in memory and do a cat --locate=foo --replace=bar /FILE/IN/THE/ISO the file is changed permanently on the disk. map --read-only and map --fake-writes do not help to change the string we need to in txtsetup.sif, Setup sees it as it was before.

Yes, the reason for the mysterious/weird behavior after running /BOOTWS/1.st is that "cat --locate=a --replace=b" modifies TXTSETUP.SIF in the iso file permanently.

Could you also check if latest PLoP boot manager works the same way on this machine- Setup works and grub4dos commands I asked you to type return the same results as the previous PLoP version?
Get just plpbt.bin from here, place it in root of the USB drive and rename it to plp513.bin. Then add these lines at the end of menu.lst:

title Start PLoP boot manager 5.0.13
ls /usbdrive.tag || find --set-root --ignore-cd /usbdrive.tag
kernel /plp513.bin

See above.

When you are saying with PLoP it works how far did you get? Did you install Windows from start to end, until first desktop?

I performed two complete full windows xp installations (one with Plop 5.0.11, other with Plop 5.0.13), both went successfully till the very end (usable windows desktop) without any hiccups.

I used RMPREPUSB 2.1.630, set MS-DOS bootable, FAT32, and no other options set (this means 1 partition, not 2), and install grub4dos to partition boot sector, not to MBR. Because this is the only way I can make USB flash drive bootable on this machine.

The program installs grub4dos MBR, did you select the advanced option "do not check and install grub4dos MBR"?

WinSetupFromUSB installs grub4dos to MBR? I didn't know that. No, I didn't select any advanced options, so this means that grub4dos indeed was installed to MBR. Good to know this. Because earlier (before I knew about WinSetupFromUSB) I was using RMPREPUSB 2.1.630 to make bootable USB flash drive to play with some linux isos, and the only way I was able to make it bootable was to install grub4dos to partition boot sector (PBR), not MBR.

Edited by danafik, 28 December 2011 - 11:16 AM.


#1596
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

Ok, hit a small bump. I remembered I has an old computer in my shop. Everything I have been testing the new X.lst on has been working. My computer uses 4.lst (3 internal drives)...my other test ones use 3.lst(two internal drives). Here is the bump, my old test computer has 1 hard drive in it so 2.lst was used, got a missing MBR helper so I figured it was the age of the computer. Put the CD in the drive and tried it again, and this time it looped back and booted the CD. So I unhooked everything but one hard drive in the previous test machines mention above that everything was working before and 2.lst starts to load and missing MBR helper pops up. If 3.lst plus is used, no issues

this is my 2.lst

ls (hd0,0)/laddsbootusb.tag && map (hd0) (hd1) 
ls (hd0,0)/laddsbootusb.tag && map (hd1) (hd0) 
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

Ok, I see whats missing map --hook

Edited by laddanator, 27 December 2011 - 06:46 PM.


#1597
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,725 posts
  • Joined 06-December 06
  • OS:none specified
  • Country: Country Flag
@danafik
Thanks, that helps a lot, indeed.

@laddanator
You have figured it out, some tired man stole the map --hook line :ph34r: :)

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


#1598
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

You have figured it out, some tired man stole the map --hook line


Yes sir! Up til 2am this morning write and reading code. Got up at 6:30 am and still at it. Bad thing is I am on vacation. The job of a geek at heart is never done! :wacko:

This is my new improved working 2.lst with map --hook

if exist %XP%/laddsbootusb.tag set USBStick=YES
if "%USBStick%"=="YES" set HD=(hd0,0)/laddsbootusb.tag
echo %XP%
echo %HD%
pause --wait=10 Making Sure Paths Exist

ls %HD% && map (hd0) (hd1) 
ls %HD% && map (hd1) (hd0) 
map --hook
ls (0xff)/ && root (0xff)
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0)
ls (0xff)/ || chainloader (hd0)+1
boot

All 8.lst look like the above. I added a pause wait command in case a tech has an issue. I can see which x.lst its loading so if there is a problem, easier to see.

Edited by laddanator, 27 December 2011 - 07:29 PM.


#1599
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

There are plenty of important changes to be done, new version of the program should be out soon.



Just saw this part. Can't wait!

#1600
laddanator

laddanator

    Member

  • Member
  • PipPip
  • 126 posts
  • Joined 06-August 11
  • OS:Windows 7 x86
  • Country: Country Flag

Donator

ilko_t, not sure if you would be interested but I have a method that I use to install Vista, Win7x86, Win7x64 and Win8 from the same partition and the same root of my USB stick. Might be a good add to your already great program. The bcd for each version has to be modded which I have the script for or actually the ones I have that are modded never have to be modded again, so your program could just copy them to the right folder. The only draw back I can see is that each boot.wim has to be mounted (which I made a script that mounts each boot.wim and copies the two files) and two files copied to system32 of mounted wim...set.cmd and winpeshl.ini.

So when its over your root looks like this...

source (folder (with boot1.wim, boot2.wim, boot4.wim and boot4.wim in the source folder)

Win7x86 (folder (with just the install.wim and OEM if you need the OEM folder)

Win7x64 (folder (with just the install.wim and OEM if you need the OEM folder)

Win8 (folder (not need I just use for testing)

Vistax86 (folder (Vista requires all the files from DVD with install.wim as Win7 does not and OEM if you need the OEM folder)

Vistax64 (I do not use x64)

boot (folder (bc1, bc2, bc4, bc6 and boot.sdi

bootmgr (from Win 7 SP1 WAIK.....this will be offset on the fly from the grub4dos menu...see below)


Windows 7 x32 Setup
iftitle [find --set-root --devices=h /laddsbootusb.tag && call set Win7x32=%@root^%] Windows 7 SP1 x32 Setup From %Win7x32%\nNovember 2011.
password --md5 $1$A$hzYlFap3SLNNQ/tA7c3.S.
find --set-root --devices=h /laddsbootusb.tag
clear
set /p /u Answer=ARE YOU SURE YOU WANT TO INSTALL WIN 7 x32...Y or N :
if /i "%Answer%"=="n" echo Back To Main Menu! && configfile %Win7x32%/Menu/vista_7.lst
echo Installing Windows 7 x32 From %Win7x32%
set bootmgr=%Win7x32%/bootmgr
#Windows 7X32
map --mem %bootmgr% (rd)
write --offset=0x105E (rd)+1 \xEB\x08
cat --hex --skip=0x54696 --length=1 --locate=D (rd)+1 && set offset=0x54696
cat --hex --skip=0x54735 --length=1 --locate=D (rd)+1 && set offset=0x54735
write --offset=%offset% (rd)+1 2

chainloader (rd)+1
root ()

Not sure if this would be to much but I think it would make a nice add either way with or without this, the winsetupfromusb still rocks!




4 user(s) are reading this topic

0 members, 4 guests, 0 anonymous users