Jump to content

SOLVED - mkisofs bug/question - What can cause file not found in this


delicatepc

Recommended Posts

SOLVED!! - See cdbob post in thread for explanation and workarounds. Issue was with design assumption in chain.c32

Original Post

Using syslinux/isolinux 3.82 to chainload windows BOOTMGR. On USB this works fine.

Create ISO with this command where %a2% is c:\file.iso:

""mkisofs.exe" -iso-level 4 -l -R -J -joliet-long -D -V %VOLUME_ID% -o "%a2%" -b "BOOT/isolinux/isolinux.bin" -c "BOOT/isolinux/boot.catalog" -hide "BOOT/isolinux/boot.catalog" -hide-joliet "BOOT/isolinux/boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table ."

attached is image of root of files (based off ubcd). Notice caps BOOT folder, BOOTMGR, BCD.

When I boot the iso that I created I get error (it successfully chainloads BOOTMGR):

File: \Boot\BCD (notice the Boot not BOOT?)

An error occurred while attempting to read the boot configuration data.

attached image of error.

Any one had an idea? It seems to me i am just missing a very basic case sensitive item as I know this configuration works fine on USB.

any help/ideas appreciated.

thank you,

dpc

post-247841-1246556959_thumb.jpg

post-247841-1246556975_thumb.jpg

Edited by delicatepc
Link to comment
Share on other sites


File: \Boot\BCD (notice the Boot not BOOT?)

Well, all used files system or exension ignores case.

-iso-level 4 : allows lower and upper case, Boot is a valid name

-R : allows lower and upper case, Boot is a valid name

-J -joliet-long : allows lower and upper case, Boot is a valid name

Uppercase required folders and files at hard disk first. Run given command next.

Or use -force-uppercase at some versions.

Link to comment
Share on other sites

  • 3 weeks later...

I have been trying to get this to work for a while now and so far nothing I seem to be doing can get it to work properly. On USB it works great but as soon as I get it into ISO format the BOOTMGR cannot find the BCD file it seems.

Can anyone give me a hand? Alternatively is there another place I could ask?

thanks,

dpc

Link to comment
Share on other sites

Which files exist at hard disk?

Can you run: dir BOOT /s /b

Does exist files:

BOOT\BCD

BOOT\BOOT.SDI

BOOT\BOOTFIX.BIN

Case is importand.

Which bootmgr do you use?

Do you use Vista, SP1, SP2, WAIK, Windows 7

Which BCD do you use?

Do you use a default file? Do you use a edited file?

Which bootmgr entry do you use at isolinux.cfg?

Post your bootmgr isolinux.cfg entry.

Which ISO file size do you get? Do you get a file greater 4GB ?

Which mkisofs -version do you use?

Cross checked myself:

mkisofs.exe -iso-level 4 -l -R -J -joliet-long -D -V VOLUME_ID -o ..\o.iso -b "BOOT/isolinux/isolinux.bin" -c "BOOT/isolinux/boot.catalog" -hide "BOOT/isolinux/boot.catalog" -hide-joliet "BOOT/isolinux/boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points /BOOT/etfsboot.bin=BOOT/etfsboot.com .

Bootmgr does find BCD, PE does boot.

or

mkisofs.exe -iso-level 4 -r -joliet-long -D -V VOLUME_ID -o ..\o.iso -b "BOOT/isolinux/isolinux.bin" -hide "boot.catalog" -hide-joliet "boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points /BOOT/etfsboot.bin=BOOT/etfsboot.com .

Link to comment
Share on other sites

I downloaded UBCD 5.0b12 and updated the syslinux/isolinux files from syslinux 3.82.

I am using Sun Virtual Box to test these ISOs.

Which files exist at hard disk?

Can you run: dir BOOT /s /b

C:\ubcd-stripped\BOOT\BCD

C:\ubcd-stripped\BOOT\BOOT.SDI

C:\ubcd-stripped\BOOT\BOOTFIX.BIN

C:\ubcd-stripped\BOOT\etfsboot.com

C:\ubcd-stripped\BOOT\isolinux

C:\ubcd-stripped\BOOT\syslinux

C:\ubcd-stripped\BOOT\isolinux\isolinux.bin

C:\ubcd-stripped\BOOT\isolinux\isolinux.cfg

C:\ubcd-stripped\BOOT\syslinux\chain.c32

C:\ubcd-stripped\BOOT\syslinux\ldlinux.sys

C:\ubcd-stripped\BOOT\syslinux\memdisk

C:\ubcd-stripped\BOOT\syslinux\menu.c32

C:\ubcd-stripped\BOOT\syslinux\reboot.c32

C:\ubcd-stripped\BOOT\syslinux\syslinux.cfg

C:\ubcd-stripped\BOOT\syslinux\vesamenu.c32

Does exist files:

BOOT\BCD

BOOT\BOOT.SDI

BOOT\BOOTFIX.BIN

Case is importand.

Yes see above.
Which bootmgr do you use?

Do you use Vista, SP1, SP2, WAIK, Windows 7

Which BCD do you use?

Do you use a default file? Do you use a edited file?

I downloaded the Vista Recovery Environment ISO from here: http://neosmart.net/blog/2008/windows-vist...-disc-download/

I downloaded the 32bit edition, extracted with 7zip and properly renamed the files and folders to all caps (see above).

