Skip to content

VirtualBox cannot use our ISO images when its size is not a multiple of 2048 bytes

When adding our new isohybrid images (#8510 (closed)) to Virtualbox, it complains as follows:

Failed to open the optical disk file $PATH/tails-i386-devel-1.3-20150211.iso.
Could not get the storage format of the medium '$PATH/tails-i386-devel-1.3-20150211.iso' (VERR_NOT_SUPPORTED).

Result Code: VBOX_E_IPRT_ERROR (0x80BB0005)
Component: Medium
Interface: IMedium {05f2bbb6-a3a6-4fb9-9b49-6d0dda7142ac}
Callee: IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

And some extra info when run from the command line:

VBoxSDL: error: Context: "OpenMedium(bstrCdromFile.raw(), DeviceType_DVD, AccessMode_ReadWrite, FALSE , pMedium.asOutParam())" at line 1713 of file VBoxSDL.cpp

Apparently the Virtualbox code that tries to verify that the image is a legit ISO image is a bit too strict. One can fix the image by running either of the following:

  • isohybrid $ISO
  • isohybrid $ISO -h 253 -s 63
  • isohybrid $ISO -h 255 -s 62

For reference we now (after #8510 (closed) was fixed) generate them with isohybrid $ISO -h 255 -s 63 so it seems that Virtualbox has an upper limit of how many sectors it thinks an ISO can have or something like that.

Would it be safe (e.g. w.r.t. BIOS-compatibility) to lower one of these values? We should ask the syslinux team.

Feature Branch: bugfix/8891-iso-image-padding

Related issues

Original created by @anonym on 8891 (Redmine)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information