Multi boot. Viac operačných systémov, linuxovych distribúcii na jednom disku/SSD. Ako na to?
Multi boot. Viac operačných systémov, linuxovych distribúcii na jednom disku/SSD. Ako na to? Nastavenie partícii
Veľa som experimentoval. Aj niekoľko desiatok krát som preinštaloval distribúcie. Takže niečo som sa naučil a opri tom aj vzdelával z iných stránok. Robil som viacero experimentov na počítači, kde nemám dáta, ktoré by mi chýbali, takže rád sa podelím s nadobudnutými skúsenosťami
Základom všetkého je vedieť správne nastaviť partície v inštalátore linuxovej distribúcie. Má to svoje pravidlá.
Každá distribúcia má svoju vlastnú koreňovú partíciu root /.
Ďalej je nevyhnutná partícia /boot/efi ktoré slúži pre UEFI boot
niektoré distribúcie ale môžu mať problémy s bootom ak tam nepridáte aj tretiu partíciu /boot ktoré slúži pre BIOS legacy mode
/boot/efi sa smie dať výlučne len v súborovom systéme vFAT alebo fat32 (Jedná sa o totožný súborový systém, ktorý môže mať v linuxe rôzne pomenovania). Jedná sa o partíciu, ktorá komunikuje s UEFI a má účel zavádzača OS. /boot/efi nevyužívajú len linuxové distribúcie ale aj Windows a iné OS.
/boot partícia môže mať ľubovoľný súborový systém ale štandardne sa tam vypĺňa ext4. Táto partícia slúži pre účel BIOSu. Niektoré linuxové distribúcie majú problém s modernizáciu a stále povinne vyžadujú relikt minulosti partíciu /boot pre BIOS. Počítačov ktoré nepodporujú UEFI je dnes už málo, musí ísť o počítače staršie ako 20 rokov
kým novšie počítače majú predvolené UEFI s možnosťou prepunia do BIOS, staršie počítače ako môj z roku 2007 má predvolený BIOS s možnosťou nastavenia do režimu UEFI
UEFI je modernejšie a novšie riešenie, avšak väčšina počítačov ešte stále podporuje prepnúť UEFI do režimu BIOS, tzv. Legacy mode.
Kým každý operačný systém (OS) linuxová distribúcia má svoju vlastnú partíciu root, naopak /boot/efi a /boot všetky liniux distribúcie zdieľajú, takže takto to treba pri inštalácii distribúcie vždy nastaviť. /boot/efi partícia je zdieľaná aj s OS Windows.
SWAP partícia zväčša nie je už potrebná a môže byť zdieľaná viacero distribúciami na jednom disku. Swap partícia má zmysel až vtedy ak by sa Vám vyskytol problém s uspaním a následným prebudením počítača. Počas spánku PC by sa mali údaje z RAM uložiť do SWAP partície a pri zobudení sa tieto údaje znovu načítajú. Odporúčana veľkosť SWAP by mala byť cca veľkosť RAM (hoci koľko ľudí toľko názorov)
inštalátor Calamares, ktorý je súčasťou mnoho distribúcii v predvolených nastaveniach tiež nepoužíva osobitnú partíciu /boot, avšak potom má Lubuntu napr. v prípade súborového systému BTRFS na roote problém s bootovaním, Nedoriešený bug
čo sa týka mojich experimentov, tak niektoré súborové systémy na root potrebujú boot partíciu iné nie, aby sa správne nabootovali. Napr. F2FS nespustíte na mnohých distribúciach len z boot/EFI partície bez boot partície. Distribúcie založené na Arch linuxe podporujú aj F2FS bez potreby boot partície. Arch linux je najviac inovatívny
jedná sa viacmenej o bug. Po správnosti by mali všetky distribúcie na všetkých súborových systémoch podporovať správne bootovanie len z boot/EFI partície bez potreby /boot partície. V praxi je to ale zložitejšie a je veľmi otázne o koľko rokov sa dočkáme týchto vylepšení na všetkých distribúciach, ktoré mali byť už dávno. Ideálne by ste mali vedieť spustiť linux distribúciu len na dvoch partíciach a to je koreňová partícia a jedna boot/efi partícia
moje odporúčanie je najprv vyskúšať s dvoma partíciami a keď nebude fungovať bootovanie, potom preinštalovať a pridať aj tretiu boot partíciu
Tesne po zapnutí počítača treba na počítači stláčať na klávesnici tlačidlo, ktorá spustí možnosti zavádzania. Napr. F12. Každý počítač môže mať na to iné tlačidlo. Treba vyhľadať model počítača. Každý výrobca to môže mať inak. V UEFI sa zobrazia bootovacie možnosti ako je napríklad práve pripojený USB kľúč z bootovacou položkou, alebo nainštalované operačné systémy. Fotka napríklad tu. Prostredníctvom linux programu bez grafického rozhrania zvaného efibootmgr je možné upraviť poradie položiek v UEFI zavádzači, vymazať alebo pridať položku. Na mojom PC je možné priamo z UEFI cez grafické rozhranie zmazať alebo upraviť poradie položiek. Použiť efibootmgr má význam keď chcete pridať položku
existuje určité nepohodlie s bootovaním OS z UEFI, preto existujú programy ako napríklad Clover EFI bootloader, rEFInd Boot Manager ktoré to robia viac pohodlným. Odporúčam rEFInd Boot Manager
existujú však ale aj určité bugy / chyby čo sa týka inštalácie viacero linux distribúcii na jednom disku. Stretol som sa s problémami ako napríklad distribúcie založené na Ubuntu sa v EFI partícii bili medzi sebou. Novšie nainštalovaná distribúcia v /boot/efi partícii poškodila, prepísala alebo zmazala súbory nevyhnutné sa spustenie skorej nainštalovanej distribúcie. Je možné zálohovať a obnoviť si tie súbory pred inštaláciou. Problematiku kedy sa distribúcie medzi sebou bijú na jednom disku popisuje Roderick W. Smith tu.
Aby sa distribúcie na jednom disku nebili medzi sebou, jedno z riešení je vytvoriť osobitne pre každú distribúciu osobitú /boot/efi a /boot partíciu
štruktúru súborov na partíciach boot/efi a /boot si môžete pozrieť tak, že do prehliadača súborov zadáte lomítko /. Potom kliknite na boot a potom na efi. Každá distribúcia ma svoj vlastný priečinok. Prípadne si môžete pozrieť protredíctvom programu Gnome Disks
Často využívam príkaz programu efibootmgr pre účel pridania boot UEFI položky:
sudo efibootmgr -c -d /dev/sda -p 7 -L <label> -l '\EFI\<label>\grubx64.efi'
príklad: sudo efibootmgr -c -d /dev/sda -p 1 -L Ubuntu -l '\EFI\ubuntu\grubx64.efi'
„p“ znamená číslo efi partície
<label> Nahradiť názvom distribúcie napr Lubuntu.
„EFI\<label>\“ label nahradiť názvom priečinku danej distribúcie. Napr. ubuntu. Priečinok vždy nájdete v EFI partícii, ľahko sa doň dostanete prostredníctvom aplikácie Disks
aby príkaz v termináli fungoval, treba skontrolovať cez aplikáciu Gnome Disks či je partícia pripojená. Ak nie je pripojená, tak ju pripojiť
ešte lepší príkaz je toto: sudo efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L "Linux Mint"
zdroj: Bootloader Grub for modern computers with EFI and UEFI-based BIOS: how to repair or re-install it
vždy inštalujte partície na GPT tabuľku, nie zastaralú MBR. V opačnom prípade môžete mať problémy s kompatibilitou. Napr. Ubuntu mi vôbec nešlo nainštalovať na MBR. Čo je to GUID Partition Table (GPT)?. Čo je to Master boot record (MBR)?
Odkazy
Viacero operačných systémov na jednom disku. Dual boot. Multi boot. Pokračovanie
všetky operačné systémy a distribúcie (Linux Windows) majú boot/efi partíciu spravidla spoločnú – to je také nepísané všeobecné pravidlo
je však možné urobiť EFI partíciu osobitnú pre každú distribúciu alebo operačný systém. Stalo sa mi, že niektoré distribúcie zmazali alebo prepísali súbory a priečinky čím znemožnili boot predchádzajúce nainštalovaného operačného systému. Niektorí ľudia hovoria, že aktualizácia Windowsu poškodila bootovanie linuxu. Windows zmazal súbory na EFI partícii. Aplikácia s grafickým rozhraním Boot-Repair ale dokáže obnoviť boot linuxu aj keď všetky súbory na efi partícii zmažete. Niekedy vás program môže vyzvať aby ste zadali príkazy do terminálu, ale je to jednoduchý proces copy paste
existujú aj návody čisto na základe príkazových riadkov ako vytvoriť zmazanú EFI partíciu. Odkaz1, odkaz2
Súbory na EFI partícii je možné zálohovať a to aj odporúčam. Je to veľmi jednoduché princíp copy paste, netreba žiadne ďalšie konfigurácie. Dá sa to či už zo live spustenej distribúcie alebo priamo z linuxu keď otvoríte prehliadač súborov ako root v terminále napríklad „sudo nautilus“, „sudo nemo“, Doplhin má návod trochu zložitejší ale všetko sa dá vygoogliť.
Lepšie je inštalovať linux bez osobitnej boot partície, pretože vtedy sa ukladajú bootovacie súbory linuxového jadra každá na osobitnú root partíciu a nedochádza tak ku vzájomnému prepisovaniu týchto súborov v prípade ak inštalujete viacero distribúcii na rovnaký disk
riešenie problému: ak sa vám nejaká zbytočná alebo duplikovaná položka z boot UEFI možnosti nedá zmazať, treba zmazať potrebné súbory v efi partícii. Alebo použiť program efibootmgr
Návod ako znovu obnoviť nainštalovať úplne zmazanú EFI partíciu
testoval som aj inštaláciu Windows 11 potom ako som na SSD nainštaloval linuxové distribúcie. Neboli problémy, že by Windows zmazal súbory na EFI partícii. Nič nezmazal
GRUB
pokiaľ dobre fungujú UEFI boot možnosti, GRUB nie je potrebný ale experimentoval som aj s touto možnosťou. To je už ale značne zložitejšie
vyskytli sa značné problémy, aby sa všetky nainštalované distribúcie dostali do GRUBu. sudo update-grub nepomohlo ani vtedy ak som odstránil blokovanie os-prober.
Grafická aplikácia GRUB Customizer môže pomôcť doplniť chýbajúce distribúcie v GRUB ponuke. Dokáže upraviť súbor grub.cfg. Tento súbor sa nachádza v súborovej adrese /boot/grub/grub.cfg. Podľa mojich skúseností funguje to ale len na poslednej nainštalovanej distribúcii. Pomocou programu Disks môžete vyhľadať grub.cfg od iných distribúcii na ich koreňovom adresári, skopírovať potrebnú časť kódu. Dá sa to relatívne jednoducho vydedukovať ktoré časť kódu je potrebná
Odkazy k téme
Inštalátori / spúšťače .iso súborov (Súvisiaca téma)
Testoval som mnoho takže môžem povedať aké som mal skúsenosti.
Rufus je jednoznačne najlepší pre účel inštalácie Windows 11 na počítačoch ktoré nespĺňajú minimálne hardvérové požiadavky.
Na obídenie týchto požiadaviek tiež funguje dobre aj Universal USB Installer, YUMI: Create a Multiboot USB for Windows & Linux https://pendrivelinux.com/. Výhoda že sa jedná aktuálne asi o najviac aktívne vyvíjaný projekt.
Ventoy a YUMI majú výhodu, že na jednom USB môžete mať viacero inštalačných .iso súborov. Fungujú tak, že najprv ich nakonfigurujete a potom na USB môžete klasicky pridávať a mazať ISO súbory ako na normálny USB a okrem toho tam mať uložené aj iné nie-inštalačné súbory
A čudovali by ste sa koľko linuxových alternatív je k Rufusu 10 Best Rufus Alternatives for Windows, Linux, and macOS
Aktualizácia 13.2.2025
Experiment. Viaceré distribúcie založené na Ubuntu nainštalované na jednom disku. Bugy a ich oprava
túto problematiku som už načrtol hore, avšak považujem za prospešné ju podrobnejšie vysvetliť
je možné že v novších verziách budú tieto bugy opravené a o pár mesiacov to nemusí byť aktuálne
prvý problém je, že takmer všetky distribúcie založené na Ubuntu vrátane Linux Mint, Lubuntu, Kubuntu atď, zapíšu do UEFI ponuky názov „Ubuntu“. Výnimka bola len KDE neon distribúcia, keď som experimentoval. Takže v UEFI boot ponuke máte viacero položiek s názvom Ubuntu a neviete ktorej distribúcii je priradený
ďalší problém, že takmer všetky distribúcie založené na Ubuntu, majú na EFI partícii názov priečinku „ubuntu“. Pri každej novej inštalácii nová distribúcia prepíše súbory v priečinku z predchádzajúcej inštalácie. V praxi tento problém znamená, že prístup máte len do poslednej nainštalovanej distribúcie, ale predchádzajúce nainštalované distribúcie nenabootujete a nemáte k ním prístup ani cez UEFI ponuku.
Ubuntu Desktop po inštalácii dokonca úplne zmazal priečinok s názvom neon, od distribúcie KDE neon, hoci v tomto prípade ešte ju nabootujete cez UEFI
A možno si poviete, že veď tento problém vyrieši GRUB a zobrazí všetky predchádzajúce distribúcie v menu ponuke. Žiaľ v aktuálnych verziách distribúcii je bug. Väčšinou to dopadne tak, že v GRUBe máte len jednu ponuku a to posledne nainštalovanú distribúciu. Podarilo sa mi zistiť, že zdroj problému je nejaká chyba v programe os-prober. Žiaľ ani početné návody s riešením problémov s os-prober ktoré sa dali vygoogliť mi nepomohli. Nepomohol ani príkaz sudo update-grub, ktorý má závislosť os-prober
Riešenie hore uvedených problémov
pred každou novou inštaláciou distribúcie si zálohovať priečinok/priečinky z už nainštalovaných distribúcii z EFI partície, pretože inštaláciou novej distribúcie môžu byť tieto súbory poškodené, zmazané, prepísané. Ja som na zálohu používal USB kľúč, kde som si priečinky skopíroval.
Samozrejme každá distribúcia musí mať svoj vlastný priečinok s vlastným názvom na EFI partícii. Na EFI partícii premenujte priečinok ubuntu na kubuntu, lubuntu, linux-mint atď.
to by malo stačiť aby ste vedeli každú distribúciu spustiť cez rEFInd
nie je odveci keď pred každou novou inštaláciou zmažete boot priečinky každej predchádzajúcej distribúcie aby nemali medzi sebou „konflikty“. Ja som to robil tak. Zostanú však zálohované na USB, takže po inštalácii je ich možné obnoviť.
Na pridanie ponuky do UEFI môžete vytvoriť položky pre každú distribúciu pomocou hore uvedeného príkazu programu efibootmgr
Ako môže GRUB nahradiť UEFI boot ponuku alebo rEFInd
Čo je to vlastne rEFInd? rEFInd je užívateľsky viac prívetivé riešenie UEFI boot ponuky, keď to poviem dosť zjednodušene.
GRUB však tiež dokáže načítavať priamo z EFI partície či už Linux alebo Windows OS.
Otvorte súbor /boot/grub/grub.cfg a vložte nasledovný skript
menuentry "Lubuntu" {
insmod fat
insmod chain
search --no-floppy --set=root --file /EFI/lubuntu/grubx64.efi
chainloader /EFI/lubuntu/grubx64.efi
}
Samozrejme jedná sa o vzorový príklad, ktorý funguje na mojom PC.
Len ako poznámka na okraj, vzhľadom k tomu, že v mojom prípade nepoužívam osobitnú „/boot“ partíciu, súbor grub.cfg sa nachádza v koreňovom adresári a nie na efi partícii.
Manuálne pridanie bootovacej možnosti GRUB do grub.cfg súboru
príklad: najprv ste si nainštalovali Lubuntu a potom Kubuntu. Lubuntu sa ale v GRUB nezobrazuje. Riešenie je nasledovné:
otvorte súbor grub.cfg v textovom editore. Urobte si jeho zálohu
cez program Disks pripojte partíciu na ktorej je nainštalované Lubuntu a nájdite súbor grub.cfg ktorý patrí Lubuntu.
Skopírujte časť skriptu, ktorá je predvolená bootovacia možnosť pre Lubuntu
vložte túto časť skriptu / kódu do pôvodne otvoreného grub.cfg súboru patriacemu Kubuntu
následne reštartujte počítač a budete vidieť novú ponuku Lubuntu v GRUB
(príkazom sudo update-grub by sa mal súbor grub.cfg vrátiť do pôvodného nastavenia, čo môžete využiť v prípade ak ste niečo pokazili a neviete ako z toho von. Alebo môžete použiť uvedenú zálohu ak ste niečo pokazili, máte až dve možnosti. V najhoršom prípade môžete opravy urobiť cez live USB)
príklad uvedenej pridanej časti skriptu je tu: fungovalo na mojom experimentálnom PC: Jedná sa o partíciu číslo 5 (gpt5), hd0 znamená SSD SATA verzia. Súborový systém je v tomto prípade BTRFS. Súbor ktorý sa začína „vmlinuz“ je linuxové jadro ktoré zodpovedá za bootovanie:
menuentry 'Lubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-618561d7-e324-4326-8709-857bd867ee54' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 618561d7-e324-4326-8709-857bd867ee54
else
search --no-floppy --fs-uuid --set=root 618561d7-e324-4326-8709-857bd867ee54
fi
linux /@/boot/vmlinuz-6.8.0-41-generic root=UUID=618561d7-e324-4326-8709-857bd867ee54 ro rootflags=subvol=@ quiet splash $vt_handoff
initrd /@/boot/initrd.img-6.8.0-41-generic
}
Nezabudnite sledovať prípadné aktualizácie v tomto článku. Ak pri experimentovaní nadobudnem nové vedomosti, tak sa rád podelím.
Prílohy
Pre pridávanie komentárov sa musíte prihlásiť.
1. multiboot linux. distribucii problem nie je. Problem moze nastat pri zdielanom /home.
2. pri multiboot linux + windows je lepsie pouzit 2 disky so samostatnymi efi particiami a bootovat cez bios
Ja dual boot na jednom disku tiež nemusím. Keď som mal Linux a Windows v jednom počítači, na jednom ssdčku som mal Linux, na druhom Windows a tretí disk som používal čisto dáta a pripájal ho k obom OS a prišlo mi to ako najlepšie riešenie.
Z mojich skúseností ak ide viacero linux distribúcii na jednom disku, tak je to OK, len ak je viacero distribúcii založených na Ubuntu tak to robí problémy na EFI partícii. Ďalšie nepríjemné problémy som mal s GRUBom. GRUB v predvolenom režime môže načítať ostatné OS pracuje nezávislo od EFI partície, jediný problém, že sa vyskytol nejaký problém s programom os-prober, ktorý nevedel nájsť všetky nainštalované linux distribúcie. Nepomohli ani všetky možné návody z internetu. GRUB totiž vyhľadáva distribúcie pomocou os-prober
Mne sa osvedčil Ventoy aj pri distrách, ktoré som nevedel zapísať na kľúč s Etcherom.
Ja tiež najčastejšie používam Ventoy. Jediné čo mi ale na ňom nešlo bol Windows 11. Ten ale dobre išiel na Universal USB Installer
Prisiel som po 7. bod a ... ZASE BLUDY! PRESTAN PISAT O NIECOM, O COM NEMAS ANI PARU! ROZUMIES?
Tiež sa tam s niektorými vecami nestotožňujem, avšak takéto výkriky do tmy nemajú žiadny zmysel. Ak sa ti tam niečo nepozdáva, napíš čo, nech aj ostatní z toho niečo majú. Alebo oveľa lepšie, napíš o tejto téme článok, aby si uviedol veci na pravú mieru.
On sa asi rozhodol trollovať tento portál hejtom :D
Ja si myslím že pdpč má prehľad a vie, len nevie držať emócie na uzde a podať informácie.