Multi-booting is the act of installing multiple operating systems on a computer, and being able to choose which one to boot when starting the computer. The term dual-booting refers to the common configuration of specifically two operating systems. Multi-booting may require a custom boot loader.
Multi-booting allows more than one operating system to reside on one computer, for example if you have a primary operating system and an alternate system that you use less frequently. Another reason for multi-booting can be to investigate or test a new operating system without switching completely. Multi-booting allowed a new operating system to configure all applications needed, and migrate data before removing the old operating system, if desired. A possible alternative to multi-booting is virtualization, where a hypervisor is used to host one or more virtual machines running guest operating systems. Multi-booting is also useful in situations where different software applications require different operating systems. A multi-boot configuration allows a user to use all of this software on one computer. This is often accomplished by using a boot loader such as NTLDR, LILO, or GRUB which can boot more than one operating system. Multi-booting was also used by software developers where multiple operating systems were required for development or testing purposes. Having these systems on one machine was a way to reduce hardware costs.
Number of operating systems per storage device
In a multi-boot computer each of the multiple operating systems can reside on its own storage device, or some storage devices might contain more than one operating system in different partitions.
An example of a computer with one operating system per storage device is a dual-booting computer that stores Windows on one disk drive and Linux on another disk drive. In this case a multi-booting boot loader is not strictly necessary because the user can choose to enter BIOS configuration immediately after power-up and make the desired drive first in the boot-order list. However, it is more convenient to have a multi-booting boot loader on one of the drives, set BIOS once to always start booting from (i.e., load the boot loader from) that drive, and then allow the user to choose an operating system from that boot loader's menu. No special disk partitioning is necessary when each operating system has its own dedicated disk drive.
An example of a computer with multiple operating systems per storage device is a dual-booting computer that stores both Windows and Linux on the same disk drive. In this case a multi-booting boot loader is necessary. Also, the disk must be partitioned to give each operating system its own partition on the disk drive.
The basic concept involves partitioning a disk to accommodate each planned installation, optionally including separate partitions for data storage or backups.
Vista's partitioners may not be compatible with XP/2000 (see Logical disk manager#Compatibility problems). If you use Windows 2000/XP, probably the safest approach (for disks under 2 TiB) is to use a CHS partition table alignment that is chosen by Windows XP/2000 (not Vista or Windows 7). If starting with a disk with nothing important on it, delete all partitions, unplug the disk or reboot, create at least one partition with Windows XP/2000 Disk Management or the XP/2000 installer, and format all FAT partitions (only so that Ranish Partition Manager will not show them in red). The alignment can be checked with Ranish Partition Manager: All partitions (including EBR extended partitions—type 05) should start at the beginning of a head, and end at the end of a cylinder. If nothing is shown in red (with error messages when you highlight them) you probably have a disk with a standard CHS partition table alignment. If you wish to edit the partition table with Linux, first run sfdisk with "--show-geometry" and "--show-pt-geometry". If these return the same geometry, it should be safe to use GParted, so long as it is set to round to cylinders, and you only add partitions to the end of the partition table. If you add a partition to the middle of the extended partition table, GParted will not put them in the order they are on the disk (so that hda7 will follow hda9 instead of hda6). The order can be fixed with a Linux fdisk advanced function. Most Linux partitioners that don't use parted, may not end EBR extended partitions (type 05) on the same sector as their logical drives. When GParted or parted edit these "nonstandard" partition tables, they will "fix" all these EBRs, so that the extended partitions end on the same sector as their logical drives. Ranish PM then shows these partitions as having no "errors". This can also be checked using (for example) sfdisk -l -x -us /dev/hda .
Windows and Linux
One popular multi-boot configuration is to dual-boot Linux and Windows operating systems, each contained within its own partition. Windows does not facilitate or support multi-boot systems, other than allowing for partition-specific installations, and no choice of boot loader is offered. However, most current Linux installers accommodate dual-booting (although some knowledge of partitions is desirable).
There are some advantages to installing a Linux boot manager/loader (usually GRUB) as the primary bootloader pointed to by the master boot record. All Windows installations will be found by Linux bootloaders, but Windows boot managers do not recognize Linux installations (nor does Windows deal natively with Linux file systems). However, in Vista, in order to install services packs (or other Windows updates) it may be necessary to restore the Vista boot loader first. SP2 may fail to install if it does not find certain files from the Vista boot loader, in the MBR. Similar problems may occur with SP1  or when there are cloned disks or partitions . The MBR boot code can be backed up and restored with dd, available on System Rescue CD.
It is often recommended that Windows be installed to the first primary partition. The boot loaders of both Windows and Linux identify partitions with a number derived by counting the partitions. (Note, both Windows and Linux count the partitions according to the ordering of the partitions in the partition table, which may be different from the order of the partitions on the disk.) Adding or deleting a partition at the end of a hard drive will have no effect on any partitions prior to it. However, if a partition is added or deleted at the beginning or middle of a hard drive, the numbering of subsequent partitions may change. If the number of the system partition changes, it requires boot loader reconfiguration in order for an operating system to boot and function properly.
Windows must be installed into a primary partition (and in older systems this must be the first partition). Linux can be installed into a partition in any position on the hard drive and can also be installed into logical partitions (within the extended partition). If Linux is installed into a logical partition within the extended partition, it is unaffected by changes in the primary partitions.
Apple Boot Camp
Boot Camp allows owners of Intel-based Apple Macintosh computers to install Windows XP, Vista and Windows 7 on their Macs. The software comes bundled with Mac OS X since version 10.5 (Leopard). Previously the application was available in beta version as a download from Apple's website.
Boot Camp allows non-destructive disk partitioning and resizing of HFS+ filesystems, boot menu options, and an option to burn a CD with necessary device drivers. Since Windows XP is incompatible with Extensible Firmware Interface (the successor to legacy BIOS), the firmware on early Intel Macs need to be updated to support BIOS emulation first. BIOS emulation is achieved with a compatibility support module (CSM). Apple does not support non-Windows partition formats or drivers so therefore configuring other operating systems is not directly possible through Boot Camp itself. However, any operating system which can utilize the BIOS emulation of Intel Macintosh can be made to work, including non-XP versions of Windows. The Ubuntu Linux distribution is particularly popular for this purpose because they provide an option to use proprietary device drivers along with open source drivers.
- Comparison of boot loaders
- GNU GRUB
- Ext2Fsd support for ext2/3/4 under Microsoft Windows
- Multiboot Specification
- Windows To Go
- NeoSmart Technologies' EasyBCD, a free program to configure Multi-booting on Windows
- XOSL, a free, graphical, open source boot loader