Multi-boot
Multi-boot (též multi-booting, dual-booting) je v informatice označení možnosti výběru z několika operačních systémů při startu počítače (tzv. bootování). Uživatel vybere jeden systém z nabídky, kterou typicky vytváří zavaděč jádra operačního systému (např. GRUB). Dual-boot nabízí na výběr ze dvou systémů (např. Microsoft Windows a Linux).
Použití
Pomocí multi-bootu je možné na jednom fyzickém počítači provozovat více nezávislých operačních systémů (softwarových platforem), ve kterých může být k dispozici různé softwarové vybavení. Hlavním důvodem multi-bootu je tedy většinou nekompatibilita některého používaného programu s primárním operačním systémem. Toto bývá běžně způsobeno jinou architekturou systému (PPC, Intel), nepodporovanou verzí programu, nebo binární nekompatibilitou mezi dnes běžně používanými operačními systémy. Multi-boot může být použit i k testování jiné verze operačního systému bez nutnosti zásahu do stávající instalace. Lze využít například k seznámení s novým operačním systémem, migraci dat a nastavení aplikací, před vlastním odstraněním starého operačního systému. Výběr z více operačních systémů je také užitečný v oblasti vývoje software, kdy je potřeba několik různých operačních systémů pro vývoj, nebo testovací účely.
Technická řešení
Při zapnutí počítače nejprve EFI/BIOS zkontroluje stav HW a poté předá kontrolu zavaděči, který je umístěn na specifickém místě média (HDD, CD, DVD, disketa, síť). Místo je vždy určeno architekturou počítače. U IBM kompatibilních PC se jedná o první sektor, který se nazývá MBR. Zavaděč načte jádro operačního systému do paměti a předá mu řízení. Multi-boot lze tedy zajistit různými způsoby. Většina současných IBM PC kompatibilních počítačů umožňuje v UEFI/BIOSu zvolit, z jakého fyzického zařízení bude načten zavaděč pro operační systém (tj. jeden z dostupných pevných disků, optická mechanika, USB flash disk, PXE na síťové kartě a podobně). Tento způsob však není příliš uživatelsky přívětivý. Častěji se pro výběr systému při multi-bootu využívá speciální program, který nahradí standardní zavaděč.
Realizace pomocí EFI/BIOSu
Některé verze UEFI/BIOSu dovolují zvolit zavaděč přímo. Například UEFI u počítačů Apple nabízí při startu po stisku klávesy Alt (Option) seznam dostupných systémů, které je možné zavést. U počítačů IBM PC kompatibilních umožňuje BIOS firmy Phoenix Technologies po stisknutí klávesy F12 během startu počítače výběr zařízení, ze kterého BIOS použije zavaděč. V tomto případě je možný výběr pouze mezi fyzickými zařízeními bez ohledu na jeho obsah.
Realizace pomocí zavaděče
Dnes se používají různé zavaděče, které podporují více operačních systému. Většina Linuxových distribucí dnes používá GRUB, který nahradil dříve populární LILO. Můžeme však použít i XOSL.
Oddíly
Vzhledem k tomu, že je více operačních systémů instalováno na jeden fyzický počítač, který často má pouze jeden pevný disk, používá se rozdělení disku na oddíly. Každý operační systém pak má jeden, či více svých oddílů. Rozdělení disku je možné pomocí specializovaných nástrojů, jako je například Správce logických disků (standardní součást systémů řady Windows NT), GParted (GNU Linux) nebo Disková utilita (Mac OS X).
Microsoft Windows
Zavaděč Microsoft Windows podporuje multi-boot jen v omezené míře a to většinou jen s různými verzemi Windows. V případě, že použijeme alternativní zavaděč, jako je GRUB, bude původní zavaděč Windows nahrazen, což může působit problémy při jeho aktualizacích. Zavaděč Windows lze obnovit pomocí příkazu fixboot
z instalačního média (tento nahradí jakýkoliv zavaděč implicitním zavaděčem pro Windows, takže například přepíše GRUB). Některé oddíly s Windows mohou být na sobě závislé. Pokud nainstalujeme více kopií Windows na jednom disku, může se stát, že se nainstaluje jen jeden společný zavaděč na první oddíl. Při odstranění tohoto oddílu, či nahrazení zavaděče zde, nebude možné z druhého oddílu nabootovat.
Linux
Linux je většinou distribuován se zavaděčem GRUB, který detekuje ostatní nainstalované operační systémy, které očísluje a poté zpřístupní v nabídce. Podobně se chová i jeho předchůdce LILO. Při instalaci Windows a Linuxu se doporučuje nejdříve nainstalovat MS Windows do prvního oddílu a poté Linux s GRUBem do oddílu druhého. V opačném pořadí by Windows přepsal GRUB a do Linuxu by nebylo možné nabootovat.
Apple Mac OS X
Mac OS X od verze 10.5 (Leopard) obsahuje v základní instalaci BootCamp, který dovoluje instalaci Windows ve verzích XP, Vista a 7 za pomocí grafického průvodce přímo z operačního systému. BootCamp sám zmenší oddíl s Mac OS X, vytvoří oddíl pro Windows a automaticky jej nainstaluje. UEFI bylo také doplněno o emulaci BIOSu, takže lze zprovoznit téměř libovolný operační systém a to včetně Linuxové distribuce Ubuntu, která je pro tyto účely oblíbená.
Alternativní řešení
Virtualizace počítače
Na rozdíl od multi-bootu dovoluje virtualizace počítače současný běh více operačních systémů na jednom fyzickém stroji. Typicky slouží jeden operační systém jako hostitelský, v němž je nainstalován software pro virtualizaci (VirtualBox, VMWare, Parallels, Qemu, Citrix). Tento software virtualizuje kompletní HW počítače, kde lze provozovat další operační systémy.
Výhody virtualizace
Tento model je jednodušší na správu (lze lehce zálohovat, klonovat obraz disku, či pozastavit běh virtuálního stroje) a také bezpečnější (virtualizované programy nemohou zasahovat přímo do HW hostitelského PC).
Nevýhody virtualizace
Vzhledem k současnému běhu více operačních systémů je využíváno více dostupných prostředků. Virtualizace je tedy náročnější na výkon počítače.
Zpřístupnění platformy bez virtualizace (emulace)
Většinou se jedná o přepsání všech rozhraní původního systému a poskytnutí aplikacím. Typickým příkladem je například Wine, který poskytuje rozhraní Windows na *nix platformách, jako je Linux, či Mac OS X.
Výhody emulace
Toto řešení většinou nevyužívá žádný kód z původního operačního systému a není třeba mít jeho licenci. Aplikace běžící emulovaně se chovají jako nativní aplikace v hostitelském operačním systému. Není třeba mít nainstalován druhý operační systém.
Nevýhody emulace
Nevýhodou bývá nekompletní implementace, která nezaručuje bezproblémový běh všech aplikací.