Jump to content











Photo
- - - - -

grub4dos and ubcd411.iso problem


  • Please log in to reply
27 replies to this topic

#1 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 23 April 2008 - 01:07 PM

I am using grub4dos 0.4.3 2008-03-14 version. When trying to boot ubcd411.iso from my external USB key with :


title boot UBCD 4.11 (iso)

find --set-root /ubcd411.iso

map  /ubcd411.iso  (hd32)

map  --hook

chainloader  (hd32)

boot


The USB key LED keeps lighting (access), and so does the LED of internal IDE hard disk.
The iso file is not so big (around 100 MB). I am forced finally after few minutes to power off the machine.

Is there an explanation or workaround for this "bug" ?

UBCD (DOS):
http://www.ultimatebootcd.com/

#2 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 24 April 2008 - 06:31 AM

It uses cdshell, right? I think the problem is in cdshell not being run from a CD media, grub4dos emulation seems not sufficient.
Same applies for CDs with BCDW or Isolinux as boot manager, you cannot use grub4dos ISO emulation to boot the CD directly.

A limited and partial workaround could be to map the ISO and launch by grub4dos whichever project you can. This is rather in the name of the experimenting, than a practical solution in this case. Apologies if I am going slightly off-topic.

Here is what just tested and worked:

title boot UBCD 3.4/ntfs4dos

map  (hd0,0)/ubcd34-basic.iso  (hd32)

map  --hook

map (hd32)/IMAGES/NTFS4DOS.IMG (fd0)  #ensure capital letters or not

map --hook

root (fd0)

chainloader +1

This got me working ntfs4dos, which found the real hard drives and NTFS partitions.

Another working one with --mem option in both mappings:

title boot UBCD 3.4/ntfs4dos

map  --mem (hd0,0)/ubcd34-basic.iso  (hd32)

map  --hook

map --mem (hd32)/IMAGES/MAXBLAST.IGZ (fd0)  

map --hook

root (fd0)

chainloader +1

Interesting is what would happen if ISO is build with grub4dos as boot manager. Would it be aware if it's own CD emulation, so we don't have to execute the contents one by one within the emulated CD?

ilko

#3 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 24 April 2008 - 07:13 AM

I find interesting that you can run twice to map --hook command.
Earlier versions did not allow that, maybe it works now for 0.4.3 - latest or only for (hd32)? :lol:
If I recall correctly, doing so used to produce an error like "mapping is already hooked" or something like that, and one had to run "map --unhook" do the mapping and then issue a "map --rehook" :thumbup:

jaclaz

#4 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 24 April 2008 - 07:49 AM

I was suspicious too, that's why decided to do a quick test, using the --mem option too. But it worked from command line :lol:
It also works if either is direct mapping, and the other is with --mem. Using 2008-03-14 version.

ilko

#5 cdob

cdob

    Silver Member

  • Expert
  • 974 posts

Posted 24 April 2008 - 09:16 PM

It uses cdshell, right?

UBCD 3.x used cdshell.
UBCD 4.x uses syslinux project: that's isolinux at CD and syslinux at (USB) disk.

Dosn't grub4dos chainload isolinux already?
But what about syslinux?

A general question: does grub4dos chainload syslinux too?

This failed:
title syslinux loader

find --set-root --ignore-floppies /ldlinux.sys

chainloader --force /ldlinux.sys

boot

@ilko
Nice double mapping, thanks.

#6 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 25 April 2008 - 07:03 AM

Thanks for the info cdob, the last version I've used is 3.4. It's nice to have easy USB support.

I could not chainload syslinux directly. However, mapping a floppy disk image with mini linux on it, which is using syslinux as boot loader did work, that's encouraging.

If syslinux is used for the USB version, then it should be easy either to transfer the menus to grub4dos, or simply to map the image file of UBCD. Going to download latest version now.

ilko

#7 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 25 April 2008 - 08:45 AM

@ilko

Very good, please keep us informed of your findings.

By the way, now I appreciate more and more 2"5 USB HDD for booting instead of USB key.

- No more partitioning limitations under XP, no Hitachi or dummy disk needed
- extended partition gives lot of logical partitions
- it is mucn faster and no read/write cycles limits (no need for ewf/fbwf etc...)
- large capacity available (currently up to 320 GB)
- hard disk could be SATA with external interface USB2 and/or eSATA
- usually single connection USB2 cable (no need for power)
- to handle difficult cases of booting (like INSERT), or multiple copies of KNOPPIX-like when other parameter like KNOPPIX_DIR did not work.
- multiple versions for BartPE/WinPE/XP/VistaPE
- other OSes (Win9x, eCommStation, Mac OS X Leopard)
- etc...


So for the current problem of booting ubcd11, a separate logical FAT32 partition with syslinux bootloader should be the solution (to try).

#8 cdob

cdob

    Silver Member

  • Expert
  • 974 posts

Posted 25 April 2008 - 07:30 PM

To boot grub4dos and chainload syslinux:

apply grub4dos to MBR, use grubinst http://sourceforge.n...group_id=104188
apply syslinux to partition boot sector: syslinux x:

menu.lst
title load partition boot sector

chainloader +1

rootnoverify
MBR boots grub4dos
Grub4dos chainload partition boot sector. This boots syslinux now.

#9 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 25 April 2008 - 08:41 PM

@cdob
Thank you, this works!
Note: on USB HDD instead of USB key, with several partitions, and UBCD files put on logical partition, I got "Boot error" message.

Otherwise, unfortunately after syslinux booting from grub4dos, all the applications hang at --InitDisk-- invalid opcode. I believe this is due to memdisk used to load fdubcd.igz diskette image (FreeDos).

Edit:
A bypass I used a long time ago for this memdisk problem is to only use grub4dos:
- diskette images: use floppy mapping
- applications: by using DOS boot then invoking them (dosapps directory) with DOS utility: powermenu.
So normally all UBCD iso content is covered.

#10 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 25 April 2008 - 10:18 PM

And what happens if you do a
syslinux x:
then copy the bootsector to a file, say mysyslnx.bin, you restore a "normal" NT bootsector, start grldr "normally", through NTLDR/BOOT.INI and make it chainload the bootsector file?
Or if you use just the NTLDR+BOOT.INI to invoke the mysyslnx.bin file?

jaclaz

#11 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 26 April 2008 - 11:40 AM

@jaclaz
I do not experiment with your mentioned way since I had no problem to boot using cdob's method. I can navigate through UBCD menu etc... The only problem (known problem?) is the hang at start after loading memdisk to boot the floppy image. Using grub4dos floppy image emulation is a bypass that works.

#12 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 23 June 2008 - 05:43 AM

Another solution- build UBCD411.ISO with grub4dos as loader. Amend menus to grub4dos ones- in the attached archive is menu.lst for root and folder MENUS, containing all 'converted' menus. Replace MENUS folder, put grldr, grub.exe, memdisk and the downloaded menu.lst in root, delete syslinux, isolinux folders and boot.catalog, and rebuild the ISO:
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -allow-lowercase -o ubcd411.iso d:\ubcd411
This new ISO can be placed on USB stick and chainloaded by ISO emulation.

title UBCD 4.11

find --set-root  /ubcd411.iso

map /ubcd411.iso (hd32)

map --hook

root (hd32)

chainloader (hd32)

I've tested most(not all though) of the tools and they worked.
The only one caused troubled is 'Offline NT Password & Registry Editor', which uses 2 initrd images.
There is a workaround to merge those images:
http://www.911cd.net...o...aded&start=

Or if newer grub4dos releases support multiple initrd, the one I tested-2008-5-14 failed with:
title Offline NT Password & Registry Editor 070409

  kernel /boot/offline rw vga=1 init=/linuxrc 

  initrd /boot/offline.cgz,/boot/scsi.cgz

title Offline NT Password & Registry Editor 070409

kernel /boot/offline rw vga=1 init=/linuxrc 

initrd /boot/offline.cgz /boot/scsi.cgz

title Offline NT Password & Registry Editor 070409

kernel /boot/offline rw vga=1 init=/linuxrc 

initrd /boot/offline.cgz 

initrd /boot/scsi.cgz

Does grub4dos support multiple initrd ? Are multiple initrd actually often used? May be contacting the author of Offline NT Password & Registry Editor to provide a single initrd image is a good idea.

To convert the menus quickly I kept memdisk from syslinux for emulating floppy drives, it should be placed in root, or change location in all menus.

