Jump to content

Acronis ISO Boot on UEFI PC


zamarac

Recommended Posts

On a BIOS PC, most folks use Grub4DOS to boot ISO images. But how to boot them on UEFI PC, especially without Legacy CSM Mode, since Grub4DOS doesn't support UEFI? Taking a popular Acronis True Image Home (ATIH2014) ISO as an example (either Linux or WinPE 5.0 based, or better BOTH), can someone explain, how to boot an ISO on UEFI Windows 8.1 PC?

 

I found one example of booting seemingly WinPE-based UEFI ATIH2014 (release unknown) by Grub2. That didn't work for me - couldn't find dat8.dat and dat9.dat files in Boot.bif image extracted by UltraISO from the mounted ATIH2014 ISO boot sector. I couldn't also mount any *.img files from Floppy Image written on the ISO's CD track due to unknown *.img filesystem. 

 

Its unclear, why boot images extracted by ISOBuster were different from those extracted by UltraISO from the same ISO?  As well, how an average user can derive similar grub.cfg menu section - based on what miracle vision? Any background explanation or more generalized logical approach would be handy...   :whistle:

 

Also, how GOP-only HW support plays into this?  :angel

Edited by zamarac
Link to comment
Share on other sites


On a BIOS PC, most folks use Grub4DOS to boot ISO images.

This combination can emulate a virtual CD drive and boot the El Torito routine. This works, as long following boot routines uses BIOS routines too.

 

But how to boot them on UEFI PC

There is no similiar approach, no virtual CD drive.

There is no El Torito boot routine: hence booting from a ISO file is impossible so far.

Yes, there are work arounds, e.g. loopback the ISO at grub2 and read files from the loopback drive.

This works up to a certain leveal and may fail at other.

 

I found one example of booting seemingly WinPE-based UEFI ATIH2014 (release unknown) by Grub2.

The example was posted at section "Boot Linux and other OS flavours".

Maybe this relate to a Linux based Acronis, not to a WinPE-based.

 

 

I don't know a UEFI ISO file WinPE soluiton.

Link to comment
Share on other sites

Maybe this relate to a Linux based Acronis, not to a WinPE-based.

 

Sorry, I missed that, now need to re-test.   :unsure:  The error I got using your grub.cfg menu was "no dat.8.dat", but initially I tested ATIH2015_Linux.ISO. Do you know what was the release version of ATIH2014 you were using? How did you arive to that menu sequence?

 

What's the filesystem of Acronis.img and BootImage.img files from Bootable Disk floppy extracted by ISOBuster? Also, what program can open this particular BootCatalog.cat from the Floppy?

 

How to open ATIH2014_WinPE.bif bootsector extracted from the ISO mounted by UltraISO? Hopefully, the secret of booting this ISO is in content of these files.   :)

Edited by zamarac
Link to comment
Share on other sites

zamarac, in the original post by cdob:

http://reboot.pro/topic/20004-boot-a-acronis-true-image-2014-iso-image-with-grub2-at-uefi/

 

there is NO "extraction" of anything, a loopback device is "hooked" to a sectors extent.

The extent is determined by the LBA addresses in the .iso that Isobuster should show.

Maybe the .iso you have has different location (or extents).

 

And of course, if your version is Windows PE based it will be completely different.

 

You normally don't want to actually "know" what is inside (or access) the bootcatalog, but if you really-really want to, this (seemingly unrelated) thread might be of interest to you:

http://reboot.pro/topic/12406-editing-iso-files/

usually (but not always) the bootcatalog is on LBA 32, just before the boot image, you can dump it and have a look at it's contents with a hex editor/viewer easily:

http://will.tip.dhappy.org/projects/unsorted/xp_cds/eltorito_extraction.html

http://wiki.osdev.org/El-Torito

 

If it is WinPE based, it is possible that it has been "burned" with just the "bios" provisions and not with the "UEFI" ones, see this (also seemingly unrelated) thread:

http://www.msfn.org/board/topic/172122-got-tips-on-how-to-make-a-bootable-cd-from-bootable-usb/

 

 

Can you post the output of a DIR /S command listing the contents of the .iso?

 

jaclaz

Link to comment
Share on other sites

cdob

 

The Acronis CD boot uses a El Torito floppy image
  free displays the layout

Example: Boot image start at LBA 76543 (4*76543 = 306172)
The ElTorito image size is not defined:
The next file LBA 145678.
Image size = 4 * (145678-76543) = 276540
 
Example grub.cfg, adjust LBA numbers yourself
 
 
menuentry "Acronis True Image Home 2014 ISO ElTorito" {
set quiet=1
set gfxpayload=1024x768x32,1024x768
set mbrcrcs=on
set isofile="/images/ATIH2014.iso"
search --set -f $isofile
loopback loop $isofile
echo mount the El Torito floppy image
loopback ElTorito (loop)306172+276540
#ls (ElTorito)/efi/boot/
linux (ElTorito)/efi/boot/dat9.dat quiet
initrd (ElTorito)/efi/boot/dat8.dat
boot
}
 

Now I retested ATIH2014_R6688_Linux.ISO, and it does boot via Grub2 in UEFI mode and work PERFECT using your adjusted menu:

menuentry "Acronis True Image Home 2014 ISO ElTorito" {set quiet=1set gfxpayload=1024x768x32,1024x768set mbrcrcs=onset isofile="/ISO/ATIH2014.iso"search --set -f $isofileloopback loop $isofileecho mount the El Torito floppy imageloopback ElTorito (loop)582684+304124#ls (ElTorito)/efi/boot/linux (ElTorito)/efi/boot/dat9.dat quietinitrd (ElTorito)/efi/boot/dat8.datboot}

Its possible that actual LBA numbers may vary depending on Acronis release and what PC the ISO was generated on, since it might include some info related to that PC: drivers etc.

 

erykqw.jpg

 

 

2rohpnn.jpg

 

 

jaclaz

 

A few minutes pls. I did the files extraction manually, since I wanted to come up with an idea, how to derive similar grub.cfg menu section for the next Acronis ISO release.

Edited by zamarac
Link to comment
Share on other sites

Good. :)

Then it is the Linux based version. :yes:

 

Possibly you can use a method similar to the one used in the mentioned thread:

http://reboot.pro/topic/12406-editing-iso-files/

making use of isoinfo to automatically (by batch) find which LBA extents that need to be hooked specifically to the (ElTorito) device (or reading these data directly from the bootcatalog).

 

I have never used it, but there is (for Linux) a "dumpet" tool:

http://dev.man-online.org/man1/dumpet/

that may be useful :unsure:

 

jaclaz

Link to comment
Share on other sites

jaclaz

 

Here's the content of Boot.bif bootable image as extracted from a mounted ATIH2014_Linux.ISO by UltraISO, then opened in UltraISO and extracted as folder:

08/30/2014 10:13 AM <DIR> .08/30/2014 10:13 AM <DIR> ..08/23/2014 01:30 PM 32,006 BOOTMENU.EXE08/23/2014 01:30 PM 1,103 BOOTMENU.XML08/23/2014 01:30 PM 284 BOOTWIZ.CFG08/23/2014 01:30 PM 24,576 BOOTWIZ.SYS08/23/2014 01:30 PM 14,563 C1.PNG08/23/2014 01:30 PM 15,690 C2.PNG08/23/2014 01:30 PM 4,917,695 CPP.SO08/23/2014 01:30 PM 65,502,154 DAT2.DAT08/23/2014 01:30 PM 2,304,384 DAT3.DAT08/23/2014 01:30 PM 65,501,965 DAT4.DAT08/23/2014 01:30 PM 2,304,384 DAT5.DAT08/23/2014 01:30 PM 2,803,392 FOX.SO08/23/2014 01:30 PM 1,458,385 GRAPHAPI.SO08/23/2014 01:30 PM 1,989,936 ICU38.SO08/23/2014 01:30 PM 1,740,048 ICUDT38.SO08/23/2014 01:30 PM 397,108 LIBC.SO08/23/2014 01:30 PM 355,246 LIBGCC_S.SO08/23/2014 01:30 PM 12,665 MENULOGO.PNG08/23/2014 01:30 PM 4,850 MOUSE.COM08/23/2014 01:30 PM 102,928 OSFILES.SO08/23/2014 01:30 PM 175,956 RESOURCE.SO08/23/2014 01:30 PM 67,819 SPL1.EXE08/23/2014 01:30 PM 67,819 SPL3.EXE08/23/2014 01:30 PM 108,580 THREADS.SO08/23/2014 01:30 PM 2,111,429 TI_BOOT.SO25 File(s) 152,014,965 bytes2 Dir(s) 19,857,887,232 bytes free

