Printable Version of Topic
The CD Forum _ General _ How to get a boot menu before loading BartPE?
Posted by: Raceit May 3 2006, 09:55 AM
What I'm after is a way to dual boot my 1GB USB flash stick. I have successfully installed (and can boot from) the Bart PE on it. But I would like a way to get a menu so I can boot right to DOS so I can run other utilities from the USB flash stick.
I can copy the io.sys, msdos.sys and command.com onto it, but I guess it’s more of a boot sector type of thing and then having some kind of a menu to choose between Bart PE and DOS.
Any ideas or thoughts?
Thanks.
Posted by: ekke May 3 2006, 11:12 AM
QUOTE (Raceit @ May 3 2006, 02:55 PM)

What I'm after is a way to dual boot my 1GB USB flash stick. I have successfully installed (and can boot from) the Bart PE on it. But I would like a way to get a menu so I can boot right to DOS so I can run other utilities from the USB flash stick.
I can copy the io.sys, msdos.sys and command.com onto it, but I guess it’s more of a boot sector type of thing and then having some kind of a menu to choose between Bart PE and DOS.
Any ideas or thoughts?
Thanks.
http://www.911cd.net/forums//index.php?s=&showtopic=10806&view=findpost&p=98227
try that
Posted by: jaclaz May 3 2006, 11:17 AM
You can use GRUB4DOS.
You can choose to:
1) Install "normally" NTLDR with an entry in boot.ini that points to a DOS bootsector (made with BOOTPART) and another one pointing to GRLDR + an entry in menu.lst pointing to your SETUPLDR.BIN.
2) Install directly GRLDR with an entry in menu.lst pointing to your SETUPLDR.BIN + an entry pointing to a DOS floppy image
Also check these:
http://www.911cd.net/forums//index.php?showtopic=10806
http://www.msfn.org/board/index.php?showtopic=69211&hl=
jaclaz
Posted by: edborg May 5 2006, 05:12 AM
QUOTE (jaclaz @ May 3 2006, 06:17 PM)

You can use GRUB4DOS.
You can choose to:
1) Install "normally" NTLDR with an entry in boot.ini that points to a DOS bootsector (made with BOOTPART) and another one pointing to GRLDR + an entry in menu.lst pointing to your SETUPLDR.BIN.
2) Install directly GRLDR with an entry in menu.lst pointing to your SETUPLDR.BIN + an entry pointing to a DOS floppy image
Also check these:
http://www.911cd.net/forums//index.php?showtopic=10806
http://www.msfn.org/board/index.php?showtopic=69211&hl=
jaclaz
I've read the above thread with instructions for WINGRUB and GRUB4DOS, but haven't been able to succeed yet.
WINGRUB, which calls for an MBR install, doesn't give any effect to me. It creates a Grub directory and MBR backup and copies grldr as expected, but it boots as before, with no boot menu.
GRUB4DOS, which refers to a boot.ini install, should perhaps refer to a full XP, not BartPE (unless I don't understand how this works, which is quite possible)
Thanks for any clarification
edborg
UPDATED: I've done some further tests with boot.ini install as well, using an USB disk with full XP, but I still have difficulties.
Could you please explain how to write the boot.ini and menu.lst entries mentioned in 1) above?
Posted by: Raceit May 8 2006, 11:17 AM
QUOTE (jaclaz @ May 3 2006, 11:17 AM)

http://www.msfn.org/board/index.php?showtopic=69211&hl=
jaclaz
I was trying some things from the thread above. He gives directions to download a drivers (which I did) and modify the inf file (which I did). After all that XP should see the removeable device as a USB hard drive. But I was never able to modify the inf file correctly so it could load that driver. I've modified inf files before, but whatever I try it won't see it as a legit driver.
Posted by: jaclaz May 8 2006, 01:35 PM
OK, here is some info.
I am assuming that you already can boot both DOS (the one from Windows 98 aka 7.1) and PE from USB without problem.
Version 1)
NORMAL DOS INSTALL.
Format the key as usual, including SYSTEM files IO.SYS MSDOS.SYS COMMAND.COM
Verify that it boots.
Add to the key the /I386 directory
Add to the key GRUB.EXE and the following MENU.LST:
QUOTE
# This is a basic menu.lst file for GRUB4DOS
# Following is the timeout for the default choice
# By not pressing any key during the timeout, the default will be chosen
timeout 10
# Following is the menu item that will default
default 0
# This reflects the "normal" behaviour of a PC
# i.e. booting the first partition of first harddisk
# By setting it as default with timeout 10 seconds (see above)
# We try to replicate somehow the "Press any key to boot from CD..." message
# of Microsoft Install CDs, this way if no key is pressed, as an example for
# unattended installs, the system will boot "normally" even if CD is inserted
# of course if the "any" you press is [ENTER]system will boot from this entry
title Boot Hard Disk MBR on (hd0,0)
chainloader (hd0,0)+1
rootnoverify (hd0)
title NTLDR
# This entry simply tries to load a NT/Win2K/XP/2003
# system ALREADY on your hard disk using the NTLDR/NTDETECT.COM
# and boot.ini on the CD
chainloader /NTLDR
If you have your SETUPLDR.BIN renamed as NTLDR in the root directory, it should work.
Alternatively, try adding the following to menu.lst:
QUOTE
title SETUPLDR.BIN
# This entry simply tries to directly load BartPE
# from SETUPLDR.BIN in the /I386 directory
chainloader /I386/SETUPLDR.BIN
version 2)
Through NTLDR
Format the key as usual, including SYSTEM files IO.SYS MSDOS.SYS COMMAND.COM
Verify that it boots.
Copy to the stick bootpart and use it to make a bootsector with DOS Win9x code, say C:\bootsect.dat
Use bootpart to rewrite the NT/2K/XP bootsector.
Copy to the stick NTLDR and this BOOT.INI:
QUOTE
[Boot Loader]
Timeout=5
Default=C:\Bootsect.dat
[Operating Systems]
C:\Bootsect.dat="Windows 98 Command Line" /win95
C:\GRLDR="GRUB"
Add to the stick GRLDR and menu.lst
version 3)
Direct GRUB4DOS+DOS (win9x).
Format as usual, as above.
Copy to the stick GRLDR, menu.lst and bootlace.com, use it to install GRLDR as the main bootmanager in the MBR.
use the options:
--force-backup-mbr
--boot-prevmbr-first
--time-out=5
--hot-key=3920
This way if the SPACEBAR is not pressed within 5 seconds, GRLDR will boot, otherwise the normal DOS will.
The above are just examples, another way is using simply a Floppy image for the DOS booting, in this
case you need an entry in menu.lst along these lines:
QUOTE
title Win98SE (Win98SE.ima)
# This image has been set to boot using directly the GRUB bootloader
# You might also want to experiment with compressed images and memdisk
# The image is first mapped to memory as first floppy
# then Int13h is hooked
# finally the 1st sector of floppy is chainloaded and booted
map --mem /IMAGES/Win98SE.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Win98SE (Win98SE.ima.gz)
# This image has been set to boot using directly the GRUB bootloader
# This example uses a compressed image (gzipped)
# The image is first mapped to memory as first floppy
# then Int13h is hooked
# finally the 1st sector of floppy is chainloaded and booted
map --mem /IMAGES/Win98SE.ima.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Win98SE (Win98SE.imz) memdisk
# This image has been set to boot using memdisk
# Using memdisk instead of direct GRUB booting
# If the compressed image does not boot through memdisk you can always
# try to uncompress it and use it with direct GRUB booting
kernel /IMAGES/memdisk.gz
initrd /IMAGES/Win98SE.imz
Boot
Instead of the floppy image one can use a partition image, there are so many possibilities that it's impossible to list them all.
If on the stick there is also GRUB.EXE it is possible to re-start GRUB from the DOS command line without rebooting.
Please NOTE that GRUB paths/filenames are CaSe SeNsItIvE!
jaclaz
Posted by: Raceit May 8 2006, 04:50 PM
I wanted to mess with the boot.ini again real quick. I found that if I copy the ntldr from my XP box to the root of the USB flash then I can get it to give me a menu. However I can't get it to load the BartPE regardless of how I try to edit the boot.ini file.
Right now my USB flash has these files and folders...
\minint
\minint\ntdetect.com
\minint\setupldr.bin
\minint\ntldr, etc
\Programs
boot.ini
ntldr
ntdetect.com, etc
Depending on how I change the boot.ini file around it will either lock up the pc, reboot it, or give me an error message when I select a menu option.
Posted by: edborg May 9 2006, 04:12 AM
QUOTE (jaclaz @ May 8 2006, 08:35 PM)

