[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Test Proposal for [bug #46716] Protective MBR partition is not marked as

From: Thomas Schmitt
Subject: Test Proposal for [bug #46716] Protective MBR partition is not marked as bootable
Date: Sun, 20 Dec 2015 10:18:59 +0100


here is my proposal to Alexander how to achieve my favorite layout.
To be tested with all BIOS or EFI x86 machines in reach.

I renamed "minimal.iso" to "minimal-grub2.iso" because my
ISO collection is full of mini*iso images.

Obtain the MBR template file (normally provided by GRUB2 installation)

  $ dd if=minimal-grub2.iso bs=512 count=1 of=minimal-grub2.mbr

Mount the original ISO

  # mount -o loop minimal-grub2.iso /mnt/iso

Compose new ISO. Preserve --modification-date because this might
be used as UUID by the GRUB2 software in the ISO.
The GRUB2 specific options were deduced from the original ISO.
(Some of them are not used here, though.)

  $ xorriso -as mkisofs \
      -o minimal-grub2-repacked.iso \
      -r \
      --modification-date='2015121916023100' \
      -b /boot/grub/i386-pc/eltorito.img \
      --grub2-mbr minimal-grub2.mbr \
      -c '/boot.catalog' \
      -b '/boot/grub/i386-pc/eltorito.img' \
         -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info \
      -eltorito-alt-boot \
      -e '/efi.img' \
        -no-emul-boot \
     -append_partition 2 0xef /mnt/iso/efi.img \

Set bootability flag of partition 1

  $ echo $'\200' | \
    dd of=minimal-grub2-repacked.iso conv=notrunc bs=1 count=1 seek=446

This last step would need a new xorriso option which lets the
user control which partition shall be marked by the boot flag.
(Currently it is decided automatically. In this case there was
 no reason to set that flag, because neither the hybrid options
 for ISOLINUX nor for GRUB2 are present.)

Now it should look like this

  $ xorriso -indev minimal-grub2-repacked.iso \
            -report_el_torito plain -report_system_area plain
  El Torito catalog  : 85  1
  El Torito cat path : /boot.catalog
  El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
  El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4          86
  El Torito boot img :   2  UEFI  y   none  0x0000  0x00   5760         101
  El Torito img path :   1  /boot/grub/i386-pc/eltorito.img
  El Torito img opts :   1  boot-info-table grub2-boot-info
  El Torito img path :   2  /efi.img
  System area options: 0x00004200
  System area summary: MBR
  ISO image size/512 : 32220
  Partition offset   : 0
  MBR heads per cyl  : 64
  MBR secs per head  : 32
  MBR partition table:   N Status  Type        Start       Blocks
  MBR partition      :   1   0x80  0x83            0        32220
  MBR partition      :   2   0x00  0xef        32220         5760

When i boot this ISO as -cdrom or -hda in an amd64 BIOS qemu,
i get to the "grub>" prompt.

I had no luck with EFI qemu yet
  qemu: could not load PC BIOS 'OVMF.fd'
Will try to get that thing located or installed.

Whatever, it counts what Alexander's machines say. Best with
an ISO that contains a more realistic payload.

Have a nice day :)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]