It doesn't seem to contain dat8.dat and dat9.dat files, which makes me wonder, where these files are? And once its determined, the next question would be: HOW one can derive grub.cfg section that would suddenly boot this particular ISO in Grub2?

Edited by zamarac
Link to comment
Share on other sites

Can you post the output of a DIR /S command listing the contents of the .iso?

 

As re-tested, the same approach suggested by cdob works well for ATIH2015_Linux.ISO booting by Grub2 in UEFI mode. I found links on the web for ATIH2014_Linux.ISOATIH2015_Linux.ISOATIH2015_WinPE5.iso made as advertised from 30-day trial installs someone uploaded for testing. Similar trial ISOs might be available from Acronis site directly. The ISOs may have some limitations, but still useful for boot testing and analysis only.

 

I still wonder how to derive similar Grub2 menu for ATIH2014_WinPE5.ISO booting in UEFI mode? To download the ISOs, deselect "Use Download Manager" down the linked webpage, then click on the file NAME, close any pages if open (no need to click any links inside).

Edited by zamarac
Link to comment
Share on other sites

Well, how did you derive these two values?:

ElTorito (loop)582684+304124

 

 

Example: Boot image start at LBA 76543 (4*76543 = 306172)

The ElTorito image size is not defined:

The next file LBA 145678.

Image size = 4 * (145678-76543) = 276540

Bootimage.img LBA (as seen in IsoBuster) 145671 *4 = 582684 (here you are simply transforming the address expressed in 2048 bytes/sectors - standard for .iso and CD/DVD media - into 512/bytes sectors - used in floppy and hard disk like devices)

Lowest next LBA is 221702, hence 221702-145671= 76031 and 76031*4=304124

If the isoinfo tool works on that image, it is pretty easy to parse it's output to get those numbers, do th esimple calculations and output a "custom made" GRUB2 grub.cfg entry.

Can you try getting isoinfo (part of the CDR tools):

http://www.student.tugraz.at/thomas.plank/

and run the command

isoinfo -d -i isoimage.iso

An example output would be something like:

Setting input-charset to 'UTF-8' from locale.

CD-ROM is in ISO 9660 format

System id: LINUX

Volume id: Core

Volume set id:

Publisher id:

Data preparer id:

Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREA

TOR © 1993 E.YOUNGDALE © 1997 J.PEARSON/J.SCHILLING

Copyright File id:

Abstract File id:

Bibliographic File id:

Volume set size is: 1

Volume set sequence number is: 1

Logical block size is: 2048

Volume size is: 4046

El Torito VD version 1 found, boot catalog is in sector 36

Joliet with UCS level 3 found.

SUSP signatures version 1 found

Rock Ridge signatures version 1 found

Rock Ridge id 'RRIP_1991A'

Eltorito validation header:

Hid 1

Arch 0 (x86)

ID ''

Cksum AA 55 OK

Key 55 AA

Eltorito defaultboot header:

Bootid 88 (bootable)

Boot media 0 (No Emulation Boot)

Load segment 0

Sys type 0

Nsect 4

Bootoff 25 37

The 37 above is the LBA address of the (only) Boot image in my .iso, if the isoinfo works on your image you might have two entries, one pointing to LBA 29 and one pointing to LBA 145671 (corresponding to your first isobuster screenshot)

