Trying to recreate Multiboot CD on USB drive
#1
Posted 23 September 2009 - 05:28 PM
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
Posted 23 September 2009 - 05:56 PM
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
Posted 23 September 2009 - 06:08 PM
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
Posted 23 September 2009 - 07:11 PM
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
Posted 23 September 2009 - 07:44 PM
See if this help (as a reminder):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.
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=
No, only if you are going to do a RAMDISK build (the one is described in the diddy's guide above)Wasn't there something about pulling NTDETECT from Server 2003? Or I am misremembering that?
The idea was to get one of the downloadable ones, so that NO tools on your system is used.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?
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.Does memdisk have any options I could try?
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
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:
Ah. Okay. Makes sense.The idea was to get one of the downloadable ones, so that NO tools on your system is used.
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.DOS .ima is pretty much straightforward.
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
Posted 23 September 2009 - 09:15 PM
http://www.kernel.or...slinux/Testing/
MEMDISK could hang on some hardware:
http://www.boot-land...?showtopic=8543
MEMDISK has options:
If updating to the last MEMDISK doesn't help, try the bold 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
Partition Magic 8 isn't recommended to be used anymore (very old program).LABEL cmd
MENU LABEL
KERNEL /syslinux/memdisk
APPEND initrd=/DOSBOOT/DOSBOOT.IMA raw
#8
Posted 23 September 2009 - 09:53 PM
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).Try the last MEMDISK (and Syslinux): 3.83-pre11
Thanks for that. I had tried 3.83 pre1 or 2 and hadn't looked in a while.
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.Partition Magic 8 isn't recommended to be used anymore (very old program).
This disk is for work, but when I reconfig for my OWN USB drive, it will have parted, DSL, etc.
#9
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 :
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.
jaclaz
#10
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
Posted 06 October 2009 - 02:17 AM
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.Partition Magic 8 isn't recommended to be used anymore (very old program).
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.
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
Posted 06 October 2009 - 04:31 AM
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 ), 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
Strickly NOT recomended, especially if it tries to "auto fix" do NOTPartition Magic 8 isn't recommended to be used anymore (very old program).
#13
Posted 06 October 2009 - 08:16 AM
I need to take care of this soon.especially if it tries to "auto fix" do NOT
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.
#14
Posted 06 October 2009 - 09:42 AM
That thread indicates: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 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:
[SetupData] BootDevice = "ramdisk(0)" BootPath = "\i386\System32\" OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=rampe.iso"
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.isothis makes sure that the rampe.iso file is found and roo is established on the device that contains it
map /rampe.iso (0xFF)or
map --mem /rampe.iso (0xFF)this maps the .iso to a grub4dos virtual drive, either directly or in memory
map --hookthis hooks the mapping (i.e. it makes it "permanent" and available outside grub4dos)
chainloader (0xFF)or
chainloader (0xFF)/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 (0xFF) chainloader +1or
root (0xFF) chainloader /I386/SETUPLDR.BIN
Hope that the above clears your doubts.
@Lancelot
As always I may be wrong, but I find that people should learn to walk before starting running.
jaclaz
#15
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.
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.Here comes into play the grub4dos capabilities of .iso mapping:
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
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.
jaclaz
#17
Posted 20 November 2009 - 04:25 PM
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).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
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. 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