OK, here is some info.
.......
jaclaz
Thanks a lot for your info. I can now make some tests in a better way!
The reason I asked is that I had no idea of Grub's features and syntax and couldn't find documentation on the site where I downloaded it from. I've now found a Grub's manual that, together with your clear examples above, will hopefully allow me to succeed.
edborg
Posted by: jaclaz May 9 2006, 11:36 AM
QUOTE (Raceit @ May 8 2006, 11:50 PM)

I wanted to mess with the boot.ini again real quick. I found that if I copy the ntldr from my XP box to the root of the USB flash then I can get it to give me a menu. However I can't get it to load the BartPE regardless of how I try to edit the boot.ini file.
Right now my USB flash has these files and folders...
\minint
\minint\ntdetect.com
\minint\setupldr.bin
\minint\ntldr, etc
\Programs
boot.ini
ntldr
ntdetect.com, etc
Depending on how I change the boot.ini file around it will either lock up the pc, reboot it, or give me an error message when I select a menu option.
Raceit,
you are missing a logical step:
1) The BOOTSECTOR (i.e. first sector of the Active Primary Partition) contains CODE that boots (under NT/2K/XP/2003) the NTLDR
2) The NTLDR has the capacity to boot (through the selection in BOOT.INI and using NTDETECT.COM) only the windows NT/2K/XP/2003 System partition, (i.e. \Winnt or \Windows) through an arcpath sintax, (i.e. something like multi(0)disk(0)rdisk(0)partition(1)\WINNT)
3) To keep compatibility with elder MS operating systems, the NTLDR has also the option to load ANOTHER bootsector; this bootsector MUST have the same geometry (dynamic data) of the main one, but can have different CODE, i.e. can load something different like the DOS files IO.SYS SDOS.SYS COMMAND.COM or another OS, or even another bootloader
4) BartPE normally boots by using a copy of SETUPLDR.BIN renamed as NTLDR or PELDR.
5) SETUPLDR.BIN behaves differently from NTLDR:
a.) It DOES NOT use the BOOT.INI settings file
b.) Searches for needed files in the \I386 directory (this is fixed, hardcoded INSIDE SETUPLDR.BIN, needs hexediting to be changed) or in the \minint one if on hard disk
c.) Reads the textsetup.SIF, or WINNT.SIF (or any other .sif file)
The way to have a BartPE selection in boot.ini is to have an alternate BOOTSECTOR, peboot.bin, that loads PELDR (i.e. a renamed SETUPLDR.BIN) INSTEAD of NTLDR.
So the booting goes like this:
1) REAL BOOTSECTOR loads NTLDR
2) NTLDR loads BOOT.INI
3) If the line invoking the ALTERNATE bootsector peboot.bin is chosen, peboot.bin loads PELDR
You cannot load anything else but an ARCPATH or a BOOTSECTOR from NTLDR/BOOT.INI!
See these threads here:
http://www.911cd.net/forums//index.php?showtopic=2316
http://www.911cd.net/forums//index.php?showtopic=11213
http://www.911cd.net/forums//index.php?showtopic=11226
http://www.911cd.net/forums//index.php?showtopic=13930
http://www.911cd.net/forums//index.php?showtopic=14684
and this post from cdob:
http://www.911cd.net/forums//index.php?showtopic=14164&st=20
Using GRLDR or GRUB.EXE makes it possible to load DIRECTLY (i.e. chainload) NTLDR or SETUPLDR.BIN without need for renaming the latter to NTLDR or PELDR.
jaclaz
Posted by: cdob May 10 2006, 02:27 AM
@Raceit
jaclaz wrote a fine manual already. Thanks.
A working example, use peinst tools:
USB drive letter h: at running windows. Not BartPE.
Of course, use your USB drive letter.
Extract boot sector, write boot sector file
QUOTE
D:\pebuilder\plugin\peinst>mkbt -c -x h: h:\peboot.bin
* Copy bootsector mode (-c)
* Expert mode (-x)
Reading source boot sector from "\\.\H:"
Writing boot sector back to "h:\peboot.bin"
Edit boot sector file
QUOTE
D:\pebuilder\plugin\peinst>nt2peldr.exe h:\peboot.bin
File "h:\peboot.bin" has been read
1 replacements done
Changes written back to "h:\peboot.bin"
copy h:\minint\setupldr.bin h:\PELDR
Edit h:\boot.ini, load bootsector file
QUOTE
[operating systems]C:\PEBOOT.BIN="BartPE"
C:\ is importand.
But that is not the drive letter from running windows or running PE.
That's the drive letter builded by ntldr, most likely BIOS device 0x80.
If you boot from USB, your USB device get 0x80.
This works in my case, a different BIOS may require another solution.
Posted by: cdob May 11 2006, 02:33 AM
Update:
A nice multiboot manual: http://multiboot.solaris-x86.org
QUOTE
(C: in BIOS boot sequence)
Next step: Add recocery console.
Install recocery console at internal hard disk.
Copy \cmdcons h:\CMDCONS
Case is importand at FAT16.
Edit USB drive h:\boot.ini
CODE
[operating systems]
C:\PEBOOT.BIN="BartPE"
C:\PEBOOT.BIN="Recocery Console" /cmdcons
Boot USB drive, select BartPE or Recocery Console.
updated update:
Same USB hardware.
One machine boot BartPE and recovery console.
Another machine boot BartPE only