As well, if you run:

isoinfo -l -i isoimage.iso

you will have an output *like*:

Setting input-charset to 'UTF-8' from locale.

Directory listing of /

d--------- 0 0 0 2048 Apr 2 2008 [ 29 02] .

d--------- 0 0 0 2048 Jan 20 2013 [ 29 02] ..

d--------- 0 0 0 2048 Jan 20 2013 [ 30 02] BOOT

Directory listing of /BOOT/

d--------- 0 0 0 2048 Jan 20 2013 [ 30 02] .

d--------- 0 0 0 2048 Apr 2 2008 [ 29 02] ..

---------- 0 0 0 5385057 Jan 20 2013 [ 44 00] CORE.GZ;1

d--------- 0 0 0 2048 Aug 20 2011 [ 31 02] ISOLINUX

---------- 0 0 0 2491968 Feb 21 2012 [ 2674 00] VMLINUZ.;1

Directory listing of /BOOT/ISOLINUX/

d--------- 0 0 0 2048 Aug 20 2011 [ 31 02] .

d--------- 0 0 0 2048 Jan 20 2013 [ 30 02] ..

---------- 0 0 0 2048 Jan 20 2013 [ 36 00] BOOT.CAT;1

---------- 0 0 0 221 Jun 4 2011 [ 3891 00] BOOT.MSG;1

---------- 0 0 0 870 Apr 11 2012 [ 3892 00] F2.;1

---------- 0 0 0 1059 Apr 11 2012 [ 3893 00] F3.;1

---------- 0 0 0 929 Aug 15 2011 [ 3894 00] F4.;1

---------- 0 0 0 14336 Jan 20 2013 [ 37 00] ISOLINUX.BIN;1

---------- 0 0 0 249 Aug 25 2012 [ 3895 00] ISOLINUX.CFG;1

D:\mycdtools>isoinfo -l -i myniceCD.iso

Setting input-charset to 'UTF-8' from locale.

Directory listing of /

d--------- 0 0 0 2048 Apr 2 2008 [ 29 02] .

d--------- 0 0 0 2048 Jan 20 2013 [ 29 02] ..

d--------- 0 0 0 2048 Jan 20 2013 [ 30 02] BOOT

Directory listing of /BOOT/

d--------- 0 0 0 2048 Jan 20 2013 [ 30 02] .

d--------- 0 0 0 2048 Apr 2 2008 [ 29 02] ..

---------- 0 0 0 5385057 Jan 20 2013 [ 44 00] CORE.GZ;1

d--------- 0 0 0 2048 Aug 20 2011 [ 31 02] ISOLINUX

---------- 0 0 0 2491968 Feb 21 2012 [ 2674 00] VMLINUZ.;1

Directory listing of /BOOT/ISOLINUX/

d--------- 0 0 0 2048 Aug 20 2011 [ 31 02] .

d--------- 0 0 0 2048 Jan 20 2013 [ 30 02] ..

---------- 0 0 0 2048 Jan 20 2013 [ 36 00] BOOT.CAT;1

---------- 0 0 0 221 Jun 4 2011 [ 3891 00] BOOT.MSG;1

---------- 0 0 0 870 Apr 11 2012 [ 3892 00] F2.;1

---------- 0 0 0 1059 Apr 11 2012 [ 3893 00] F3.;1

---------- 0 0 0 929 Aug 15 2011 [ 3894 00] F4.;1

---------- 0 0 0 14336 Jan 20 2013 [ 37 00] ISOLINUX.BIN;1

---------- 0 0 0 249 Aug 25 2012 [ 3895 00] ISOLINUX.CFG;1

corresponding to your second isobuster screenshot, from which it will be easy to get the smallest LBA bigger than 145671

jaclaz

Link to comment
Share on other sites

OK, I do understand, you want to suggest another approach for deriving ATIH_Linux.ISO's  grub.cfg menu values based on using a free tool rather then a free trial tool. I can try that...  Btw, someone uploaded the ATIH2014_E_Linux.iso for testing during 30-day free trial period, so you can try booting it in UEFI mode too, deriving at proper Boot Menu section, and checking if it contains visible anywhere dat8.dat and dat9.dat files. :D

 