Attached Files

  • Attached File  menus.7z   4.19KB   801 downloads


#13 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 23 June 2008 - 06:59 AM

@ilko

Thank you for your input. Unfortunately I still got the same problem as mentioned in my earlier post:
"The only problem (known problem?) is the hang at start after loading memdisk to boot the floppy image". Otherwise the converted menus (syslinux to grub4dos) are OK.

Did you test all the tools by running them, and not only browsing through the menus ?

#14 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 23 June 2008 - 07:03 AM

Did you test all the tools by running them, and not only browsing through the menus ?

Run most of them, and keep running them. There are hundreds, if not thousands :)
:)

#15 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 23 June 2008 - 07:27 AM

@ilko

OK so it appears that on my system memdisk loading DOS diskette image got problem.
Maybe other users can share their experience.

#16 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 23 June 2008 - 08:01 AM

Don't know how to help with this :)

Another idea, how not to love grub4dos :)

No need to use grldr as loader for the ISO, just insert the grub4dos menus in the ISO, then
title UBCD 4.11

find --set-root  /ubcd411.iso

map /ubcd411.iso (hd32)

map --hook

root (hd32)

configfile /menus/main.cfg

Quickly loaded a few tools, too late night to test further, this may have disadvantages.

#17 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 26 June 2008 - 07:32 PM

I looked at Ilko's hdd1.cfg as sample, and see that there is a solution for me. Since my problem is with memdisk as kernel, I can use the grub4dos floppy emulation that always works for me. So the proposed change is :

Ilko's original hdd1.cfg
color black/cyan yellow/cyan

  title ..

  configfile /menus/hdd.cfg

 # maxblast

  title MaxBlast V5.0 (Maxtor)

   kernel /boot/maxblast /s quiet mbrcrcs=on vga=vesa load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=30000

   initrd /boot/maxblast.dat 

 # diskmgr

  title Disk Manager V9.56a (Seagate)

  kernel /memdisk

  initrd /images/diskmgr.igz

 # discwiz

  title DiscWizard 2003 V10.45.06 (Seagate)

  kernel /memdisk

  initrd /images/discwiz.igz

 # ssdm

  title Disk Manager V10 (Samsung)

  kernel /memdisk

  initrd /images/ssdm.igz


hdd1.cfg modified, use grub4dos floppy emulation, no memdisk required:
color black/cyan yellow/cyan

  title ..

  configfile /menus/hdd.cfg

 # maxblast

  title MaxBlast V5.0 (Maxtor)

   kernel /boot/maxblast /s quiet mbrcrcs=on vga=vesa load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=30000

   initrd /boot/maxblast.dat 

 # diskmgr

  title Disk Manager V9.56a (Seagate)

  find --set-root /images/diskmgr.igz

  map --mem /images/diskmgr.igz (fd0)

  map --hook

  chainloader (fd0)+1

  rootnoverify (fd0)

 # discwiz

  title DiscWizard 2003 V10.45.06 (Seagate)

  find --set-root /images/discwiz.igz

  map --mem /images/discwiz.igz (fd0)

  map --hook

  chainloader (fd0)+1

  rootnoverify (fd0)

 # ssdm

  title Disk Manager V10 (Samsung)

  find --set-root /images/ssdm.igz

  map --mem /images/ssdm.igz (fd0)

  map --hook

  chainloader (fd0)+1

  rootnoverify (fd0)

I have to test this, but it should work (99,9%), to be reported later. I have now to program a tool to automatically convert .cfg files with "kernel /memdisk" syntax to floppy emulation one, otherwise there are a lot of manual changes to be done to those numerous cfg files!

