Your company here — click to reach over 10,000 unique daily visitors

byebyebios - Man Page

x86 boot sector injector


byebyebios [OPTION]... RAW-DISK-IMAGE

byebyebios [OPTION]... BLOCK-DEVICE


The byebyebios tool is to be used when an operating system installation for the x86 architecture is only intended to boot via UEFI firmware.

When pointed to either a raw disk image file, or a block device, containing the installation, it will inject a dummy x86 boot sector. If a user subsequently attempts to boot via legacy BIOS firmware, instead of UEFI, a message will be printed (on both the primary serial port and VGA display) indicating that UEFI is required.



Injection post install

Create a disk image using virt-install(1) and inject a boot sector after installation is complete:

$ virt-install \
    --virt-type kvm \
    --arch x86_64 \
    --boot uefi \
    --name demo \
    --disk bus=virtio,format=raw,size=4 \
    ...other args...

$ byebyebios /var/lib/libvirt/images/demo.img

Injection during install

Inject a boot sector as part of the installation process from an anaconda(1) kickstart file (or equivalent):

$ cat demo.ks

ignoredisk --only-use=vda
clearpart --none --initlabel
part /boot/efi --fstype="efi" --ondisk=vda --size=1007 --fsoptions="umask=0077,shortname=winnt"
part / --fstype="ext4" --ondisk=vda --size=3087



byebyebios /dev/vda


Customized warning message

To customize the warning message provide a custom text file with <CR><LF> line terminators:

$ echo "Bye Bye BIOS" | figlet -f bubble | unix2dos > msg.txt
$ byebyebios --message msg.txt /var/lib/libvirt/images/demo.img


Please report all bugs you discover to the upstream repository:

Alternatively, you may report bugs to your software distributor / vendor.


Daniel P. Berrangé


byebyebios is distributed under the terms of the MIT No Attribution license.

See Also

virt-install(1), anaconda(1)


Virtualization Support