BOOTISO(1)
πΏ BOOTISO(1) πΏ β General Commands Manual
okay bestie, welcome to BOOTISO(1) from the General Commands Manual β the utility that makes βburn a bootable USBβ not feel like a dare π β¨
π NAME π
bootiso β create a bootable USB drive from an image file
πΈ SYNOPSIS πΈ
Each line shows an action, except for the first three lines β those describe install action modes. In order, theyβre βAutomatic,β βImage-Copy,β and βMount-Rsyncβ modes. In the last two, INSTALLMODS means an option listed in the first βAutomaticβ synopsis line. When both a short and long option exist, only one is printed.
bootiso [-aJMy] [-d device] [--no-hash-check | [--hash-file hashfile]
[--force-hash-check]] [--no-size-check] [--no-usb-check]
[--assume-image-is image-type] [--] imagefile
bootiso --icopy [INSTALLMODS ...] [--dd-bs blocksize] [-D
[--data-part-fs fstype]] [--] imagefile
bootiso --mrsync [INSTALLMODS ...] [-L label] [-F fstype] [--gpt]
[--no-wimsplit] [--part-type typeid]
[--local-bootloader | --remote-bootloader version] [--]
imagefile
bootiso -f [-ay] [-d device] [-L label] [-F fstype] [--gpt]
[--no-usb-check] [--part-type typeid]
bootiso -i [-M] [--no-hash-check | [--hash-file hashfile]
[--force-hash-check]] [--] imagefile
bootiso -l [--no-usb-check]
bootiso -p [-M] [--no-hash-check | [--hash-file hashfile]
[--force-hash-check]] [--no-usb-check] [--] imagefile
bootiso -h
bootiso -v
π¦ DESCRIPTION π¦
bootiso is a command-line utility that exists to simplify the task of βburningβ a USB storage device with a bootable disk image. The program can be safely called with no options at all β yes, literally just run it. Read the βEXAMPLESβ section for a quick summary of typical invocations.
π₯ Features π₯
You can use dd(1) for hybrid images, but bestieβ¦ not all images are hybrid, and the operation is error-prone, especially for amateur UNIX users. Thatβs why dd has that βdisk destroyerβ nickname π. In addition to offering a safety layer (see the βGUARDRAILSβ section), bootiso handles hybrid and non-hybrid SYSLINUX or UEFI compliant images β like any GNU-Linux, Windows, or rescue live-cds such as UltimateBootCD images.
This program also offers extra features, like quickly formatting a USB drive, inspecting an image file, or listing USB-connected drives. Supported image formats are plain disk images (img) and ISO 9660 files. Slay.
bootiso can be invoked with two types of options: actions and modifiers. Actions determine the goal of the program execution, and modifiers define the specifics for reaching that goal. At most one action flag can be set. If no action flag is present, bootiso assumes the install action in βAutomaticβ mode: it inspects imagefile boot capabilities and finds the best way to make a bootable USB drive (see βINSTALL MODESβ below).
π Actions π
-f,--formatβ Wipe and format the selected USB device. Default Behavior: if no device was explicitly selected with the--devicemodifier, bootiso will prompt for selection. With no further notice, bootiso will write an MBR partition table and format a FAT32 partition. These defaults can be overridden with the--gptand--fsmodifiers.-h,--helpβ Display a concise list of options, then exit.-i,--inspectβ Inspectimagefileboot capabilities and how bootiso can handle it. In addition, validate this file against a hash file if one is found, then exit.-l,--list-usb-drivesβ List USB drives, then exit. Diverse information will be printed, such as model, vendor, size, and device file name β which can later be used with the-d,--devicemodifier.-p,--probeβ Probe is equivalent to the inspect action followed by the list USB drives action.-v,--versionβ Displays bootiso version, then exits.
β¨ Generic Modifiers β¨
Use generic modifiers knowingly, bestie β some might override default safe behaviors π.
--assume-image-is image-typeβ Override bootisoβs assessment ofimagefilehybridness. Usehybridto force bootiso to regardimagefileas hybrid, andnon-hybridto force bootiso to regardimagefileas non-hybrid.-a,--autoselectβ Enable βautoselectβ behavior in combination with the--assume-yesmodifier. It will automatically select a USB drive device if there is exactly one connected to the system.
Notice: The βautoselectβ behavior is the default behavior when βassume yesβ is not enabled, unless either the--deviceor--no-usb-checkmodifiers are set.
-d device,--device deviceβ Select the device block file as the action target. Whendeviceis not connected through a USB bus, bootiso will fail and exit, unless--no-usb-checkis set.
Notice: Device block files are located in/dev/. The/dev/prefix can be omitted. You will be prompted to select a device when not using this modifier. Also, this option is not compatible with loop devices.
-D,--data-partβ Add a supplementary data partition after installation. Requires the--icopyor--ddinstall modifier.
Notice: This will only work with imagefiles containing MBR or GPT partition schemes.
--data-part-fs fstypeβ Change the filesystem type for the supplementary data partition. Default is FAT32. Requires the--icopyor--ddinstall modifier.--dd-bs blocksizeβ Specify the maximum block-size used by thedd(1)utility in βImage-Copyβ mode. See thebsoption of thedd(1)utility. Default is4M. Requires the--icopyor--ddinstall modifier.
Notice: Values below 50k can sensibly slow down the installation.
-F fstype,--fs fstypeβ Format tofstypeinstead of the default FAT32 (vfat). Supported types:vfat,exfat,ntfs,ext2,ext3,ext4, andf2fs. Requires the--mrsyncinstall modifier or the format action.
Important Notice: Usage with the install action is discouraged: it will be rejected in βAutomaticβ and βImage-Copyβ modes, and could prevent UEFI boot in βMount-Rsyncβ mode since the UEFI standard mandates a FAT32 partition.
--force-hash-checkβ Fail and exit when no valid hash is found. The default behavior is to prompt the user when hash check fails.--gptβ Enforce the GPT partition scheme over the default MBR. Requires the--mrsyncinstall modifier or the format action.
Important Notice: Booting systems are generally more sensible to GPT partition types compared to MBR partition types. It is thus advised that you explicitly set the partition type with the --part-type modifier when enforcing GPT. This is however not required for Windows images, which have special handling by bootiso.
-H,--no-hash-checkβ Skip the lookup for hash sum-files in the same folder asimagefile. See the--hash-filedefinition for a description of the lookup mechanism.--hash-file hashfileβ Explicitly set thehashfilecontaining the ISO hash. The default behavior is to look for files matching these conditions:- Located in the same folder as
imagefile. - Which name is the concatenation of
imagefile, β.β and the hash function name suffixed with βsumβ.
- Located in the same folder as
Supported hash functions are md5, sha1, sha256, and sha512.
-J,--no-ejectβ Do not eject the device after unmount. This is the default behavior with the format action.--local-bootloaderβ Prevent download of the remote bootloader and force local syslinux during installation. This might work, but could also lower the chances of successful legacy BIOS boot, especially when the major versions mismatch. Requires the--mrsyncinstall modifier.-M,--no-mime-checkβ Donβt assert thatimagefilehas the right mime-type.--no-size-checkβ Donβt assert that the selected device size is larger thanimagefile.--no-usb-checkβ Donβt assert that the selected device is connected through the USB bus.--no-wimsplitβ Prevent splitting the/sources/install.wimfile in Windows ISOs. Requires the--mrsyncinstall modifier.--part-type typeidβ Set a specific MBR partition type, or GPT partition type when the--gptmodifier is set. Not to be confused with the filesystem modifier--fs. Requires the--mrsyncinstall modifier or the format action.
List available types for GPT or MBR with the following commands:
sfdisk --list-types --label gpt
sfdisk --list-types --label mbr
--remote-bootloader versionβ Force download of the syslinux remote bootloader at versionversion. Version must follow the patternMAJOR.MINOR. Examples:4.10,6.04. That will only work with x64 system architecture. Requires the--mrsyncinstall modifier.-t fstype,--type fstypeβ Deprecated because of potential confusion with--part-type. Use-F,--fsinstead.-L label,--label labelβ Set the partition label aslabelinstead of inferring it. bootiso will cut labels which are too long regarding the selected filesystem limitations. Requires the--mrsyncinstall modifier or the format action.-y,--assume-yesβ Donβt prompt for confirmation before erasing and partitioning the USB device.--β Posix end of options. bootiso will not process any option after this flag and will treat the upcoming item asimagefile.
π§ Install mode modifiers π§
These modifiers only apply to the default install action (see βINSTALL MODESβ below).
--icopy,--ddβ Assert βImage-Copyβ mode and enable specific options for this mode. bootiso will fail if theimagefileis not hybrid.--mrsyncβ Assert βMount-Rsyncβ mode and enable specific options for this mode. bootiso will fail if theimagefileis not an ISO 9660 filesystem.
β¨ INSTALL MODES β¨
okay so bootiso has like three whole operating modes for the install action, and when you actually pick one specifically, it unlocks the advanced options for that mode. very "choose your fighter" of it π
πΈ Automatic
In the default "Automatic" mode, bootiso will peek at imagefile and pick the best strategy so you end up with a bootable USB stick. Those strategies are literally the two modes below. Run the --inspect action flag to print out the boot capabilities it detected plus the compatible strategy β very "let me show you my work" energy.
π¦ Image-Copy
"Image-Copy" mode β you enforce it with the --icopy install modifier β and bootiso uses the dd(1) utility to make a raw copy of imagefile. This is perfectly appropriate when the image file has a builtin boot capability. It needs a partition table though, one that can be copied straight onto the target device along with the data partitions. ISOs with this feature are called "hybrid", and a vast majority of GNU-Linux images ship that way. Peep isohybrid(1) if you wanna know more about this topic π
π§ Mount-Rsync
"Mount-Rsync" mode β enforced with the --mrsync install modifier β has bootiso create an MBR partition table, format one partition on the USB drive, and copy files from the mounted ISO. The behavior changes depending on whether those special files are there that tell it legacy BIOS boot or UEFI boot should be preferred. bootiso checks the conditions to figure out which one to choose:
- If
/efi/boot/*boot files exist, it chooses UEFI boot and FAT32 filesystem, which the standard mandates. In that case, if a Windows/sources/install.wimfile is found,wimlib-imagex(1)gets used to circumvent the FAT32 filesystem size limitations. You can prevent this behavior with the--no-wimsplitmodifier flag π«Ά - If
syslinux(1)configuration files are found, it will install the syslinux bootloader to allow legacy BIOS boot and select the MBR partition table. When your localsyslinuxversion doesn't match the ISO version, it attempts to download the closest version available on kernel.org: https://www.kernel.org β unless the--local-bootloaderflag is set. And when invoked with the--remote-bootloaderversion modifier,bootisoignores the local version check entirely and forces the download of the kernel.org version at version. no cap. - If none of the above conditions are met,
bootisowill fail and exit. π
π GUARDRAILS π
bootiso runs a whole set of tests with your safety and confidence in mind, bestie:
- Checks imagefile hash sum against a hash file if one is found. Supported hash algorithms are
md5,sha1,sha256andsha512. - Checks imagefile mime-type with the
file(1)utility. - Asserts the selected device is connected through USB β preventing system damage β and exits if it isn't, using the
lsblk(8)utility. - Asserts that the selected image is not larger than the selected device.
- Prompts for confirmation before erasing and partitioning the USB device.
like... it's giving "protective bestie" and honestly? we stan π
π ENVIRONMENT π
BOOTISO_IMAGES_COMPLETIONS_PATHβ this variable is interpreted by shell completion scripts as a path pointing to a directory to look up image and hashsum files, and to suggest those files when no files are matched in the current working directory. When it's not set, eitherXDG_DOWNLOAD_DIR(if defined) or~/Downloads(otherwise) gets used instead. Seexdg-user-dir(1)πBOOTISO_SYSLINUX_LIB_ROOTβ used in "Mount-Rsync" mode when imagefile has syslinux boot capability. In that casebootisoneeds to install an MBR boot program, and it needs to locate it. This variable sets the syslinux assets root, from which the MBR program file will be searched. Defaults to/usr/lib/syslinux.
π EXIT STATUS π
The bootiso utility exits 0 on success, >0 on error. Error exit status <64 depicts unfavorable conditions external to the program β like a missing file. On the other hand, exit status superior or equal to 64 depicts an execution failure.
0β Success. slay β¨1β Assertion failed: a safety check has not passed. See "GUARDRAILS".2β Synopsis noncompliance: program invocation does not match any known combination of options and operands.3β Missing boot capabilities: imagefile does not have boot capabilitiesbootisoknows of.4β File doesn't exists: a file provided as option argument or operand does not exist.5β Bad file: a file provided as option argument or operand exist, but is not of the expected format.6β Device doesn't exists: a device provided as option argument does not exist.7β Bad device: a device provided as option argument exists in filesystem, but is not a device node.8β No devices: there are no drives in selection.9β Missing dependency:bootisois missing a program.10β Host unreachable: an operation involving network access could not be performed with host.11β User aborted: the action was canceled by user.12β Missing privilege: you need to run this command as root.13β Failed postulate: an assumption about system state turned out false.64β I/O error: a read/write command has unexpectedly failed.65β Program state error: the program reached an unexpected state. This is a bug. π66β Third party error: a command has unexpectedly failed.
π EXAMPLES π
Probe
To have a quick feedback, probe around to check bootiso capabilities with a given file.iso and list USB drive candidates:
bootiso -p file.iso
Alternatively, you can use the -i action flag to solely inspect file.iso, or the -l action flag to solely list USB drives. options, options, options β we love a flexible icon π
Install
With the default install action in "Automatic" mode, give file.iso as the sole argument and you'll be prompted to select from available USB drives. If there's only one USB device connected, bootiso will automatically select it:
bootiso file.iso
You can also explicitly set the target USB device:
bootiso -d /dev/sdX file.iso
Avoid being prompted before writing to the USB drive and autoselect the device when there's exactly one connected:
bootiso -ay file.iso
Add a FAT32 data partition in "Image-Copy" mode (only works with hybrid images):
bootiso --icopy -D file.iso
Format
Format the USB drive to NTFS and label it "SONY JOE". Be careful with the label name β its size and character set are limited by the target filesystem π
bootiso -ft ntfs -L 'SONY JOE'
π₯ TROUBLESHOOTING π₯
- Some live-CD systems are not shipped with USB-3 drivers, or are known to work poorly with USB-3 ports. Always try a USB-2 port β or, if you don't have one, use a USB-2 stick β before considering the boot a failure. As of 2020, Windows 10 (UEFI) is among those systems. not me learning that the hard way π
- If legacy BIOS boot doesn't work, be advised that UEFI-compliant boot systems have a Compatibility Support Module (CSM) option to enable legacy BIOS boot.
- If
bootisodoes not detect your USB device, you can try running
udevadm settle
and try again.
- If imagefile has UEFI support and the boot fails on a UEFI-compatible machine, one can try different partition types with the
--part-typemodifier, because some systems will assume specific types and refuse to load data otherwise. This is especially prevalent with GPT partition tables.
π COPYRIGHT π
Copyright Jules Sam. Randolph.
GPLv3 License: https://www.gnu.org/licenses/gpl-3.0 This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
πΈ SEE ALSO πΈ
dd(1), isohybrid(1), syslinux(1), wimlib-imagex(1)
β COMPATIBILITY β
bootiso should work with any terminal emulator and the Linux console. More specifically, the output device should support the following features:
- ASCII character set;
- ECMA-48 SGR sequences to feature color, bold and underline text attributes as documented in
console_codes(4).
π STANDARDS π
bootiso is compliant with:
- IEEE Std 1003.1-2008 ("POSIX.1"), Ch. 12, "Utility Conventions";
- Filesystem Hierarchy Standard, version 3.0.
π«Ά AUTHORS π«Ά
Jules Sam. Randolph <jules.sam.randolph@gmail.com>
and that's the whole page bestie, ily, go make a bootable USB and slay πβ¨ this was bootiso version 4.2.0, dated May 22, 2020 β iconic behavior, periodt π
π¦ where this page comes from
- nixos 26.05: bootiso 4.2.0
- nixpkgs unstable: bootiso 4.2.0
- opensuse-leap 16.0: bootiso 4.2.0-bp160.1.3 Β· GPL-3.0-only
- Copyright (C) 2018-2020 jules randolph <jules.sam.randolph@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms