Jump to content











Photo
- - - - -

Boot a Acronis True Image 2014 ISO image with grub2 at UEFI


  • Please log in to reply
53 replies to this topic

#1 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 27 August 2014 - 09:03 PM

The Acronis CD boot uses a El Torito floppy image
IsoBuster free displays the layout http://www.isobuster...ense-models.php

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
}

  • milindsmart likes this

#2 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 09 December 2014 - 03:51 AM

 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) = 27654




More picture please! Thanks!



#3 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 09 December 2014 - 04:22 PM

More picture please! Thanks!

The Post #5 shows a example with pictures
http://www.msfn.org/...c/#entry1084985
  • hason likes this

#4 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 10 December 2014 - 07:35 AM

rvwoxx.jpg

15ppheo.jpg

21acnxz.jpg

Bootimage.img LBA: 40

Lowest next LBA: ? (How to find it?)

My iso only have some files. Pleas help me!



#5 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 10 December 2014 - 03:21 PM

Bootimage.img LBA: 40
Lowest next LBA: ? (How to find it?)

It's the space including dat8.dat and dat9.dat.
At this example lowest next LBA: Mouse.com 39,520

#6 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 12 December 2014 - 01:16 PM

I got error

"attemp when mount read and write...."

My iso

https://app.box.com/...z5xtfcn3m2etlbs

Can you test it help me? Thanks!



#7 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 12 December 2014 - 01:58 PM

@cdob

Maybe it could be "better" (unless there is a catch that I am failing to see) to calculate the size from the "highest" LBA?

 

I  mean:

dat8.dat Start LBA 1346 Size 75023835/2048=36633 (rounded by excess) 1346+36633=37979

dat9.dat Start LBA 37979 Size 3154544/2048=1541 (rounded by excess) 37979+1541=39520

...

Highest LBA:

bootwiz.sys Start LBA 39523 Size 26624/2048=13 39523+13=39536 ...