I confirmed that the plain ISO boots to Vista Recovery environment.

BCD file is default one from this ISO and not modified.

etfsboot.com was not included on this iso so I downloaded it from here: http://www.mydigitallife.info/wp-content/u...01/etfsboot.com

Which bootmgr entry do you use at isolinux.cfg?

Post your bootmgr isolinux.cfg entry.

isolinux.cfg entry

DEFAULT main

LABEL main
KERNEL /boot/syslinux/menu.c32
APPEND /ubcd/menus/syslinux/main.cfg

and then ubcd/menus/syslinux/main.cfg looks like this:

MENU INCLUDE /ubcd/menus/syslinux/defaults.cfg
DEFAULT /boot/syslinux/menu.c32
PROMPT 0

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

MENU SEPARATOR

LABEL -
MENU LABEL Boot next device
TEXT HELP
Boot next device in the boot sequence. Supporting BIOS required. May not work
with all systems.
ENDTEXT
LOCALBOOT -1

LABEL -
MENU LABEL Reboot
TEXT HELP
Reboot the PC
ENDTEXT
KERNEL /boot/syslinux/reboot.c32
APPEND -

MENU SEPARATOR

Which ISO file size do you get? Do you get a file greater 4GB ?

Which mkisofs -version do you use?

ISO size is 385mb with ubcd and the Vista Recovery environment. With the ubcd files and BOOT.WIM stripped out its 5MB.

I am using the one included with UBCD 5.0b12 = mkisofs 2.01-bootcd.ru (i386-pc-mingw32)

Cross checked myself:
mkisofs.exe -iso-level 4 -l -R -J -joliet-long -D -V VOLUME_ID -o ..\o.iso -b "BOOT/isolinux/isolinux.bin" -c "BOOT/isolinux/boot.catalog" -hide "BOOT/isolinux/boot.catalog" -hide-joliet "BOOT/isolinux/boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points /BOOT/etfsboot.bin=BOOT/etfsboot.com .

Bootmgr does find BCD, PE does boot.

or

mkisofs.exe -iso-level 4 -r -joliet-long -D -V VOLUME_ID -o ..\o.iso -b "BOOT/isolinux/isolinux.bin" -hide "boot.catalog" -hide-joliet "boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points /BOOT/etfsboot.bin=BOOT/etfsboot.com .

I tried both the those mkisfofs lines and the result is still the same (File: \Boot\BCD Status: 0xc000000e Info: An error occurred while attempting to read the boot configuration data.)

The way I create the iso is run administrator command prompt, CD c:\ubcd-stripped\ubcd\tools\win32\ubcd2iso\, and then run either ubcd2iso or ubcd2iso1 or ubcd2iso2.

the script variables are: (script) (ubcdfileslocation eg. c:\ubcd-stripped) (location/name of what i want the ISO to be eg. c:\ubcd-stripped.iso)

ubcd2iso = original build script from ubcd 5.0b12

ubcd2iso1 = modified mkisofs line to look like first one in quote:

"%~p0\mkisofs.exe" -iso-level 4 -l -R -J -joliet-long -D -V %VOLUME_ID% -o "%a2%" -b "BOOT/isolinux/isolinux.bin" -c "BOOT/isolinux/boot.catalog" -hide "BOOT/isolinux/boot.catalog" -hide-joliet "BOOT/isolinux/boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points /BOOT/etfsboot.bin=BOOT/etfsboot.com .

ubcd2iso2 = modified mkisofs line to look like your second one in quote:

"%~p0\mkisofs.exe" -iso-level 4 -r -joliet-long -D -V %VOLUME_ID% -o "%a2%" -b "BOOT/isolinux/isolinux.bin" -hide "boot.catalog" -hide-joliet "boot.catalog" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points /BOOT/etfsboot.bin=BOOT/etfsboot.com .

Please feel free to download the files I provided in the beginning of the thread. They are the same files I am using.

What do I seem to be missing?

thanks,

dpc

Edited by delicatepc
Link to comment
Share on other sites

LABEL -

MENU LABEL BOOTMGR

COM32 /boot/syslinux/chain.c32

APPEND boot ntldr=/BOOTMGR

Chain.32 does cause current behaviour.

Try the classic approach: boot sector file.

Isolinux support extension .bin. Hence the mkisofs -graft-points

label b
MENU LABEL ^BOOTMGR etfsboot.bin
kernel /BOOT/etfsboot.bin

Back to chain.32:

http://www.boot-land.net/forums/index.php?...ost&p=72127

chain.c32 did always set the boot drive to 0x80 in the DL register when it was started from ISOLINUX, because it was assumed that chainloaded bootsectors are made for hard drives.
Bootmgr dosn't detect a CD anymore. Bootmgr search BCD at a hard disk layout and dosn't find one.

There is a fixed chain.32 abailable at above link. Bootmgr does find BCD at CD.

Link to comment
Share on other sites

It works!!! Thank you!

I am going to use the patched chain.c32 for now and maybe in the future I will switch to the classic approach you mentioned (but I dont want an extra menu item just for when booting ISO). For my USB installs they are using latest chain.c32 from syslinux and the iso uses all the same files except the script replaces the chain.c32 with the patched one for the iso.

Thank you very much,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...