MultiBoot maintains multiple copies of RaspiOS on a single storage device. Only one copy of RaspiOS may be active at a time, but changing the active copy requires little more than a reboot. When Master Boot Record (MBR) partitioning is used (default), a maximum of 3 copies of RaspiOS may be present. When GUID Partition Table (GPT) partitioning is used, a total of 127 copies of RaspiOS is theoretically possible, but the practical limit is around 25. MultiBoot can quickly convert an MBR storage device to GPT at any time.
Each RaspiOS instance occupies its own ROOT partition and shares a common BOOT partition. The common BOOT partition is saved to and restored from its associated ROOT partition when a different RaspiOS instance is selected. Each RaspiOS instance has a user defined name for convenient identification.
The initial starting point is an operational RaspiOS installation. Additional copies of RaspiOS are then installed by MultiBoot from normal image files. The user selects the image file to install, the partition size, and the RaspiOS instance name. RaspiOS instances may later be removed, resized, moved to the top or bottom of adjacent free space, or renamed.
A single script (mb) performs all configuration actions as well as selecting the active RaspiOS instance. Selecting the active instance of RaspiOS can be accomplished interactively by executing mb with no parameters or non-interactively by specifying the name of the RaspiOS instance to be activated. In either case, a reboot will occur and the newly selected RaspiOS instance will be active. Executing the MultiBoot script (mb) with a -i or --identify option will display the currently active RaspiOS instance.
Configuration is performed by executing the MultiBoot script (mb) with a -c or --config option. The storage device that contains the currently running RaspiOS system cannot be configured due to the partitioning operations that are involved. Simply boot from another storage device to perform configuration. MultiBoot will display a list of storage device candidates to select from for configuration. Configuration candidates are storage devices whose first partition is VFAT and second partition is EXT4. The first time MultiBoot configures a storage device, you will be asked for permission to initialize it, which consists of copying the BOOT partition contents to the ROOT partition /boot directory.
Configuration actions include:
This action inserts a new RaspiOS instance. You first select an 'Unpartitioned_Free_Space' area of sufficient size for the new RaspiOS instance to reside in. Then you specify the pathto/imagefile to be installed. Next, a partition size is requested. Partition size can be entered with a multiplier suffix of K, M, G, or T, for Kilobytes, Megabytes, Gigabytes, or Terabytes. If no multiplier suffix is given, the number is interpreted as the number of sectors. Then you must enter a name for the new RaspiOS instance. Names may contain embedded spaces which will be converted to underscores. Names may not start with a hyphen. Maximum name length is 40 characters. If WiFi is to be enabled (optional), you may specify the pathto/filename to be used for wpa_supplicant.conf. You may also enable or disable SSH logins. The final step is to confirm installation of the new RaspiOS instance.
This action removes an existing RaspiOS instance. Choose the name of the RaspiOS instance you wish to remove and confirm. The currently active RaspiOS instance cannot be removed until another RaspiOS instance is first made active.
This action resizes a partition. A partition can only be expanded into free space above it. To utilize free space below it, first use the Locate action to move the partition down. The current, minimum, and maximum partition sizes are displayed. Partition size can be entered with a multiplier suffix of K, M, G, or T, for Kilobytes, Megabytes, Gigabytes, or Terabytes. If no multiplier suffix is given, the number is interpreted as the number of sectors. The partition size may also be specified as 'minimum' or 'maximum'.
This action moves a partition to the top of free space above it or the bottom of free space below it. Depending on the speed of the media and size of the partition, this action can take a considerable amount of time to complete.
This action prompts for a new name and renames the chosen RaspiOS instance following confirmation
This action selects the active RaspiOS instance. The currently active RaspiOS instance is indicated by a '=' instead of a ':' separating the RaspiOS instance name and partition size. A reboot does not occur during this configuration action.
This action converts MBR partitioning to GPT partitioning.
NOTE: Do NOT use the 'Expand Filesystem' function in raspi-config! Doing so will render your storage device unusable. Always use MultiBoot to manipulate partitions.
NOTE: The ability to boot an SD card using GUID Partition Table (GPT) partitioning requires the RaspiOS 5.4.61 or later kernel.
may be used to create backup images of individual partitions which can be later installed by MultiBoot. The -n or --noexpand option should be used when creating a backup for use with MultiBoot.
MultiBoot is also suitable for use with a Raspberry Pi 2 (SD card only).