Edit:
Oops finally I start manual change procedure instead of a specified program, but then I run into a difficult case to convert.
How can I have a parameter for kernel in case of floppy emulation ? :-(
# ranish

  title Ranish Partition Manager V2.40

  kernel /memdisk  ubcdcmd=ranish

  initrd /images/dosubcd.igz

I guess using floppy emulation without the parameter should work, but then probably there is no way to return back to the menu after running the utility.

#18 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 26 June 2008 - 08:50 PM

I also wondered what this kernel parameter does. Going to ask in ubcd forum.
http://www.ultimateb...opic.php?t=1399

#19 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 17 August 2008 - 08:48 PM

Does grub4dos support multiple initrd ? Are multiple initrd actually often used? May be contacting the author of Offline NT Password & Registry Editor to provide a single initrd image is a good idea.


Not yet apparently, but tinybit mentioned a bypass by unpack/repack the files into a single ramdisk file:
http://www.boot-land...?showtopic=5433

#20 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 19 August 2008 - 05:12 PM

Not yet apparently, but tinybit mentioned a bypass by unpack/repack the files into a single ramdisk file:
http://www.boot-land...?showtopic=5433


Just for the record, I solved the problem of repacking the Offline Nt Password under Windows some time ago:
http://www.911cd.net...showtopic=19643
and Drake Sorcerer updated/bettered it.

jaclaz

#21 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1,050 posts
  •  
    Belgium

Posted 07 September 2008 - 09:29 AM

I looked at Ilko's hdd1.cfg as sample, and see that there is a solution for me. Since my problem is with memdisk as kernel, I can use the grub4dos floppy emulation that always works for me.

Have you updated memdisk to the last version?
Look for it in the last syslinux archive: http://syslinux.zyto...ex.php/Download

You can also try UBCD50v5beta which has already the last memdisk included:
http://www.ultimateb...opic.php?t=1550

#22 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 07 September 2008 - 10:18 AM

@Icecube
Thank you for the suggestions. I tried the latest memdisk 3.71 2008-07-31 but it still failed (hang after loading the diskette boot sector).

#23 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1,050 posts
  •  
    Belgium

Posted 07 September 2008 - 10:05 PM

Do you also have the memdisk problem, when you burn the original UBCD iso to a CD (isolinux) or when you put UBCD on a USB thumb drive with syslinux? If so, you better report the problem to the syslinux mailinglist. Mention all you hardware details (RAM, BIOS, ...) and that floppy emulation works with grub4dos.

Oops finally I start manual change procedure instead of a specified program, but then I run into a difficult case to convert.
How can I have a parameter for kernel in case of floppy emulation ? :-(
CODE
# ranish
title Ranish Partition Manager V2.40
kernel /memdisk ubcdcmd=ranish
initrd /images/dosubcd.igz

Download the new UBCD50b5. It has now a menu inside the freedos image (dosubcd.igz), so when you type menu at the command prompt you get a menu with all the programs that can be run from within freedos.
Info about the Freedos image of UBCD

If you want that you can launch the freedos image with the selected program directly, with the help of the ubcdcmd=ranish parameter, grub4dos needs a change.

The freedos image (dosubcd.igz) gets this parameter from memdisk by the program getargs.com inside this freedos image. The getargs.com program reads the parameters that are passed to memdisk from the memory of memdisk. See: http://people.cs.uch.../downloads.html for the source code.

If you want that you can use grub4dos floppy emulation for booting dosubcd.igz with a command line parameter, you have to write (or ask bean or tinybit) a similar dos program for grub4dos, which is able to read out the command line parameters which are passed to the kernel command line.

If you we have such a program, I will let it incorporate in the freedos image.

#24 ktp

ktp

    Silver Member

  • Advanced user
  • 727 posts

Posted 08 September 2008 - 03:05 AM

Do you also have the memdisk problem, when you burn the original UBCD iso to a CD (isolinux) or when you put UBCD on a USB thumb drive with syslinux? If so, you better report the problem to the syslinux mailinglist. Mention all you hardware details (RAM, BIOS, ...) and that floppy emulation works with grub4dos.

I had the problem only using memdisk/grub4dos combination, no problem so far with memdisk/syslinux one.

If you want that you can use grub4dos floppy emulation for booting dosubcd.igz with a command line parameter, you have to write (or ask bean or tinybit) a similar dos program for grub4dos, which is able to read out the command line parameters which are passed to the kernel command line.

Hope that bean/tinybit could take into account this feature for grub4dos.

#25 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1,050 posts
  •  
    Belgium

Posted 08 September 2008 - 05:24 PM

I had the problem only using memdisk/grub4dos combination, no problem so far with memdisk/syslinux one.

Do you have the last grub4dos version? It must be a grub4dos bug if memdisk works with syslinux. It is strange that the combination, grub4dos / memdisk works for others. Report the problem to grub4dos.

Hope that bean/tinybit could take into account this feature for grub4dos.

Ask them, I would say :huh: .




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users