Jump to content











Photo
- - - - -

Trying to recreate Multiboot CD on USB drive


  • Please log in to reply
16 replies to this topic

#1 MrAluminumSiding

MrAluminumSiding

    Newbie

  • Members
  • 15 posts
  • Location:Sacramento, California, USA
  •  
    United States

Posted 23 September 2009 - 05:28 PM

Hiya, everyone. Let me explain first what I am *trying* to do, and then I can get into what I've already tried.

I have a single CD that boots the following from Isolinux:
1. Windows PE 2.1 (through BOOTMGR)
2. Bart PE (Through SETUPLDR.BIN)
3. Windows recovery console (Same as above, but edited)
4. Dos (a couple different IMAs)
6. Memtest (img)
7. Boot & Nuke (IMG)

All of this works on the CD.

I am trying to move all of this to a bootable USB drive using Syslinux, but thus far my none of my efforts have been more than ~50% successful. The drive will boot and show my menu, but I can't get everything to work at once. I have looked up all the specific little problems on this and other forums, but I feel like I might be missing something fundamental here.

As it stands right now, these are the results:

1. Windows PE - Works
2. Bart PE - "NTDETECT FAILED"
3. XPRC - "NTDETECT FAILED"
4. Dos - "Loading Boot Image. Booting..." Then hangs forever
5. Memtest - works
6. Boot & Nuke - works.

This is my current syslinux.cfg, which except for pathnames is identical to the isolinux.cfg I use on the CD:

[codebox]DEFAULT vesamenu.c32 timeout 100 prompt 0 MENU BACKGROUND splash12.png MENU TITLE *** All-In-One Boot Disk v. 1.00 menu color title 36;44 #00A01B00 #00000000 none menu color tabmsg 31;40 #00ffff00 #00000000 none menu color timeout_msg 37;40 #dd0040f0 #00000000 none menu color timeout 1;37;40 #dd0040f0 #00000000 none menu color sel 7;37;40 #00000000 #20FFFF00 none
menu color unsel 7;37;40 #00000000 #00000000 none
menu color border 7;37;40 #00000000 #00000000 none

LABEL winpe3
MENU LABEL
COM32 /syslinux/chain.c32
APPEND boot ntldr=/BOOTMGR

LABEL dfgpe
MENU LABEL
COM32 /syslinux/chain.c32
APPEND ntldr=/I386/SETUPLDR.BIN

LABEL xprc
MENU LABEL
COM32 /syslinux/chain.c32
APPEND ntldr=/XPRC/SETUPLDR.BIN

LABEL cmd
MENU LABEL
KERNEL /syslinux/memdisk
APPEND initrd=/DOSBOOT/DOSBOOT.IMA

LABEL pmagic
MENU LABEL
KERNEL /syslinux/memdisk
APPEND initrd=/DOSBOOT/PMAGIC8.IMA

LABEL memtest
MENU LABEL
KERNEL /syslinux/memdisk
APPEND initrd=/MEMTEST/MEMTEST.IMG

LABEL bootn
MENU LABEL
KERNEL /syslinux/memdisk
APPEND initrd=/MEMTEST/DBAN.IMA

MENU END[/codebox]

I have also tried booting the ISO direct using syslinux and grub4dos, but that didn't work either. I won't get into all of that unless it's recommended.

I know the USB boot and CD boot aren't the same, but I can't figure out why my results are so fundamentally different. Any help would be greatly appreciated.

#2 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 23 September 2009 - 05:56 PM

Setupldr.bin use internal default names
CD: I386
HD: minint for PE and cmdcons for Recovery Console.
Try default names.

Adjust Recovery Console setupldr.bin in addition: rename minint to minoff

#3 was_jaclaz

was_jaclaz

    Finder

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

Posted 23 September 2009 - 06:08 PM

Or change \minint to \I386:
http://www.911cd.net...showtopic=17504