Recovery console dosn't find txtsetup.sif.
As known, different hardware (BIOS) may get different USB results.
Posted by: Ed_P Jun 25 2006, 12:45 PM
QUOTE (jaclaz @ May 8 2006, 02:35 PM)

QUOTE
title Win98SE (Win98SE.ima)
# This image has been set to boot using directly the GRUB bootloader
# You might also want to experiment with compressed images and memdisk
# The image is first mapped to memory as first floppy
# then Int13h is hooked
# finally the 1st sector of floppy is chainloaded and booted
map --mem /IMAGES/Win98SE.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Win98SE (Win98SE.ima.gz)
# This image has been set to boot using directly the GRUB bootloader
# This example uses a compressed image (gzipped)
# The image is first mapped to memory as first floppy
# then Int13h is hooked
# finally the 1st sector of floppy is chainloaded and booted
map --mem /IMAGES/Win98SE.ima.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Win98SE (Win98SE.imz) memdisk
# This image has been set to boot using memdisk
# Using memdisk instead of direct GRUB booting
# If the compressed image does not boot through memdisk you can always
# try to uncompress it and use it with direct GRUB booting
kernel /IMAGES/memdisk.gz
initrd /IMAGES/Win98SE.imz
Boot
The above are just examples, another way is using simply a Floppy image for the DOS booting, in this
case you need an entry in menu.lst along these lines:
Instead of the floppy image one can use a partition image, there are so many possibilities that it's impossible to list them all.
If on the stick there is also GRUB.EXE it is possible to re-start GRUB from the DOS command line without rebooting.
Please NOTE that GRUB paths/filenames are CaSe SeNsItIvE!
jaclaz

If the images are not on the c:\ drive how are they referenced?
initrd (hd0,2)/FLOPPIES/Win98.imz
root (hd0,2)
initrd /FLOPPIES/Win98.imz
map (hd0,2)
initrd /FLOPPIES/Win98.imz
??
I end up with GRUB ERROR 1 and ERROR 12s.
Posted by: jaclaz Jun 25 2006, 02:00 PM
Why you use the initrd without memdisk?
QUOTE
map --mem (hd0,2)/FLOPPIES/Win98.imz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
or
QUOTE
kernel (hd0,2)/FLOPPIES/memdisk.gz
initrd (hd0,2)/FLOPPIES/Win98SE.imz
Boot
should both work
jaclaz
Posted by: Ed_P Jun 25 2006, 04:10 PM
QUOTE (jaclaz @ Jun 25 2006, 03:00 PM)

Why you use the initrd without memdisk?
Because I don't know any better.
QUOTE (jaclaz @ Jun 25 2006, 03:00 PM)

should both work
jaclaz
Unfortunately, neither worked.
The 2nd one failed with Error 21: Linux kernel must be loaded before initrd.
Most likely because I don't have a memdisk.gz file and thus couldn't use the"kernel" operand.
The 1st one failed with Error 21: No such partition. I got the same error when I used (hd0,3) but I got Error 17: File not found when I used (hd0,4). The image file is on my E: drive, in the FLOPPIES folder and is named MODBOOT.imz and that is exactly what I specified in my GRUB map command:
map --mem (hd0,4)/FLOPPIES/MODBOOT.imz (fd0)
I also tried (hd0,5) with the same result.
If under GRUB I do a find /NTLDR it comes back with only (hd0,1) not (hd0,0) which is what I would expect.
Posted by: jaclaz Jun 26 2006, 02:41 AM
It seems like you have TWO problems:
1) the hard disk partition(hd0,x) is somehow wrong, easier would be making multiple entries with x=1,2,3,4,5,6, etc. I cannot say more without knowing exactly how your hard disk is set
2)
QUOTE (Ed_P)
Most likely because I don't have a memdisk.gz file and thus couldn't use the"kernel" operand.
Get it from homepage:
http://syslinux.zytor.com/memdisk.php
http://syslinux.zytor.com/download.php
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.11.zip
You can use the file memdisk (no extension) directly or use 7zip to Gzip it to memdisk.gz
QUOTE (Ed_P)
If under GRUB I do a find /NTLDR it comes back with only (hd0,1) not (hd0,0) which is what I would expect.
It is possible that your C : partition is not first partition as seen by grub
http://djack.com.pl/Suse9hlp/ch08s04.html#sec:grub.devices
You can check the
sorting order of partitions with beeblebrox and/or sort them with mbrwizard, be careful though.
Since MBRwizard does not deal with Extended Partitions and its Logical Volumes, checking them can be tricky, right now I cannot remember an easy to do way to check them (I would do it manually with an Hex/Disk Editor).
jaclaz
Posted by: Ed_P Jun 26 2006, 10:57 AM
Ok, figured out the partition numbering. GRUB allocates 0-3 to the Primaries then 4-x to the Logicals. D'ol! I knew that. My E: is my 2nd Logical and should thus be (hd0,5) to GRUB. root (hd0, plus Tab shows partitions 1,4,5,6,etc. Why my primary is 1 rather than 0 I have no idea but since everything works with it as 1 I'm not going to change it. I put a dummy file in the root of E: and find /dummy found it at (hd0,5).
I downloaded the 1.6MB syslinux file and extracted the 20KB memdisk. I originally mistook the file name to be the utility that tests RAM.
Unfortunately both approaches to booting an image still don't work. They both give the Error 17: File not found for the 1st file referenced. find /FLOPPIES and find /FLOPPIES/ returned no hits. Too bad GRUB doesn't have a DIR command or a *.* option.
Posted by: jaclaz Jun 26 2006, 01:00 PM
QUOTE (Ed_P)
find /FLOPPIES and find /FLOPPIES/
I don't think that grub can find directories.
Try the following:
find /FLOPPIES/MODBOOT.imz
Then try copying, just for the sake of it,
MODBOOT.imz to the root of your e: drive
and try
find /MODBOOT.imz
Then try copying, again just for the sake of it,
MODBOOT.imz to the root of your c: drive
and try
find /MODBOOT.imz
Are you really positive about the CaSe AlSo ?
I don't want to seem petulant, but try issuing a dir /s command on the e: drive from command prompt, or try renaming the floppy image to "image.imz".
jaclaz
Posted by: Ed_P Jun 26 2006, 09:43 PM
QUOTE (jaclaz @ Jun 26 2006, 02:00 PM)

Try the following:
find /FLOPPIES/MODBOOT.imz
Didn't find it.
QUOTE (jaclaz @ Jun 26 2006, 02:00 PM)

Then try copying, just for the sake of it,
MODBOOT.imz to the root of your e: drive
and try
find /MODBOOT.imz
Didn't find it.
QUOTE (jaclaz @ Jun 26 2006, 02:00 PM)

Then try copying, again just for the sake of it,
MODBOOT.imz to the root of your c: drive
and try
find /MODBOOT.imz
Didn't find it.
QUOTE (jaclaz @ Jun 26 2006, 02:00 PM)

Are you really positive about the CaSe AlSo ?
Yes.
When I renamed it to modboot.imz and put it and memdisk on the c: drive GRUB found it.
However....
With map I get Error 14: Invalid or unsupport executable format.
With initrd GRUB pukes!! The screen fills with hex code and MEMDISK: Image has fractional end sector and MEMDISK: Image seems to have fractional end cylinder. followed by Loading boot sector... booting... and then the machine hangs. Apparently GRUB doesn't like .imz files created by Floppy Image 1.5.2.
I'll have to try some RAWrite .img files.
Posted by: jaclaz Jun 27 2006, 07:10 AM
Well, the "right " way for an image is to have it as .ima or .img, in the case of a 1.44 floppy image, the size has to be 1,474,560 bytes.
Than you use your favorite compression program and you compress it either as Gzip or Zip.
Stll there is something strange, since
QUOTE (Ed_P)
I put a dummy file in the root of E: and find /dummy found it at (hd0,5).
it should have found as well /MODBOOT.imz
Try with another "generic" image, like this one:
http://weller.ws/toshiba/ghost/WIN98SE.IMG
I just tested it, and it works with BOTH methods.
Then try Gzipping or Zipping it as above.
jaclaz
Posted by: Ed_P Jun 28 2006, 10:30 AM
Update:
I tried an .img image that I had created with RawWrite for Windows. The image was located on my e: drive as e:\MY UTILS\RAWrite\Win98SE.img and I made a copy to my c:\ drive. c:\Win98SE.img.
GRUB could not find the file on my e: drive, map --mem (hd0,5)/MY UTILS/RAWrite/Win98SE.img (fd0) , even when I put quotes around the folder name. However, both approaches worked when I redirected them to the c:\ drive file.
I've used GRUB to boot CDs, hds and USB keys but never an image before. Very interesting range of possibilities open up. Thanks.
BTW The GRUB CD interface, bcdf.bin, only works if run from a floppy, is there a version that runs from USB keys or hds?
hmmmmm or GRUB boots an image of a GRUB floppy which then boots a CD. hmmmm off to play.
Posted by: Ed_P Jun 28 2006, 04:53 PM
QUOTE (Ed_P @ Jun 28 2006, 11:30 AM)

hmmmmm or GRUB boots an image of a GRUB floppy which then boots a CD. hmmmm off to play.

Nope, that didn't work.
chainloader (fd0)/bcdf.bin
in the .img floppy started:
Starting BCDL...
IDE/ATAPI CD-ROM Device Driver version 1.11
CD-ROM drive #0 found on 1F0h port slave device
CD-ROM drive #1 found on 170h port slave device
flashes a line that I believe says Booting followed by a line with a white background that I couldn't read quickly enough then hangs with a black/blank screen.
BTW initrd (hd0,1)/GRUB.img didn't work, File not found. It worked when I renamed the file to be grub2.img.
initrd (hd0,1)/grub2.img
The original floppy when booted allowed me to boot the BartPE CD.
Posted by: jaclaz Jun 29 2006, 02:34 AM
QUOTE (Ed_P)
GRUB could not find the file on my e: drive, map --mem (hd0,5)/MY UTILS/RAWrite/Win98SE.img (fd0) , even when I put quotes around the folder name. However, both approaches worked when I redirected them to the c:\ drive file.
I don't think that names with spaces are supported.
But there must be something, cannot say what, with your drive or with the way it is formatted/partitions are listed in the MBR.
I have found something similar, (but that actually did not give normally any problem) in some occasions when using non-standard setup with Partition Magic or Acronis, but I would not try to fix it, unless you are going to reformat from scratch and restore.
QUOTE (Ed_P)
hmmmmm or GRUB boots an image of a GRUB floppy which then boots a CD. hmmmm off to play.
It seems like newest builds of GRUB4DOS have also the (cd) syntax, but cannot say if it works for booting off it or what happens if you have more than one CD drive.
Smart boot manager can be effectively chained by grub/grub4dos, and it works at least for el-torito CDs:
http://www.lrz-muenchen.de/~bernhard/grub-chain-cd.html
jaclaz
Posted by: Ed_P Jun 29 2006, 11:03 AM
QUOTE (jaclaz @ Jun 29 2006, 03:34 AM)

I don't think that names with spaces are supported.
I wonder if GRUB uses the DOS 8.3 names.
QUOTE (jaclaz @ Jun 29 2006, 03:34 AM)

But there must be something, cannot say what, with your drive or with the way it is formatted/partitions are listed in the MBR.
Well, the drive hasn't been formated and installed fresh in a couple of years now at least. Whenever something needs to be added or moved I use Partition Magic. GRUB finds files in the root of the various drives just not in folders on drives other than C: . The file name case situation I don't understand since GRUB finds
configfile /boot/EdsLsts/menuXtended.lst just fine. I use mixed case names the majority of the time.
QUOTE (jaclaz @ Jun 29 2006, 03:34 AM)

Smart boot manager can be effectively chained by grub/grub4dos, and it works at least for el-torito CDs:
http://www.lrz-muenchen.de/~bernhard/grub-chain-cd.html
jaclaz
I've heard that. There was a posting here last fall I think about it. I've no real need to boot a CD from a non-floppy machine but since I had a backup image of my GRUB floppy and the new found means of booting it I thought I'd try it.
Posted by: freelancer Jul 2 2006, 12:36 PM
I'm having some problems here... I have a 2gb harddrive with DOS 7.10 installed. It boots fine, no problem. Then I wanted to add GRUB, so I used bootpart to dump the DOS bootsector to C:\bootsector.dat. Then I used bootpart to install NTLDR, and added these lines to boot.ini:
C:\bootsector.dat="MS-DOS 7.10"
C:\GRLDR="GRUB"
(I copied GRLDR to the root of the drive, with a menu.lst file)
So far, so good, right? No. When I boot, NTLDR seems to work properly, it gives me this list:
MS-DOS 7.10
GRUB
But, when I select to boot DOS, it just shows some text and jumps back to the menu. Why? GRUB seems to work, but I can't boot to DOS with it. I'm using a line to boot the MBR at hd0,0 but that just throws me back to the NTLDR menu.
This is pretty annoying, help is much appriciated!
*edit* God I'm stupid, sorry. Of course GRUB puts me back at NTLDR, since that's the bootloader installer to the MBR at hd0,0. That still doesn't explain NTLDR not booting to DOS, though.
Posted by: jaclaz Jul 2 2006, 11:35 AM
freelancer,
double-check your bootpart syntax, read these:
http://forum.winimage.com/viewtopic.php?t=278
http://forum.winimage.com/viewtopic.php?t=631
The syntax you should have used is:
QUOTE
BOOTPART WIN98 C:\BOOTSECT.DAT "Dos 7.1"
QUOTE (freelancer)
I used bootpart to dump the DOS bootsector to C:\bootsector.dat.
Bootpart does not "dump" a bootsector, it "creates" a NEW one with existing harddrive geometry.
If you use the wrong parameter, result will be a wrong bootsector, check this also:
http://forum.winimage.com/viewtopic.php?t=276
Moreover, you appear to have used a filename that is NOT 8.3 compatible, that WON'T WORK ANYWAY.
Also, you should also be able to boot Dos 7.1 from Grub, using this entry in menu.lst:
QUOTE
title Dos 7.1 from Windows 98
chainloader (hd0,0)/io.sys
boot
jaclaz
Posted by: Ed_P Jul 2 2006, 02:17 PM
QUOTE (freelancer @ Jul 2 2006, 01:36 PM)

