FreeBSD manual
download PDF document: zfsboot.8.pdf
ZFSBOOT(8) FreeBSD System Manager's Manual ZFSBOOT(8)
NAME
zfsboot - bootcode for ZFS on BIOS-based computers
DESCRIPTION
zfsboot is used on BIOS-based computers to boot from a filesystem in a
ZFS pool. zfsboot is installed in two parts on a disk or a partition
used by a ZFS pool. The first part, a single-sector starter boot block,
is installed at the beginning of the disk or partition. The second part,
a main boot block, is installed at a special offset within the disk or
partition. Both areas are reserved by the ZFS on-disk specification for
boot use. If zfsboot is installed in a partition, then that partition
should be made bootable using appropriate configuration and boot blocks
described in boot(8).
BOOTING
The zfsboot boot process is very similar to that of gptzfsboot(8). One
significant difference is that zfsboot does not currently support the GPT
partitioning scheme. Thus only whole disks and MBR partitions,
traditionally referred to as slices, are probed for ZFS disk labels. See
the BUGS section in gptzfsboot(8) for some limitations of the MBR scheme
support.
USAGE
zfsboot supports all the same prompt and configuration file arguments as
gptzfsboot(8).
FILES
/boot/zfsboot boot code binary
/boot.config parameters for the boot block (optional)
/boot/config alternative parameters for the boot block (optional)
EXAMPLES
zfsboot is typically installed using dd(1). To install zfsboot on the
ada0 drive:
dd if=/boot/zfsboot of=/dev/ada0 count=1
dd if=/boot/zfsboot of=/dev/ada0 iseek=1 oseek=1024
If the drive is currently in use, the GEOM safety will prevent writes and
must be disabled before running the above commands:
sysctl kern.geom.debugflags=0x10
zfsboot can also be installed in an MBR slice:
gpart create -s mbr ada0
gpart add -t freebsd ada0
gpart bootcode -b /boot/boot0 ada0
gpart set -a active -i 1 ada0
dd if=/dev/zero of=/dev/ada0s1 count=2
dd if=/boot/zfsboot of=/dev/ada0s1 count=1
dd if=/boot/zfsboot of=/dev/ada0s1 iseek=1 oseek=1024
Note that commands to create and populate a pool are not shown in the
example above.
SEE ALSO
BUGS
Installing zfsboot with dd(1) is a hack. ZFS needs a command to properly
install zfsboot onto a ZFS-controlled disk or partition.
FreeBSD 14.0-RELEASE-p11 March 27, 2018 FreeBSD 14.0-RELEASE-p11