The strange thing is the DOS image, it should work allright with memdisk, unless it is somehow "peculiar".
Try with a "plain" 1.44 floppy image with just IO.SYS, MSDOS.SYS and COMMAND.COM.

Moving the thread to Syslinux, where it belongs.

jaclaz

#4 MrAluminumSiding

MrAluminumSiding

    Newbie

  • Members
  • 15 posts
  • Location:Sacramento, California, USA
  •  
    United States

Posted 23 September 2009 - 07:11 PM

Hmm. I tried using the default folder names and the error is the same. I've tried editing setupldr.bin (which did work initially to get the recovery console working) and the result is always the same. I will probably start with my working Bart files and work from there so I don't miss anything or repeat anything.

Wasn't there something about pulling NTDETECT from Server 2003? Or I am misremembering that?

On the floppy image side, I have an IMA with just the core msdos files, but it still hangs on "booting..." I am currently using WinImage to create IMA files. Is there something else I should try?

Does memdisk have any options I could try?

Thanks, Guys.

#5 was_jaclaz

was_jaclaz

    Finder

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

Posted 23 September 2009 - 07:44 PM

Hmm. I tried using the default folder names and the error is the same. I've tried editing setupldr.bin (which did work initially to get the recovery console working) and the result is always the same. I will probably start with my working Bart files and work from there so I don't miss anything or repeat anything.

See if this help (as a reminder):
http://www.911cd.net...o...=23291&st=5
Follow THIS (comparing the steps you took/adapting the ones on the guide):
http://www.911cd.net...o...c=18846&hl=

Wasn't there something about pulling NTDETECT from Server 2003? Or I am misremembering that?

No, only if you are going to do a RAMDISK build (the one is described in the diddy's guide above)

On the floppy image side, I have an IMA with just the core msdos files, but it still hangs on "booting..." I am currently using WinImage to create IMA files. Is there something else I should try?

The idea was to get one of the downloadable ones, so that NO tools on your system is used.

Does memdisk have any options I could try?

Not for a "normal" floppy, memdisk has always worked with floppy images, directly via syslinux or chainloaded as kernel by grub4dos, for this latter I am very short of ideas, I mean, while for the PE there are several things that you may have failed to do or did improperly, a DOS .ima is pretty much straightforward.

Post some details, like:
Syslinux/memdisk version
Device/filesystem used

Can you add a KERNEL grub.exe line to Syslinux .cfg and see if grub4dos manages to map the .ima properly?

Some reference for floppy .ima's:
http://www.boot-land...?showtopic=3963

jaclaz

#6 MrAluminumSiding

MrAluminumSiding

    Newbie

  • Members
  • 15 posts
  • Location:Sacramento, California, USA
  •  
    United States

Posted 23 September 2009 - 08:37 PM

Post some details, like:
Syslinux/memdisk version
Device/filesystem used


Right now using:
SysLinux 3.82
memdisk is from same download
HD is a Maxtor OneTouch 250gb, formatted 1x250gb fat32 partition.
I have also tried fat16 in a 2gb partition.

Floppy stuff first:

The idea was to get one of the downloadable ones, so that NO tools on your system is used.

Ah. Okay. Makes sense.

DOS .ima is pretty much straightforward.

I know! :( Well, the downloaded image(s) didn't do anything but hang on my laptops, so I moved over to a Dell desktop and, of course, they worked fine There must be some compatibility problems with these laptops' and syslinux. Why does it then work on the CD? Weird.

Can you add a KERNEL grub.exe line to Syslinux .cfg and see if grub4dos manages to map the .ima properly?


From the grub command line I was able to map the ima to fd0 and it booted. So that's a solution. It seems to slow down everything a bit, but considering the tools I'll need to run from DOS, that shouldn't be too much of a problem.

Anyway that'll probably work fine. Thanks! :)

I tried running syslinux to grub to chainload setuldr.bin (just for the hell of it), but it still errors out.

I will review the first link you posted and redo the whole thing, then follow the (very cool) guide in the second link. That will take me a little while.

Thanks again for all the help.

#7 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 23 September 2009 - 09:15 PM

Try the last MEMDISK (and Syslinux): 3.83-pre11
http://www.kernel.or...slinux/Testing/

MEMDISK could hang on some hardware:
http://www.boot-land...?showtopic=8543

MEMDISK has options:

You can also specify the geometry manually with the following command
line options:

c=# Specify number of cylinders (max 1024[*])
h=# Specify number of heads (max 256[*])
s=# Specify number of sectors (max 63)
floppy[=#] The image is a floppy image[**]
harddisk[=#] The image is a hard disk image[**]

# represents a decimal number.

[*] MS-DOS only allows max 255 heads, and only allows 255 cylinders
on floppy disks.

[**] Normally MEMDISK emulates the first floppy or hard disk. This
can be overridden by specifying an index, e.g. floppy=1 will
simulate fd1 (B:). This may not work on all operating systems
or BIOSes.

c) The disk is normally writable (although, of course, there is
nothing backing it up, so it only lasts until reset.) If you want,
you can mimic a write-protected disk by specifying the command line
option:

ro Disk is readonly

d) MEMDISK normally uses the BIOS "INT 15h mover" API to access high
memory. This is well-behaved with extended memory managers which load
later. Unfortunately it appears that the "DOS boot disk" from
WinME/XP *deliberately* crash the system when this API is invoked.
The following command-line options tells MEMDISK to enter protected
mode directly, whenever possible:

raw Use raw access to protected mode memory.

bigraw Use raw access to protected mode memory, and leave the
CPU in "big real" mode afterwards.

int Use plain INT 15h access to protected memory. This assumes
that anything which hooks INT 15h knows what it is doing.

safeint Use INT 15h access to protected memory, but invoke
INT 15h the way it was *before* MEMDISK was loaded.
This is the default since version 3.73.

e) MEMDISK by default supports EDD/EBIOS on hard disks, but not on
floppy disks. This can be controlled with the options:

edd Enable EDD/EBIOS
noedd Disable EDD/EBIOS

f) The following option can be used to pause to view the messages:

pause Wait for a keypress right before booting

g) The following option can be used to set the real-mode stack size.
The default is 512 bytes, but if there is a failure it might be
interesting to set it to something larger:

stack=size Set the stack to "size" bytes

If updating to the last MEMDISK doesn't help, try the bold options.

LABEL cmd
MENU LABEL
KERNEL /syslinux/memdisk
APPEND initrd=/DOSBOOT/DOSBOOT.IMA raw

Partition Magic 8 isn't recommended to be used anymore (very old program).

#8 MrAluminumSiding

MrAluminumSiding

    Newbie

  • Members
  • 15 posts
  • Location:Sacramento, California, USA
  •  
    United States

Posted 23 September 2009 - 09:53 PM

Try the last MEMDISK (and Syslinux): 3.83-pre11

This version works great! The list of PCs in the link included one or two that use the same chipsets as these troublesome laptops (which we have hundreds of).

Thanks for that. I had tried 3.83 pre1 or 2 and hadn't looked in a while.

Partition Magic 8 isn't recommended to be used anymore (very old program).

I know :) Unfortunately we own it and someone more important than me refuses to let me replace it. Our PE environments have diskpart, at least, but it's command-line and it scares our techs. I have tried to push parted magic but techs (and mgmt) are even MORE afraid of anything that doesn't run in DOS or Windows. My hands are tied.

This disk is for work, but when I reconfig for my OWN USB drive, it will have parted, DSL, etc.

#9 was_jaclaz

was_jaclaz

    Finder

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

Posted 24 September 2009 - 08:27 AM

Our PE environments have diskpart, at least, but it's command-line and it scares our techs. I have tried to push parted magic but techs (and mgmt) are even MORE afraid of anything that doesn't run in DOS or Windows. My hands are tied.


May I rephrase to :cheers::

Our PE environments have diskpart, at least, but it's command-line and it scares the people in our company that like to be called techs, and are unfortulnatley paid for such a role for which evidently they know very little about.


:(

:cheers:

jaclaz

#10 MrAluminumSiding

MrAluminumSiding

    Newbie

  • Members
  • 15 posts
  • Location:Sacramento, California, USA
  •  
    United States

Posted 06 October 2009 - 12:56 AM

See if this help (as a reminder):
http://www.911cd.net...o...=23291&st=5
Follow THIS (comparing the steps you took/adapting the ones on the guide):
http://www.911cd.net...o...c=18846&hl=


I decided to try with a ramdisk image for BartPE, and I read through that entire thread and I am totally lost. It seems like I'm supposed to:

1. create an ISO with pebuilder (check, boots)
2. create yet another ISO with the win2k3 files that ramdisk-loads the first ISO (I did this, but it won't boot on its own)
3. add that ISO to the USB drive, and then ramdisk-load that with pe2usb.bin

I am confused about where the win2k3 files go - the first post in this thread:
http://www.911cd.net...o...=10482&st=0
seems to indicate that I modify the ISO created by pebuilder, then add that to another ISO, then add that to the HD.

If I do that, I get a "INF file txtsetup.sif is missing" error. I found this error in a couple of forums, but usually the solution was "hey, I did it again and it works fine now." So something was missed, but I'm not sure what it was.

If I try to ramdisk-load JUST the original pebuilder ISO, I get a "ramdisk.sys is missing" error.

I'm missing something here.

#11 DaemonForce

DaemonForce

    Frequent Member

  • Advanced user
  • 120 posts
  • Location:SEA
  • Interests:[=D=] has been gone for ages along with .NET 1.0. I may bring it back depending on the amazing people here.
  •  
    United States

Posted 06 October 2009 - 02:17 AM

Partition Magic 8 isn't recommended to be used anymore (very old program).

PQMagic is a diskprep tool. I use diskpart when I need to but when you have a disk that needs to be setup with a strategy, sometimes you need to see every damn detail and work with ease.

The last disk I prepared was an IBM DeskStar IC35L040AVER07-0 with the 32GB clip(this thing has features) horribly abused. This is a pull from the local high school so obviously it's not worth anything. I undid the clip, noted all the bad sectors on the first half of the disk and opened a new partition in PQMagic accordingly. THAT is easy. It makes a pain in the ass like this almost non-existent.

.........

Still if your "techs" are scared of something like cfdisk, please beam them with a nice clean pipe to the temple. :D

EDIT: Yes I realize setting up a bad disk is a waste of time, but if it mitigates the problem and allots enough time to prepare billing and shipping a replacement, it's an action worth carrying out. Especially if acquiring a new disk takes a long time or is out of budget.

#12 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 06 October 2009 - 04:31 AM

MrAluminumSiding

for the PE1x part of your needs, why not try LiveXP:

1) extract this to a folder (for tutorial i will refer C:\WinbuilderLiveXP)
http://lancelot.winb...minumSiding.rar
2) double click C:\WinbuilderLiveXP\winbuilder.exe and make the download
3) Click Big Blue Play button, when source asked point a decent source (NOTtouched, NOTnlited...)
4) After everthing finishes successfully (hopefuly :D ), copy C:\WinbuilderLiveXP\ISO\LiveXP.iso to your ufd/hd etc.
5) Use the equvalant of following grub4dos menu.lst entry with syslinux:
title LiveXP.iso (0xFF)

map --mem /LiveXP.iso (0xFF)

map --hook

chainloader (0xFF)

I hope all goes successfully

ps: Further, For things about LiveXP, ask your questions on LiveXP section.


for the "techs" guys, better to to cure with Dr. DaemonForce's method of beam

Partition Magic 8 isn't recommended to be used anymore (very old program).

:D Strickly NOT recomended, especially if it tries to "auto fix" do NOT :D

#13 DaemonForce

DaemonForce

    Frequent Member

  • Advanced user
  • 120 posts
  • Location:SEA
  • Interests:[=D=] has been gone for ages along with .NET 1.0. I may bring it back depending on the amazing people here.
  •  
    United States

Posted 06 October 2009 - 08:16 AM

especially if it tries to "auto fix" do NOT :D

I need to take care of this soon.

I have a Maxtor 7L300S0 that was not properly setup when I first got the disk(before WinPE). What I wound up doing was setting it up as a dynamic disk in Windows Disk Management. Now HDTune reports two bad sectors. I see one relative to the 137GB mark but the other I knew nothing about. It's probably due to a "fix" in Partition Magic one morning. Please avoid any action on these error messages when possible.

I just hope my 750GB disk doesn't have any errors. Otherwise my rack is about to get very VERY ugly. :D

#14 was_jaclaz

was_jaclaz

    Finder

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

Posted 06 October 2009 - 09:42 AM

I am confused about where the win2k3 files go - the first post in this thread:
http://www.911cd.net...o...=10482&st=0
seems to indicate that I modify the ISO created by pebuilder, then add that to another ISO, then add that to the HD.

That thread indicates:
  • that there is basically ONLY one .iso, where AT LEAST the RAMDISK.SYS has been replaced by the Server 2003 SP1 (or R2, NOT "gold", NOT SP2) one

Then, you can put that .iso wherever you want (i.e. both on a CD or on a HD or on USB stick, whatever).

To load that .iso the device on which it is must, one way or the other, there are several ways:
  • boot to SETUPLDR.BIN (that must be the Server 2003 SP1 (or R2, NOT "gold", NOT SP2) one)
  • have accessible NTDETECT.COM (again from Server 2003 SP1 (or R2, NOT "gold", NOT SP2) one) <-this version requirement is not really accurate, but for the moment take it as is
  • have accessible a WINNT.SIF with appropriate content, example:
    &#91;SetupData&#93;
    
    BootDevice = &#34;ramdisk&#40;0&#41;&#34;
    
    BootPath = &#34;\i386\System32\&#34;
    
    OsLoadOptions = &#34;/noguiboot /fastdetect /minint /rdexportascd /rdpath=rampe.iso&#34;

This is the most basic setup.

In the case of HD or USB stick, put in the root of it:
  • the rampe.iso (which has internally the server 2003 SP1 RAMDISK.SYS
  • SETUPLDR.BIN
  • NTDETECT.COM
  • WINNT.SIF

Use your prefered way to load SETUPLDR.BIN:
  • traditional way: rename SETUPLDR.BIN to NTLDR
  • better way: change name of the loader in the bootsector
  • multiboot: use grub4dos
  • whatever you normally use/are familiar with

Basically SETUPLDR.BIN boots, it reads WINNT.SIF, accesses rampe.iso, loads the RAMDISK.SYS driver, the RAMDISK.SYS driver loads the whole contents of rampe.iso into RAM, NTDETECT.COM inspects the hardware and the PE boots.

Since it costs you nothing to have a copy of SETUPLDR.BIN and NTDETECT.COM from Server 2003 SP1 in the \I386\ folder of the (still the same, only) rampe.iso and as well it costs you nothing to put a copy of WINNT.SIF in the root of the (still the same, only) rampe.iso, you can make everything "self contained".

Here comes into play the grub4dos capabilities of .iso mapping:
find --set-root /rampe.iso
this makes sure that the rampe.iso file is found and roo is established on the device that contains it
map /rampe.iso &#40;0xFF&#41;
or
map --mem /rampe.iso &#40;0xFF&#41;
this maps the .iso to a grub4dos virtual drive, either directly or in memory

map --hook
this hooks the mapping (i.e. it makes it "permanent" and available outside grub4dos)

chainloader &#40;0xFF&#41;
or
chainloader &#40;0xFF&#41;/I386/SETUPLDR.BIN

This boot the .iso, first one through the same .iso bootsector, the second through directly chainloading the SETUPLDR.BIN inside the same .iso.

An alternative may be:
root &#40;0xFF&#41;

chainloader +1
or
root &#40;0xFF&#41;

chainloader /I386/SETUPLDR.BIN


Hope that the above clears your doubts. :frusty:

@Lancelot
As always I may be wrong, but I find that people should learn to walk before starting running. :hypocrite:

<_<

jaclaz

#15 MrAluminumSiding

MrAluminumSiding

    Newbie

  • Members
  • 15 posts
  • Location:Sacramento, California, USA
  •  
    United States

Posted 06 October 2009 - 08:44 PM

that there is basically ONLY one .iso, where AT LEAST the RAMDISK.SYS has been replaced by the Server 2003 SP1 (or R2, NOT "gold", NOT SP2) one


Okay, that's what I thought at first, then got confused the more I read. One ISO it is, with ramdisk.sys from March 2005.

Here's what I ended up with in syslinux.cfg:

LABEL bartpe

MENU LABEL  

COM32 /chain.c32

APPEND ntldr=/NTLDR

Bin file renamed NTLDR (for now), winn.sif loading the iso into a ramdisk. That booted fine. Of course now there's some stupid error in the shell, but that's minor and I can figure it out. Still, it boots, and it boots very quickly, which I like.

Here comes into play the grub4dos capabilities of .iso mapping:

Ha ha. My original multiboot CD was grub4dos. I'm familiar with both, but I chose syslinux for this project and if I can avoid booting one from the other it seems cleaner, even if it's not. I could post my syslinux.cfg file, if anyone is interested.

Thanks for helping me with the ramdisk aspect of this. I still don't understand why trying to boot directly from setupldr.bin (in i386) works on the CD but not on the USB disk, but as long as everything works somehow I guess I don't care.

Anyway, thanks again.

Lancelot: I've played with LiveXP, but I couldn't get it to work with Pointsec, and that's pretty much a requirement. I've got my PE1x environment working pretty well on a multiboot CD - no reason to start redoing everything. Thanks for the effort, though.

All, re: Partition Magic 8: I know it's old. I don't use it and I've told the techs not to. Get it near Vista machines and gpt disks and it will poop itself. I use DiskPart in our PE2 disk to set up new disks because it loads fastest and is easy. I use Gparted if I need to resize AND move a partition.

#16 was_jaclaz

was_jaclaz

    Finder

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

Posted 07 October 2009 - 08:14 AM

Ha ha. My original multiboot CD was grub4dos. I'm familiar with both, but I chose syslinux for this project and if I can avoid booting one from the other it seems cleaner, even if it's not. I could post my syslinux.cfg file, if anyone is interested.


Well, new syslinux has also .iso loading capabilities:
http://www.boot-land...?showtopic=8258

Though the newish feature has not been tested and reported AFAICR for RAMDISK PE .iso's. :hypocrite:

jaclaz

#17 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 20 November 2009 - 04:25 PM

Well, new syslinux has also .iso loading capabilities:
http://www.boot-land...?showtopic=8258

Though the newish feature has not been tested and reported AFAICR for RAMDISK PE .iso's. ;)

jaclaz

MEMDISK's El Torito emulation should work perfectly fine for anything. I've tested it with a set of test cases which includes a WinXP PE .ISO. Note that in this instance, MEMDISK loads the .ISO once into RAM, but if that .ISO uses /RDPATH=, that means that NTLDR is loading a file again into RAM (meaning it needs roughly twice the RAM).

Only NTLDR (or its relatives) knows (or know) how to load a RAM disk to be found by RAMDISK.SYS, as far as I know. I think that there is actually third-party, non-free software which also knows how to establish such a RAM disk for Windows.

jaclaz, I know you already know all this, so I am just re-iterating here. :dubbio: Except that you might not have known that I test a WinXP PE .ISO with MEMDISK.

- Shao Miller




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users