C:\bootsector.dat="MS-DOS 7.10"
C:\GRLDR="GRUB"
Try just
CODE
C:\="MS-DOS 7.10"
C:\GRLDR="GRUB"
Posted by: jaclaz Jul 2 2006, 02:57 PM
QUOTE (Ed_P @ Jul 2 2006, 09:17 PM)

Try just
CODE
C:\="MS-DOS 7.10"
C:\GRLDR="GRUB"
Ed_P,
boot.ini syntax NEEDS a filename or an arcpath, but even if it would work with C:\, since the bootsector of C:\ is the one that loads NTLDR, it won't work.
jaclaz
Posted by: Ed_P Jul 2 2006, 07:19 PM
You're probably right. I remember the initial posting stating the the drive had DOS 7.1 on it and I have a Win2K/Win98 machine that has this for it's .ini
CODE
[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Bkup"
C:\="Microsoft Windows 98SE"
And it does work for booting Windows 98, with no filename or an arcpath.
Since the drive doesn't have Windows on it I thought it would boot to NTLDR which would activate the boot.ini and would give the option to select DOS rather than Windows 98. I'm not that familiar with bootpart and the boot .bin/.dat files so I don't know what impact they would play. They may cause the boot process to loop.
(BTW The machine's 1st partition on the 1st hd is a recovery partition. The 2nd hd doesn't have it.)
Posted by: Ed_P Jul 2 2006, 09:34 PM
QUOTE (jaclaz @ Jul 2 2006, 12:35 PM)

Also, you should also be able to boot Dos 7.1 from Grub, using this entry in menu.lst:
QUOTE
title Dos 7.1 from Windows 98
chainloader (hd0,0)/io.sys
boot
jaclaz
I tried that and GRUB said "Error 13: Invalid or unsupported executable format".
A GRUB
find /io.sys shows it to be on (hd0,1) and (hd1,1) on my dual boot machine and I got the error with both locations.
Posted by: jaclaz Jul 3 2006, 07:06 AM
QUOTE
You're probably right. I remember the initial posting stating the the drive had DOS 7.1 on it and I have a Win2K/Win98 machine that has this for it's .ini
QUOTE
And it does work for booting Windows 98, with no filename or an arcpath.
Now that you mention it, yes, if I recall correctly, (I have been using Bootpart for some ten years) the situation you describe happens when you install a NT based OS after Windows 98, most probably NTLDR has a hardcoded filename, something like "bootsect.dat" or "bootsect.dos", but you should be able to find on your C:\ a 512 bytes file or maybe it simply uses a copy of the original bootsector in some "hidden" sector, maybe 6?
I'll have to do some reasearch on this.
QUOTE
I tried that and GRUB said "Error 13: Invalid or unsupported executable format".
A GRUB find /io.sys shows it to be on (hd0,1) and (hd1,1) on my dual boot machine and I got the error with both locations.
That takes us back to the "misterious" --edx switch:
http://www.911cd.net/forums//index.php?showtopic=17144
Here is from latest (2006-06-20) grub4dos docs:
QUOTE
Update 9: Directly boot NTLDR of WinNT/2K/XP and IO.SYS of Win9x/ME and
KERNEL.SYS of FreeDOS. Examples:
chainloader --edx=0xPPYY (hd0,0)/ntldr
boot
chainloader --edx=0xYY (hd0,0)/io.sys
boot
chainloader --ebx=0xYY (hd0,0)/kernel.sys
boot
Hex YY specifies the boot drive number, and hex PP specifies
the boot partition number of NTLDR. If the boot drive is
floppy, PP should be the hex value ff, i.e., decimal 255.
For KERNEL.SYS of FreeDOS, the --edx won't work,
use --ebx please.
The option --edx ( --ebx ) can be omitted if the file is in
its normal place. But in some cases, those options are needed.
If, e.g., the ntldr file is in an ext2 partition called
(hd2,8) while you want it to think of the Windows partition
(hd0,7) as the boot partition, then --edx is required:
chainloader --edx=0x0780 (hd2,8)/ntldr
For DOS kernels(i.e., IO.SYS and KERNEL.SYS), the boot
partition number is meaningless, so you only need to specify
the correct boot drive number YY(but specifying the boot
partition number is harmless).
a test with
QUOTE
chainloader --edx=0180 (hd0,1)/io.sys
boot
or
QUOTE
chainloader --edx=1180 (hd1,1)/io.sys
boot
could be interesting...
jaclaz
Posted by: Ed_P Jul 3 2006, 07:59 AM
QUOTE (jaclaz @ Jul 3 2006, 08:06 AM)

QUOTE
chainloader --edx=0180 (hd0,1)/io.sys
boot
QUOTE
chainloader --edx=0180 (hd0,1)/io.sys
boot
jaclaz
together with
QUOTE
chainloader --edx=0x0180 (hd0,1)/io.sys
boot
QUOTE
chainloader --edx=0x01 (hd0,1)/io.sys
boot
QUOTE
chainloader --edx=0x00 (hd0,1)/io.sys
boot
All yield: Error 1: Filename must be either and absolute pathname or blocklist
Posted by: jaclaz Jul 3 2006, 12:11 PM
Hmmm, could be a problem of the release?
Or maybe it is your "strange" setup that maps something differently?
A new release2006-06-30 is out:
http://grub4dos.jot.com/WikiHome
What about this (last lines in README.TXT):
QUOTE
title find and load IO.SYS of Windows 9x/Me
find --set-root /io.sys
chainloader /io.sys
jaclaz
Posted by: Ed_P Jul 3 2006, 12:54 PM
The find works but the chainloader gives the same Error 13.
My GRUB floppy is version 0.95 and does not use DOS.
QUOTE (jaclaz @ Jul 3 2006, 01:11 PM)

Hmmm, could be a problem of the release?
Or maybe it is your "strange" setup that maps something differently?

This is a different pc than our other discussion,
Posted by: jaclaz Jul 3 2006, 02:59 PM
QUOTE (Ed_P)
My GRUB floppy is version 0.95 and does not use DOS.
Well, that should explain why it does not work,
EVERYTHING I posted here was related to the MODIFIED grub4dos, based on 0.97, besides version, grub4dos has ADDED features.
The download file for grub4dos does include two floppy images:
fat12grldr.img
ext2grldr.img
which are however dated March 9 2006.
Why don't you download LATEST file:
http://grub4dos.jot.com/WikiHome/grub_for_dos-2006-06-30.tar.gz
and try them, BOTH work for me under QEMU.
jaclaz
Posted by: Ed_P Jul 3 2006, 11:12 PM
Ok, I downloaded the file you suggested and extracted the fat12grldr.img file.
When I try the fat12grldr.img in QEMU I get a white on black GRUB menu screen with 3 finds for menu.lst, an enter commandline mode, a reboot and a halt entry.
With the image written to a floppy, I have 3 files on the floppy, a 2KB file named default, grldr and menu.lst, and when I boot it GRUB 0.97 comes up, displays something quickly about Launching GRUB and Gate A20 then displays a GRUB menu screen of black on turquoise with 5 finds (completely different than the ones under QEMU), a commandline, a floppy, a back to dos, a reboot and a halt.
The find and load IO.SYS option boots Windows 98 from the hd not the floppy.
The floppy option appears to simply reboot the floppy.
The back to dos command brings up Error 61: GRUB was not booted from DOS, or the backup copy of DOS at address x20000 is corrupt.
Overall I don't see where this GRUB uses DOS so I don't understand it's name. If it solves cesar_panter's problem it may be of some use.
BTW The GRLDR on the floppy is dated June 18, 2006, and is the same version I use on my hd, version 0.97.
Posted by: jaclaz Jul 4 2006, 11:13 AM
QUOTE
When I try the fat12grldr.img in QEMU I get a white on black GRUB menu screen with 3 finds for menu.lst, an enter commandline mode, a reboot and a halt entry.
Did you load in Qemu ALSO a HD image?
Here it works on Qemu exactly like you describe below.
QUOTE
With the image written to a floppy, I have 3 files on the floppy, a 2KB file named default, grldr and menu.lst, and when I boot it GRUB 0.97 comes up, displays something quickly about Launching GRUB and Gate A20 then displays a GRUB menu screen of black on turquoise with 5 finds (completely different than the ones under QEMU), a commandline, a floppy, a back to dos, a reboot and a halt.
Yep, that is exactly what it is supposed to happen.
QUOTE
The find and load IO.SYS option boots Windows 98 from the hd not the floppy.
Yep, unless you added IO.SYS, MSDOS.SYS and COMMAND.COM on the floppy, it would be strange if it could boot from 'em!

But wasn't it what you were trying to do?
QUOTE
The floppy option appears to simply reboot the floppy.
Yep, that option is made to be able, when Grub/GRLDR is installed on Hard disk, to boot from floppy without changing boot order in BIOS.
QUOTE
The back to dos command brings up Error 61: GRUB was not booted from DOS, or the backup copy of DOS at address x20000 is corrupt.
Yep, that entry is useful only if you used grub.exe to load grub from WITHIN dos.
QUOTE
Overall I don't see where this GRUB uses DOS so I don't understand it's name.
I think that the project started like a "simple" Grub port to dos, with some utility to make us non-advanced linux users feel less frustrated by the original Grub setup procedure; later it was merged with some code by Gandalf (ISOEMU), and the idea of GRLDR started.
Later still, GRLDR was transformed is good-for-all boot solution, GRLDR can be used at the moment:
1) As second stage bootloader invoked by NTLDR
2) As first stage bootloader on hard and floppy disk if invoked by GRLDR.MBR
3) As a no-emulation-mode bootable CD-ROM boot image
Additionally, recently direct booting of NTLDR/SETUPLDR.BIN/CMLDR and IO.SYS has been added, which is mainly what we were trying to achieve.
jaclaz
Posted by: Ed_P Jul 4 2006, 08:18 PM
QUOTE (jaclaz @ Jul 4 2006, 12:13 PM)

Did you load in Qemu ALSO a HD image?

My standard QEMU test has no access to my hd but does have access to a virtual disk.
QUOTE (jaclaz @ Jul 4 2006, 12:13 PM)

Yep, unless you added IO.SYS, MSDOS.SYS and COMMAND.COM on the floppy, it would be strange if it could boot from 'em!

But wasn't it what you were trying to do?
If this is GRUB4DOS one would think DOS would be present somewhere.
QUOTE (jaclaz @ Jul 4 2006, 12:13 PM)

Yep, that option is made to be able, when Grub/GRLDR is installed on Hard disk, to boot from floppy without changing boot order in BIOS.
Sounds useful for a hd install. Unfortunately it was an entry on the floppy image's menu.
QUOTE (jaclaz @ Jul 4 2006, 12:13 PM)

Yep, that entry is useful only if you used grub.exe to load grub from WITHIN dos.
Again, I keep assuming that GRUB4DOS is on the floppy image. That is the name of the download.
QUOTE (Ed_P @ Jul 4 2006, 12:12 AM)
Overall I don't see where this GRUB uses DOS so I don't understand it's name.
And I stand by that statement.
QUOTE (jaclaz @ Jul 4 2006, 12:13 PM)

I think that the project started like a "simple" Grub port to dos, with some utility to make us non-advanced linux users feel less frustrated by the original Grub setup procedure; later it was merged with some code by Gandalf (ISOEMU), and the idea of GRLDR started.
Later still, GRLDR was transformed is good-for-all boot solution, GRLDR can be used at the moment:
1) As second stage bootloader invoked by NTLDR
2) As first stage bootloader on hard and floppy disk if invoked by GRLDR.MBR
3) As a no-emulation-mode bootable CD-ROM boot image
Additionally, recently direct booting of NTLDR/SETUPLDR.BIN/CMLDR and IO.SYS has been added, which is mainly what we were trying to achieve.
jaclaz
From my experience with GRLDR I like it. Maybe GRUB4DOS should be renamed to GRUB LOADER?
Since this floppy image appears to be simply an upgrade to my GRUB 0.95 floppy with it's stage1 and stage2 I may simply add all my menu's to it and use it instead. Does GRLDR provide CD ROM booting when on a hd? The GRUB floppy that I have uses BCDL to boot CDs and it only works if on a floppy.
What is CMLDR?
Posted by: jaclaz Jul 5 2006, 06:45 AM
Yep, Grub4dos is the name of the whole project, that includes a grub.exe file which is run from dos GRLDR is one of the files.
As an example in my (yet to be released) ezGRUB4DOS project, I use GRLDR as a no-emulation image for cdrom booting, from one on the entry in menu.lst I can boot to Win98 dos, residing on a floppy image on the CD, do whatever I need to, then simply issue a command line grub.exe and I am back to menu.lst from where I can boot BartPE on the same CD or a previous operating system on HD.
QUOTE (Ed_P)
If this is GRUB4DOS one would think DOS would be present somewhere.
As said you can add the DOS files to the floppy, they are not redistrebutable in a Open Source project, if you also add grub.exe to the floppy, as said above you will be able to go bact to menu.lst without re-booting.
QUOTE (Ed_P)
I may simply add all my menu's to it and use it instead.
Yep, and it has some more options.
QUOTE (Ed_P)
Does GRLDR provide CD ROM booting when on a hd? The GRUB floppy that I have uses BCDL to boot CDs and it only works if on a floppy.
That is something that will need to be explored.
I haven't done any testing in that direction, but the docs say that at list the "Chinese special Edition" has scdrom included, that it should just be it, maybe in a next release there will be this feature in the English version also and some more docs.
The actual version has support for (cd) in the syntax, but I never tried it, and I a also curious how it would deal with multiple cd-rom drives.
QUOTE (Ed_P)
What is CMLDR?
It is meant to be the loader for "CMDCONS", the Recovery Console.
jaclaz
Posted by: Ed_P Jul 5 2006, 10:03 AM
QUOTE (jaclaz @ Jul 5 2006, 07:45 AM)

As an example in my (yet to be released) ezGRUB4DOS project, I use GRLDR as a no-emulation image for cdrom booting, from one on the entry in menu.lst I can boot to Win98 dos, residing on a floppy image on the CD, do whatever I need to, then simply issue a command line grub.exe and I am back to menu.lst from where I can boot BartPE on the same CD or a previous operating system on HD.
I look forward to reading your project.
What menu commands do you use to boot the Win98 DOS floppy image on the CD?
QUOTE (jaclaz @ Jul 5 2006, 07:45 AM)

I haven't done any testing in that direction, but the docs say that at list the "Chinese special Edition" has scdrom included, that it should just be it, maybe in a next release there will be this feature in the English version also and some more docs.
hmmm this looks promizing.
http://blog.gmane.org/gmane.comp.boot-loaders.grub.bugs/month=20040701
Posted by: jaclaz Jul 5 2006, 11:43 AM
QUOTE
What menu commands do you use to boot the Win98 DOS floppy image on the CD?
The usual ones:
QUOTE
title Win98SE (Win98SE.ima)
# This image has been set to boot using directly the GRUB bootloader
# You might also want to experiment with compressed images and memdisk
# The image is first mapped to memory as first floppy
# then Int13h is hooked
# finally the 1st sector of floppy is chainloaded and booted
map --mem /IMAGES/Win98SE.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Win98SE (Win98SE.ima.gz)
# This image has been set to boot using directly the GRUB bootloader
# This example uses a compressed image (gzipped)
# The image is first mapped to memory as first floppy
# then Int13h is hooked
# finally the 1st sector of floppy is chainloaded and booted
map --mem /IMAGES/Win98SE.ima.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Win98SE (Win98SE.imz) memdisk
# This image has been set to boot using memdisk
# Using memdisk instead of direct GRUB booting
# If the compressed image does not boot through memdisk you can always
# try to uncompress it and use it with direct GRUB booting
kernel /IMAGES/memdisk.gz
initrd /IMAGES/Win98SE.imz
Boot
the
QUOTE
chainloader (fd0)+1
rootnoverify (fd0)
can be probably be substituted by
QUOTE
find --set-root /io.sys
chainloader /io.sys
but I don't see the advantage of it....
Remember that if you use mkisofs with -isolevel 4, you will need QCDROM/SHSUCDX as "normal" MSCDEX.EXE won't be able to access the Cd-rom part otherwise.
jaclaz
Posted by: Ed_P Jul 5 2006, 02:12 PM
So those commands, run from a CD install of GRLDR and read a floppy image that's on the CD. What commands do you have for booting BartPE on the CD?
What I'm looking for is how you're are getting access to the CD. If I was running these commands from the FAT12 GRLDR floppy I just created how would they access files/systems on a CD? I don't have BCDL files on the floppy nor SCDROM. And when I issue a ROOT (<tab> command from the floppy all I get are FD0 HD0 HD1 , no CD0. What does that command return for you from the CD version of GRLDR?
Posted by: jaclaz Jul 6 2006, 06:29 AM
QUOTE
So those commands, run from a CD install of GRLDR and read a floppy image that's on the CD. What commands do you have for booting BartPE on the CD?
Simply
QUOTE
chainloader /peldr
the "proper" way should be
QUOTE
find --set-root /peldr
chainloader /peldr
but as the previous one works, why bother?
With a root ( tab
I get (Qemu with HD, CD and FD enabled, booted from CD):
QUOTE
Possible disks are: fd0 hd0 cd
If I do (for example)
find /ntldr
It returns
QUOTE
(cd)
But if I do a root ( tab in Qemu with HD, CD and FD enabled, booted from the grub4dos FD, I get:
QUOTE
Possible disks are: fd0 hd0

That's why the scdrom is needed, I think.
I will try testing the "special Chinese" edition to see if there is a difference in the above and report.
jaclaz
Posted by: Ed_P Jul 6 2006, 10:18 PM
Well, with neither the GRLDR from the FAT12 image nor the GRLDR from my hd, version 0.97 both, do I have access to CD with root (<tab> on real hardware. And neither supports the bcdf.bin option either, so I guess my floppy GRUB will stick with GRUB version 0.95 and it's CD support.
The two GRLDRs did support the booting of IO.SYS, and my hd version doesn't have the A20 Gate debug msgs, so even though they indicate they are vs 0.97 they are different.
Posted by: freelancer Jul 10 2006, 10:10 AM
Sorry for the late reply, I haven't worked on this (booting to DOS from NTLDR/GRUB) for a while.
@jaclaz: Both your solutions worked, thanks!
I did use the wrong syntax with bootpart, although that's not my fault (the internal help gave me the wrong syntax).
Posted by: jaclaz Jul 14 2006, 11:25 AM
Newish version of grub4dos, supports cdrom --init command:
QUOTE
******************************************************************************
*** The New `cdrom' Command Syntax ***
******************************************************************************
1. Initialize the ATAPI CDROM devices:
grub> cdrom --init
2. Add IO ports for searching the atapi cdrom devices. For example:
grub> cdrom --add_io_ports=0x03F601F0
After running `cdrom --init', the cdroms can be accessed through devices (cd0),
(cd1), ...
QUOTE
2006-07-10
Imported ATAPI CDROM driver from Smart Boot Manager.
Dropped the previous implementation of SCDROM/BIOSCDROM.
jaclaz
Posted by: Ed_P Jul 15 2006, 11:19 AM
Is it a beta? The file, grub_for_dos-0.4.1.zip. at http://grub4dos.freespaces.com/ looks to be the same thing I tried before with file dates of 12/2005 or earlier.
I've also been to http://grub4dos.sourceforge.net/ and http://www.gnu.org/software/grub/ .
If the file you mention flashes msgs about the A20 gate it's probably the same as what I tried.
Posted by: Ed_P Jul 16 2006, 03:31 PM
QUOTE (jaclaz @ Jul 15 2006, 01:25 PM)

Latest release (with the said cdrom init added feature ) is here:
http://grub4dos.jot.com/WikiHome/grub_for_dos-2006-07-11.zip
I guess it can be called 0.4.2pre6.R3
jaclaz
Results of using this version on real hardware:
CODE
Launching GRUB...
About to reset the boot drive. Report bug if machine hangs here.
Return from int13/AH=0. The reset of the boot drive is OK.
About to enable gate A20. Report bug if machine hangs here.
Gate A20 is turned on successfully.
CD-ROM setup is OK.
color black/cyan yellow/cyan
timeout 30
default /default
grub> root (<tab>
Possible disks are: fd0 hd0 rd
<- Note : No CDx ->
find and load CMLDR of Windows NT/2K/XP
Booting 'find and load IO.SYS of Windows 9x/Me'
fallback 2
find --set-root /cmldr
Error 17: File not found
Booting 'find and load IO.SYS of Windows 9x/Me'
fallback 3
find --set-root /io.sys
(hd0,1)
Filesystem type is ntfs, partition type 0x7
chainloader /io.sys
Error 14: Invalid or unsupported format
Booting <- etc ->
grub> cdrom --init
Number of CD-ROMs found: 1
grub> root (<tab>
Possible disks are: fd0 hd0 rd
grub> cdrom --add_io_ports=0x03F601F0
Error 32: Invalid argument
grub> cdrom --add_io_ports=<tab>
Error 12: Unrecognized device string
Posted by: jaclaz Jul 16 2006, 04:56 PM
Newish:
http://grub4dos.jot.com/WikiHome/grub_for_dos-2006-07-16.zip
It seems like previous readme.txt has been corrected, together with the new build
QUOTE
******************************************************************************
*** The New `cdrom' Command Syntax ***
******************************************************************************
1. Initialize the ATAPI CDROM devices:
grub> cdrom --init
This will display the number of atapi cdroms found: atapi_dev_count
2. Stop the ATAPI CDROM devices:
grub> cdrom --stop
This will set atapi_dev_count to 0.
3. Add IO ports for searching the atapi cdrom devices. For example:
grub> cdrom --add_io_ports=0x03F601F0
After running `cdrom --init' and `map --hook', the cdroms can be accessed
through devices (cd0), (cd1), ...
Try with
QUOTE
cdrom --init
map --hook
The above does list "cd0" in Qemu, but in Qemu also "cd" is listed anyhow before doing the above.
jaclaz
Posted by: Ed_P Jul 16 2006, 06:31 PM
QUOTE (jaclaz @ Jul 16 2006, 05:56 PM)

Try with
QUOTE
cdrom --init
map --hook
The above does list "cd0" in Qemu, but in Qemu also "cd" is listed anyhow before doing the above.
jaclaz
And on a real machine I got:
CODE
grub> cdrom --init
Number of CD-ROMs found: 1
grub> map --hook
Error 43: Refuse to hook int13 because of empty drive map table.
And root (
<tab> still only shows fd0 hd0 rd .
In spite of root showing the rd device, selecting the
find and load CMLDR of Windows NT/2K/XP menu option still results in
CODE
find --set-root /cmldr
Error 17: File not found.
Note the fat12grldr.img in this zip file is dated 7/11/2006 the same as in the previous zip file.
Posted by: jaclaz Jul 16 2006, 06:46 PM
QUOTE
Note the fat12grldr.img in this zip file is dated 7/11/2006 the same as in the previous zip file.
Yep, but the grldr inside the image is 16/07/2006 allright, I wonder what Tinybit uses to write images...
It's quite strange that it works for me in Qemu, and not on real hardware, usually is the other way round.
Can you try it in Qemu?
I just tried booting a cd with recovery console in it with
QUOTE
find --set-root /I386/SETUPLDR.BIN
chainloader /I386/SETUPLDR.BIN
boot
and it worked allright.
jaclaz
Posted by: Ed_P Jul 16 2006, 09:23 PM
QUOTE (jaclaz @ Jul 16 2006, 07:46 PM)

Yep, but the grldr inside the image is 16/07/2006 allright
It's the 16/07/2006 date but a slightly different time stamp.
However, when I created a floppy from the fat12grldr.img file in the zip then copied the grldr file in the zip, which has the same date, to the floppy the
map -- hook command works. A following
root (<tab> command returns fd0 hd0 rd cd0 .
However, with a BartPE CD in the CD drive a GRUB
find (cd0)/WIN51IC returned only (hd0,1) and (fd0), the latter of which I'm reasonably certain doesn't contain the file.
QUOTE (jaclaz @ Jul 16 2006, 07:46 PM)

I just tried booting a cd with recovery console in it with
and it worked allright.
Try it with the floppy's
find and load CMLDR of Windows NT/2K/XP menu option.
UpdateI tried
chainloader (cd0)/I386/SETUPLDR.BIN and
boot and BartPE came up so this does work.
Posted by: jaclaz Jul 17 2006, 04:17 AM
QUOTE (Ed_P)
I tried chainloader (cd0)/I386/SETUPLDR.BIN and boot and BartPE came up so this does work.
Good!
Now, the next problem is to find a way of loading a CD with an El-Torito Floppy disk image as boot image...
....off we go with trial and error....
jaclaz
Posted by: Ed_P Jul 17 2006, 07:41 AM
QUOTE (jaclaz @ Jul 17 2006, 05:17 AM)

Now, the next problem is to find a way of loading a CD with an El-Torito Floppy disk image as boot image...
BTW Since this has happened twice now I should note that the floppy appears to be unstable.
I use RAWrite to copy the FAT12 image to the floppy.
I drag & drop the grldr file from the zip to the floppy.
I put the floppy in a test machine and boot it.
I try some things from the menu and from command mode.
I put the floppy back in the original machine to change it, ie add additional lst files or tweaked the lst file on it.
XP comes back with the floppy needs to be formated.
I suspect grldr's writing to the default file is causing the problem but that's just a guess. There could be several different reasons.
Posted by: jaclaz Aug 6 2006, 10:44 PM
Update to GRUB4DOS posted here
http://www.911cd.net/forums//index.php?showtopic=18031
jaclaz
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)