Multi-booting is the act of installing multiple on a single computer, and being able to choose which one to Booting. The term dual-booting refers to the common configuration of specifically two operating systems. Multi-booting may require a custom boot loader.
Multi-booting is also useful in situations where different software requires different operating systems. A multi-boot configuration allows a user to use all of their software on one computer. This is often accomplished by using a boot loader such as NTLDR, LILO, or GNU GRUB which can boot more than one operating system.
Multi-booting is also used by software developers when multiple operating systems are required for development or testing purposes. Having these systems on one machine is a way to reduce hardware costs.
Multi-booting also allows a user to switch between private and work dedicated systems to maintain access integrity and separation between the two user environments, even if the same operating system is used for each of them.
A possible alternative to multi-booting is virtualization, where a hypervisor is used to host one or more running guest operating systems.
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 but where the BIOS in the system does not let the user boot individual drives and partitions. 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. This is necessary because each system has its own set of files and operating instructions. Also, when a completely separate operating system is used partitions may need to be formatted to a different format. For example, if a user intends to install both Windows and Linux, then the Windows partition will be most likely formatted in the NTFS format as Windows cannot run off of ext4, and the Linux partition will most likely be formatted in the ext4 file format as Linux cannot run off of NTFS. However, if a user intends to dual-boot two versions of Windows (i.e. Windows 7 and Windows Vista) or two versions of Linux (i.e. Linux Mint and Ubuntu Linux), then the same file system (e.g. NTFS or ext4) can be used across both drives and partitions.
There are some advantages to installing a Linux boot manager/loader (usually GRUB) as the primary bootloader pointed to by the master boot record. Windows operating systems will be found by properly installed Linux bootloaders, but Windows boot managers do not recognize Linux installations (nor does Windows deal natively with Linux file systems). 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.
With the boot flag set on the Windows primary, the Windows Boot Manager can be used to chainload another installed bootloader through use of a program like EasyBCD. This means the active partition's boot manager will first prompt the user for selection what OS to boot, then load another if necessary, such as GRUB, even a bootloader installed to a logical partition, and then GRUB will load the Linux kernel as it normally would were GRUB installed to the MBR.
The active partition could also be one that exists for no purpose other than choosing an operating system to boot, such as the boot manager that shipped with IBM's OS/2 Warp and its derivatives.
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 needs 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.
|
|