BYEBYEBIOS(1)
π BYEBYEBIOS β x86 boot sector injector β¨
okay bestie, gather round, because this is the <pink>byebyebios</pink> manual page (it lives in the <lavender>Virtualization Support</lavender> section of the manual, just so you know where to find it again π
).
πΈ NAME πΈ
byebyebios β the x86 boot sector injector. that's it, that's the whole name, no notes π
β¨ SYNOPSIS β¨
byebyebios [OPTION]... RAW-DISK-IMAGE
byebyebios [OPTION]... BLOCK-DEVICE
so you hand it a disk image or a block device and it does its lil thing. two whole ways to call it. iconic. π¦
π DESCRIPTION π
bestie, listen. byebyebios is the tool you reach for when you've got an operating system installation for the <cyan>x86</cyan> architecture and the whole plan is for it to boot via <purple>UEFI</purple> firmware and only UEFI firmware. no legacy BIOS invited to this party π
ββοΈ
point it at either a raw disk image file, or a block device, that contains that installation, and it will inject a <hotpink>dummy x86 boot sector</hotpink>. so if some poor soul then tries to boot the thing through legacy BIOS firmware instead of UEFI? a message gets printed β on both the primary serial port and the VGA display β telling them UEFI is required. like a little bouncer at the door going "wrong entrance, hun" π
π OPTIONS π
--boot-stubFILE-PATH β override the default file path that points at the precompiled boot stub binary getting injected. you wanna swap the stub? go off π--messageFILE-PATH β override the default message text that gets printed when the installation boots under legacy BIOS firmware. okay so there's a size situation here bestie: the message file must fit within the remaining free space of the boot sector. the dummy MBR and boot signature take<yellow>66 bytes</yellow>, the boot stub takes<yellow>21 bytes</yellow>, and the message<NUL>terminator eats<yellow>a single byte</yellow>. that leaves you<hotpink>424 bytes</hotpink>for the text message. also β and this is important β the message file must use<CR><LF>line terminators. no cap. π«Ά--forceβ normallybyebyebiosvalidates that the disk image you specified contains a valid<cyan>GPT header signature</cyan>before it installs the dummy boot sector. it's a safety net, a lil seatbelt, protecting you from accidentally overwriting data in a file/device that is not a bootable OS image just because you typed the wrong path π. this option causes installation of the boot sector even if the GPT signature is not found.
β οΈ be careful with --force, fr fr. data loss will likely result if this tool gets pointed at an inappropriate file with the GPT check disabled. that's not a vibe. that's a tragedy. π
π§ EXAMPLES π§
π« Injection post install
create a disk image with virt-install(1) and inject a boot sector once 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
look at that. clean. slay. β¨
π« Injection during install
inject a boot sector as part of the installation process, straight from an anaconda(1) kickstart file (or equivalent):
$ cat demo.ks
...snip...
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
..snip...
%post
byebyebios /dev/vda
%end
doing it mid-install? main character energy honestly π
π« 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
figlet bubble font + unix2dos? chef's kiss. the message is giving exactly what it needed to give π
π BUGS π
please report all bugs you discover to the upstream repository:
https://gitlab.com/berrange/byebyebios
alternatively, you may report bugs to your software distributor / vendor. they got you π«Ά
π AUTHORS π
Daniel P. BerrangΓ©
π COPYRIGHT π
Copyright (C) 2023 Red Hat
π LICENSE π
byebyebios is distributed under the terms of the <rainbow>MIT No Attribution license</rainbow>. periodt. β¨
π₯ SEE ALSO π₯
virt-install(1), anaconda(1)
and that's the whole page bestie!! this was <pink>BYEBYEBIOS(1)</pink> from the <lavender>Virtualization Support</lavender> corner of the manual, and yes the footer really does just say <hotpink>BYEBYEBIOS(1)</hotpink> again because manpages love a lil echo π go forth and boot UEFI-only, ily, bye!! π¦πΈπ
π¦ where this page comes from
- fedora 43: byebyebios 1.0-6.fc43 Β· MIT-0
- π the page's license: MIT-0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms