This is a fork from the post Grub4DOS problems with P4P800 (Error 17), specifically about the problem of booting from iso. I am trying to boot the Ubuntu mini.iso, placed on a 4 GB takeMS USB thumb drive, using GRUB4DOS 0.4.3 2008-05-07, and using the folowing lines in menu.lst:
title Start Ubuntu Mini 8.04 from ISO loaded in memory map --mem (hd0,0)/mini.iso (hd32) map --hook chainloader (hd32)
When executing this entry, the system simply reboots and shows the menu.lst again. This happens both on a p4p800 stationary, and an Asus EEE 900.
- I found some references in grub4DOS docs that the image file should be contiguous, so I tested it with contig.exe:
Processing L:\mini.iso: Scanning file... File size: 10053632 bytes L:\mini.iso is in 1 fragment ------------------------ Summary: Number of files processed : 1 Average fragmentation : 1 frags/file
so it looks like its contiguous...
I tried to test and boot the USB thumb drive in QEMU within Windows XP (on a third PC, though), using the following line:
D:\QStart>.\qemu\qemu.exe -L .\qemu\ -hda \\.\PhysicalDrive1 -std-vgaIt boots, and as soon as the above menu.lst commands are executed, qemu fails with:
qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a64a8 EAX=00030010 EBX=00000000 ECX=00000000 EDX=000000ff ESI=00202628 EDI=00004ca4 EBP=00006b9a ESP=00000096 EIP=000090a8 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0840 00008400 ffffffff 00cf9300 CS =9d40 0009d400 0000ffff 00000000 SS =0000 00000000 0000ffff 00009300 DS =9d40 0009d400 ffffffff 00cf9300 FS =0000 00000000 0000ffff 00009300 GS =0000 00000000 0000ffff 00009300 LDT=0000 00000000 0000ffff 00008000 TR =0000 00000000 0000ffff 00008000 GDT= 0009f9f0 00000017 IDT= 00000000 000003ff CR0=600000fa CR2=00000000 CR3=00000000 CR4=00000000 CCS=000000ff CCD=0000007f CCO=SARB FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
Finally, when I try to execute the menu.lst entry commands directly in the command line, with debugging enabled, this is what I am getting:
grub> debug on grub> errorcheck on grub> fstest on grub> blocklist (hd0,0)/mini.iso (hd0,0)4915736+19636 grub> map --mem (hd0,0)/mini.iso (hd32) [16255,0,32][16255,32,32][16255,64,32][16255,96,32][16255,128,32]...[16255,480,32][16256,0,32][16256,32,32]...[16262,320,32][16262,352,32][4915799,0,10] grub> map --hook grub> chainloader (hd32) int13/4B01(A0),err=0,drive=A0, int13/4B01(A0),err=0,drive=A0, Load segment: 0x0 System type: 0x0 Sector Count: 0x4 Load RBA: 0x22 Boot Type: 0 = No Emulation
Again, running 'boot' after this results with just a reboot on a PC, or the error message above if ran from QEMU.
Any ideas on what I could do to troubleshoot this?
Thanks..