How about my other questions, like this and that ones? I was actually asking about menu STRUCTURE rather than VALUES, and... some more.  :P

Edited by zamarac
Link to comment
Share on other sites

Actually it was more about automating the generation of the right offsets (and of the actual GRUB2 entry) avoiding the risks about mistyping the offsets read on a GUI tool.

I have NO idea how the .iso's are actually made (and no I won't download a - ahem - of doubtable origin .iso just to check how it is made).

I do have *somewhere* an old version, possibly 2011 or 2012,, if I recall correctly, IF I find it, I may have a look at it (provided that uses the same approach) and put together a quick batch.

 

And as said, I presume that the WinPE version will be completely different, and will need a completely different grub.cfg entry, presumably similar to those of a "normal" Windows PE bootable CD/DVD.

 

About the Linux based image, try dropping to the GRUB2 command line and try the commands:

 

set isofile="/ISO/ATIH2014.iso"
search --set -f $isofile
loopback loop $isofile
echo mount the El Torito floppy image
loopback ElTorito (loop)582684+304124

 

 

Then, issue command:

ls (ElTorito)/efi/boot/

 

you should get a directory listing of the files in the loopback device (and among them there should be a dat8.dat and a dat9.dat files, otherwise the following commands.

 

linux (ElTorito)/efi/boot/dat9.dat quiet
initrd (ElTorito)/efi/boot/dat8.dat
boot

would give you an error.

 

jaclaz

Link to comment
Share on other sites

Example grub.cfg, adjust LBA numbers yourself

Its possible that actual LBA numbers may vary depending on Acronis release

Of course the LBA numbers differes at different ISO images, hence the "adjust LBA numbers yourself"

Link to comment
Share on other sites

If the isoinfo tool works on that image

Isoinfo list first boot image only: this is the Acronis BIOS boot image.

The UEFI image is not listed.

And the files at CD file system are not the boot ones.

 

using a free tool

Read the license models again: http://www.isobuster.com/license-models.php

The FREE version supports the requested task, there is no need for another version.

Link to comment
Share on other sites

Isoinfo list first boot image only: this is the Acronis BIOS boot image.

The UEFI image is not listed.

 

OK, it looks like UltraISO extracted boot image from a mounted Linux ISO is also BIOS-only? Any way to extract UEFI boot image?

 

Do you know why namely dat8.dat and dat9.dat were listed in your Grub.cfg? Is there a way for an ordinary user to figure out, what dat*.dat files to list in grub.cfg?  :rolleyes:

Link to comment
Share on other sites

I found and checked the 2012 version.

I kinda expected that Isoinfo would have listed only the first boot image, but I was surprised that it doesn't list properly the "normal" contents of the CD.

I suspect that the good Acronis guys are making .iso's which are not fully-fully conforming to the standard.

 

However, I am putting together one of my usual half-@§§ed batches to interpret directly the structure, and it seems to me that there won't be problems.

 

@cdob

The method of assuming that the extent of the image is "up to the next LBA" (while working :thumbup) is not entirely "foolproof", since the EF image needs to be FAT, I am instead parsing the bootsector of the image, counting the sectors in the BPB.

 

@zamarac

In Isobuster, go to:

Options->File systems Settings->El Torito (boot)
Check "Check boot-image(s) for FAT and list files and folders if present"

you will see a new item in the left hand window "tree" which will be the FAT image (and it's contents) ;).

 

BTW, once one has the "right" offset in 512 bytes sectors, the FAT image can be mounted in IMDISK fine :yes:.

 

jaclaz

 

P.S.: Attached the small batch, it may be more "verbose" than really needed, but anyone can remove the ECHO's that may be considered superfluous.

It needs dumphex http://rbach.priv.at/DumpHex/

Have fun. :)

AcroCD_001.zip

Edited by jaclaz
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...