(possibly you need to add 1 2048 bytes sector because on some Acronis .iso's the beginning of the 512 bytes sector of the image is "shifted" when compared to the start of a 2048 bytes CD sector) or in this case just calculate the size of the image from the size of the actual .iso.

like:

[SIZE of the .iso image in bytes] - (4* [LBA start of the FAT image]

 

 

@hason

The idea is that you post WHAT (EXACTLY) you have done (and that causes the error) otherwise just the "I got error" is of very little help to understand what is the issue. :(

A new version (hopefully with a few improvements) of Isobuster has just been released, JFYI:

http://www.msfn.org/...-torito-images/

http://www.msfn.org/...ages/?p=1090843

 

 

:duff:

Wonko


  • hason likes this

#8 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 12 December 2014 - 04:06 PM

Thanks for all. I was try with two value
Boot image start at LBA 40: 40*4=160
Next LBA 39520
image size: 4*(39520-140)=157440
Grub config:
menuentry "Acronis True Image Home 2015 ISO ElTorito" {
set quiet=1
set gfxpayload=1024x768x32,1024x768
set mbrcrcs=on
set isofile="/images/ati15.iso"
search --set -f $isofile
loopback loop $isofile
echo mount the El Torito floppy image
loopback ElTorito (loop)160+157440
#ls (ElTorito)/
linux (ElTorito)/dat9.dat quiet
initrd (ElTorito)/dat8.dat
boot
}
Error
2vsephi.jpg

Edited by hason, 12 December 2014 - 04:11 PM.


#9 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 12 December 2014 - 05:01 PM

Maybe it could be "better" (unless there is a catch that I am failing to see) to calculate the size from the "highest" LBA?

Yes, this is possible too.
Can be size of ISO image less start of El Torito Boot image.
Anything simple to calculate.
 

Boot image start at LBA 40: 40*4=160
Next LBA 39520

Try image size: 4*(39520-40) = 157920

Edited by cdob, 12 December 2014 - 05:02 PM.

  • hason likes this

#10 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 12 December 2014 - 06:05 PM

Thanks for all. I was try with two value
Boot image start at LBA 40: 40*4=160
Next LBA 39520
image size: 4*(39520-140)=157440
 

Hmmm. :whistling:

 

@cdob

Yet another approach:

Dump/inspect sector LBA 40.

Check FAT LBA size in the bootsector (this would be "exact" no matter if the internal image is the last part of the .iso or not).

In grub4dos this would be:

map /whatever.iso (0xff)
map --hook
cat --hex --skip=0x20 --length=4 (0xff)40+1 
...

putting this in a grub4dos batch, adding the conversion from hex to dec (or maybe GRUB2 "accepts" hex numbers? :unsure:) should be easy...

 

:duff:

Wonko



#11 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 13 December 2014 - 03:20 AM

Yes, this is possible too.
Can be size of ISO image less start of El Torito Boot image.
Anything simple to calculate.
 
Try image size: 4*(39520-40) = 157920

Yes, it works ok. Thank you so much!

#12 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 17 December 2014 - 05:18 AM

Hmmm. :whistling:

wrong calculator! :D
4ftzd4.jpg
2rc06d3.jpg
2s6ajrt.jpg
start LBA: 55
I can not find next LBA. Please help!

#13 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 17 December 2014 - 11:44 AM

Hmmm. :whistling:

wrong calculator! :D
4ftzd4.jpg
2rc06d3.jpg
2s6ajrt.jpg
start LBA: 55
I can not find next LBA. Please help!

#14 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 December 2014 - 12:00 PM

start LBA: 55
I can not find next LBA. Please help!

If you want to go that way, you need to look into the /bootimage.img/efi/ folder which in this image has a higher LBA, but in your first screenshot you have:
Bootimage.img 55 79,00 Mb 82,837,504 No Emulation

55*4=220

82837504/2048=40448 sectors (2048 bytes each)
40448*4=161792

What happens with:
loopback ElTorito (loop)220+161792

:dubbio:

:duff:
Wonko


  • hason likes this

#15 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 17 December 2014 - 12:34 PM

If you want to go that way, you need to look into the /bootimage.img/efi/ folder which in this image has a higher LBA, but in your first screenshot you have:
Bootimage.img 55 79,00 Mb 82,837,504 No Emulation

55*4=220

82837504/2048=40448 sectors (2048 bytes each)
40448*4=161792

What happens with:
loopback ElTorito (loop)220+161792
:dubbio:

:duff:
Wonko

Yes, it works ok! I was try with ati15.iso
Bootimage.img: LBA 40; size 80896000
80896000/2048=39500
39500*4=158000
grub config
menuentry "Acronis True Image Home 2015 ISO ElTorito" {
set quiet=1
set gfxpayload=1024x768x32,1024x768
set mbrcrcs=on
set isofile="/images/ati15.iso"
search --set -f $isofile
loopback loop $isofile
echo mount the El Torito floppy image
loopback ElTorito (loop)160+158000
#ls (ElTorito)/
linux (ElTorito)/dat9.dat quiet
initrd (ElTorito)/dat8.dat
boot
}

menuentry "Acronis Disk Director Home 12 ISO ElTorito" {
set quiet=1
set gfxpayload=1024x768x32,1024x768
set mbrcrcs=on
set isofile="/images/add12.iso"
search --set -f $isofile
loopback loop $isofile
echo mount the El Torito floppy image
loopback ElTorito (loop)220+161792
#ls (ElTorito)/
linux (ElTorito)/dat5.dat quiet
initrd (ElTorito)/dat4.dat
boot
}
It works ok! Thank you so much! :D

#16 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 December 2014 - 02:48 PM

It works ok! Thank you so much! :D


Yep :smiling9:, guess why  the good Isobuster Author  :worship: added the detection of image size (among other things) in version 3.5?

JFYI ;):
http://www.msfn.org/...-torito-images/

 

:duff:

Wonko



#17 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 18 December 2014 - 07:04 AM

How to try with Terabyte image for uefi boot (iso)? :D
6gj1b5.jpg
15zl92x.jpg
29gjuyx.jpg

#18 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 18 December 2014 - 11:11 AM

Why not in the SAME way? :unsure:

 

Or you mistook us for your personal calculator because you cannot or don't want to make a couple divisions and multplications? :w00t: :ph34r:

 

Have you tried the SAME approach?

WHAT have you tried?

WHAT happened when you tried it?

 

 

:duff:

Wonko



#19 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 19 December 2014 - 11:47 AM

I was try but it did not work.
Start LBA 27: 27*4=108
6780928/2048=3311
3311*4=13244
I was try
loopback ElTorito (loop)108+13224
wtfx2f.png
Boot with extract file ifu - boot.img
menuentry "TeraByte for UEFI" {
search --no-floppy --file --set=root /ifu/EFI/boot/bootx64.efi
chainloader /ifu/EFI/boot/bootx64.efi
}
It works ok. Any way please!

#20 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 December 2014 - 02:08 PM

Well, that image as seen in IsoBuster is at the SAME time a "No Emulation" and a "HD emulation" image, the GRUB2 commands seen till now expect a bootsector (i.e. a floppy image) and find instead a MBR (i.e. a Hard Disk image) .

In other words, you are here :w00t::

https://lists.gnu.or...7/msg00001.html

Try:

loopback ElTorito (loop)108+13224

set root = (ElTorito,msdos1)

chainloader /EFI/boot/bootx64.efi

 

:duff:

Wonko



#21 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 19 December 2014 - 06:38 PM

Yet another approach:
Dump/inspect sector LBA 40.
Check FAT LBA size in the bootsector (this would be "exact" no matter if the internal image is the last part of the .iso or not).

set root = (ElTorito,msdos1)


Yet another approach:
loopback mounts ISOhybrided MBR partitions.
Patch the ISO image: create boot partition entries
Can you adjust mbrbatch: create a partition entry for the UEFI FAT image?

@hason
No idea about the Terabyte image.

#22 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 December 2014 - 06:56 PM

Yet another approach:
loopback mounts ISOhybrided MBR partitions.
Patch the ISO image: create boot partition entries
Can you adjust mbrbatch: create a partition entry for the UEFI FAT image?

But also a new version of "AcroCD.cmd" :

http://www.msfn.org/...i-pc/?p=1085044

(actually a mix of the two) would be needed wouldn't it? :unsure:

 

Or you mean, given that the "start LBA" (on CD/.iso) is provided (as gathered through Isobuster) and fed to the batch?

 

But in the case of the last .iso hason posted about one would need anyway to parse the first sector of the given image to find out if it is a MBR or a PBR, and then crete the isohybrid partition table pointing directly to the volume, right?

 

:duff:

Wonko



#23 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 19 December 2014 - 07:37 PM

(actually a mix of the two) would be needed wouldn't it? :unsure:

Yes, a mix. Feed in the ISO file name. Patch the ISO file next.

http://distro.ibiblio.org/slitaz/boot/
isohybrid.exe fails at a genreal UEFI ISO file. 'No isolinux.bin hybrid signature.'

Does exist a isohybrid UEFI solution already?

#24 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 December 2014 - 08:26 PM

Yes, a mix. Feed in the ISO file name. Patch the ISO file next.

 

i think it can be done, maybe hason could test "as is" the Acrocd.cmd  version 0.03:

http://www.msfn.org/...i-pc/?p=1085084

at first sight it could work on that Terabyte image also as after all what it is looked for/checked is a bootsector/jump bytes. :unsure:

 

More than MBRbatch, we need then to feed the (hopefully valid) result into a small batch similar to the partnew command in grub4dos, I believe that for isohybrid compatibility only the "Magic Bytes" need to be added (besides the partition entry, which possibly needs to be made active :dubbio: though it should be irrelevant if GRUB2 booting is used), right?

 

:duff:

Wonko



#25 hason

hason

    Member

  • Members
  • 50 posts
  •  
    Vietnam

Posted 20 December 2014 - 03:01 AM

Well, that image as seen in IsoBuster is at the SAME time a "No Emulation" and a "HD emulation" image, the GRUB2 commands seen till now expect a bootsector (i.e. a floppy image) and find instead a MBR (i.e. a Hard Disk image) .
In other words, you are here :w00t::
https://lists.gnu.or...7/msg00001.html
Try:
loopback ElTorito (loop)108+13224
set root = (ElTorito,msdos1)
chainloader /EFI/boot/bootx64.efi
 
:duff:
Wonko

I was try but it did not work.
153bnv9.png
Also I was try with Acrocd.cmd for atih.iso, add12.iso and ifu.iso.
rlde0z.jpg
2z70mu0.jpg
aww7tc.jpg




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users