-
Notifications
You must be signed in to change notification settings - Fork 70
Portable ZFSBootMenu
It is possible to make ZFSBootMenu (or any other boot manager) portable on a UEFI-based system by ensuring that the desired executable EFI bundle is installed at /EFI/BOOT/BOOTX64.EFI
on the FAT-formatted EFI System Partition of the disk that you wish to use.
-
Create a fresh GPT-formatted partition table on your target portable disk.
-
Create within that a small partition with the correct GUID to mark it as an EFI System Partition.
-
Format this partition as FAT.
-
Copy the desired EFI bundle to
/EFI/BOOT/BOOTX64.EFI
on this volume.
Alternatively you could format the entire disk (e.g. USB stick) as FAT32 with GUID Partition Table (GPT) and copy the EFI bundle (step 3 from above). Your system may still boot into ZFSBootMenu even though the partition wasn't marked as EFI System Partition.
With static installations, it is generally necessary to twiddle with a particular area of NVRAM on the system's BIOS (or, more properly, EFI) which contains a list of paths to EFI executables - this is what operating systems do as part of their setup procedure.
However, this is no use at all portability-wise for obvious reasons.
Fortunately, when a UEFI system attempts to boot from a non-volatile storage device directly rather than a pre-configured item in the boot list, it will search the EFI system partition on that device for /EFI/BOOT/BOOTX64.EFI
and execute it by default.