systemd-boot (Magyar)
A systemd-boot(7), korábban gummiboot (németül "gummiboot" azaz "gumicsónak") néven ismert, és néha sd-boot néven emlegetett program, egy könnyen beállítható UEFI boot manager program. Szövegalapú menüt biztosít a boot bejegyzés kiválasztására, valamint egy szövegszerkesztőt biztosít a kernelparancssor számára.
Vegye figyelembe, hogy a systemd-boot csak EFI végrehajtható fájlokat képes elindítani (például a Linux kernel EFI boot stub, UEFI shell, GRUB, vagy a Windows Boot Manager fájlokat el tudja indítani). Továbbá, vegye figyelembe, hogy csak bizonyos helyekről tudja a végrehajtható fájlokat elindítani. Elindítani tud arról az EFI rendszerpartícióról, amelyre maga a systemd-boot fel van telepítve. Továbbá, elindítani tud az XBOOTLDR partícióról (Extended Boot Loader Partition), de csak akkor, ha az indítható fájl ugyanazon az adathordozón van rajta amelyen maga systemd-boot is telepítve van.
esp az EFI rendszerpartíció csatolási pontját jelöli, míg a boot az opcionális XBOOTLDR partíció csatolási pontját jelöli. Feltételezhető, hogy Ön chroot-olta az operációs rendszer csatolási pontját.Támogatott fájlrendszerek
A systemd-boot örökli a firmware programból származó fájlrendszer-támogatást (azaz legalább FAT12, FAT16 és FAT32). Emellett betölti azokat az UEFI-illesztőprogramokat, amelyek az esp/EFI/systemd/drivers/ könyvtárban találhatók.
Telepítés
A systemd-boot a systemd szoftvercsomaggal együtt érkezik, amely a base meta-szoftvercsomagnak a szoftvercsomag-függőségét képezi, így a számítógépen nincs szükség további szoftvercsomagok kézi úton történő feltelepítésére.
UEFI boot manager feltelepítése
A systemd-boot feltelepítése előtt győződjön meg arról, hogy az operációs rendszer valóban UEFI módban bootolt be, és az UEFI változók valóban elérhetők. Ez ellenőrizhető az efivar --list parancs futtatásával, vagy ha a efivar nincs telepítve, akkor az ls /sys/firmware/efi/efivars parancs futtatásával (ha a könyvtár létezik, akkor az operációs rendszer valóban UEFI módban indult el).
Használja a bootctl(1) parancsot a systemd-boot program ESP parícióra történő feltelepítése érdekében:
# bootctl install
A fenti művelet a systemd-boot UEFI boot manager programot átmásolja az ESP partícióra, létrehoz számára egy UEFI boot bejegyzést, és a létrehozott bejegyzést első helyre állítja be az UEFI bootolási sorrendben.
- x64 UEFI esetén a
/usr/lib/systemd/boot/efi/systemd-bootx64.efifájl másolódik azesp/EFI/systemd/systemd-bootx64.efiés azesp/EFI/BOOT/BOOTX64.EFIhelyre. - IA32 UEFI esetén a
/usr/lib/systemd/boot/efi/systemd-bootia32.efifájl másolódik azesp/EFI/systemd/systemd-bootia32.efiés azesp/EFI/BOOT/BOOTIA32.EFIhelyre.
Az UEFI boot bejegyzés neve "Linux Boot Manager" lesz, és az UEFI bitszám függvényében az ESP partíción található \EFI\systemd\systemd-bootx64.efi vagy \EFI\systemd\systemd-bootia32.efi fájlra fog mutatni.
- A
bootctl installfuttatásakor a systemd-boot megpróbálja az ESP partíciót a/efi,/bootés/boot/efiútvonalakon megtalálni. Ha azesppartíció más helyen van, akkor a--esp-path=espopciót kell megadni. (Részletekért tekintse meg a bootctl(1) § OPTIONS man súgót.) - A systemd-boot feltelepítése felülírja a meglévő
esp/EFI/BOOT/BOOTX64.EFIfájlt (IA32 UEFI esetén aesp/EFI/BOOT/BOOTIA32.EFIfájlt), például a Microsoft Windows fájlját. - Ha pid névtérben fut, akkor a bootctl nem módosítja az UEFI változókat/boot bejegyzéseket, ami az arch-chroot(8) nem-systemd módjában fordul elő. A chroot környezeten belül Ön használja az
arch-chroot -Sparancsot a boot bejegyzés létrehozásához.
A feltelepítés befejezése érdekében állítsa be a systemd-boot programot.
Telepítés XBOOTLDR használatával
Külön /boot partíció hozható létre "Linux extended boot" (XBOOTLDR) típusban annak érdekében, hogy a kernel és az initramfs fájlt el legyen különítve az ESP partíciótól. Ha a meglévő ESP partíció mérete túl kicsi, akkor ez a módszer különösen hasznos a Windows rendszerrel történő dual boot esetén. Grml vagy Archiso szintén lehetséges felhasználási esetek.
Készítse elő az ESP partíciót a szokásos módon, és hozzon létre egy másik partíciót az XBOOTLDR számára ugyanazon a fizikai adathordozón. Az XBOOTLDR partíciónak a következő partíciótípus GUID azonosítóval kell rendelkeznie: bc13c2ff-59e6-4262-a352-b275fd6f7172 [1] (ea00 típus gdisk esetén, xbootldr típus fdisk esetén). Az XBOOTLDR partíció méretének elég nagynak kell lennie ahhoz, hogy ráférjen az összes kernel, amelyet Ön telepíteni kíván.
- A systemd-boot nem végez fájlrendszer-ellenőrzést, mint ahogy azt az ESP esetében teszi. Ezért bármilyen fájlrendszer használható, amelyet az Ön UEFI implementációja képes olvasni.
- Ha a "fast boot" mód engedélyezve van, akkor az UEFI kihagyhatja az ESP partíción kívüli partíciók betöltését. Ez ahhoz vezethet, hogy a systemd-boot nem talál bejegyzéseket az XBOOTLDR partíción. Ebben az esetben tiltsa le a "fast boot" módot.
- Az XBOOTLDR partíciónak ugyanazon a fizikai adathordozón kell lennie, mint ahol az ESP partíció van annak érdekében, hogy a systemd-boot felismerje az XBOOTLDR partíciót.
A telepítés során csatolja fel az ESP partíciót a /mnt/efi útvonalra, és az XBOOTLDR partíciót csatolja fel a /mnt/boot útvonalra.
Amikor Ön a chroot környezetben van, használja a következő parancsot:
# bootctl --esp-path=/efi --boot-path=/boot install
A feltelepítés befejezése érdekében állítsa be a systemd-boot programot.
UEFI boot manager frissítése
Valahányszor új verzió jelenik meg a systemd-boot programból, az UEFI boot manager opcionálisan újratelepíthető a felhasználó által. Ez történhet manuális úton vagy automatikusan. A kettő megközelítés az alábbiakban kerül bemutatásra.
Manuális úton történő frissítés
Használja a bootctl parancsot a systemd-boot felfrissítése érdekében:
# bootctl update
bootctl install parancshoz hasonlóan a systemd-boot megpróbálja az ESP partíciót a /efi, /boot és /boot/efi útvonalakon megtalálni. Ha az esp partíció más helyre van beállítva, akkor át kell adni a --esp-path=esp opciót.Automatikus úton történő frissítés
A systemd-boot automatikus úton történő frissítése érdekében Ön használjon systemd szolgáltatást vagy automatikus műveletindítót. Az alábbiakban mind a kettő módszer bemutatásra kerül.
systemd szolgáltatás
A systemd a 250 verziótól kezdve tartalmazza a systemd-boot-update.service szolgáltatást. Ennek a szolgáltatásnak az engedélyezése azt eredményezi, hogy a systemd-boot minden bootoláskor lefuttatja a következő parancsot:
# bootctl --no-variables --graceful update
Hasonlóan a manuális úton történő frissítéshez, ez megpróbálja megtalálni az ESP partíciót a /efi, /boot vagy /boot/efi útvonalon. Ha újabb verzió érhető el a /usr/lib/systemd/boot/efi/ könyvtárban, akkor a parancs frissíti az ESP partíción található összes telepített systemd-boot program verzióját. Először egy .efi.signed kiterjesztésű systemd-boot fájlt keres annak érdekében, hogy lehetővé tegye a felhasználók számára a futtatható bináris képfájl aláírását a Secure Boot használatához.
Automatikus műveletindító
A systemd-boot-pacman-hookAUR szoftvercsomag hozzáad egy pacman automatikus műveletindítót (pacman hook), amely minden alkalommal lefut, amikor a systemd frissítésre kerül. Ez a automatikus műveletindító abban különbözik a systemd szolgáltatás módszertől, hogy csak akkor próbálja meg frissíteni a boot manager programot, amikor a systemd frissül, tehát nem minden bootoláskor próbál frissíteni. Továbbá, azonnal végrehajtódik, tehát nem vár a következő bootolásra.
Az AUR szoftvercsomag feltelepítése helyett Ön inkább manuális úton helyezheti el a következő fájlt a /etc/pacman.d/hooks/ könyvtárban:
/etc/pacman.d/hooks/95-systemd-boot.hook
[Trigger] Type = Package Operation = Upgrade Target = systemd [Action] Description = Gracefully upgrading systemd-boot... When = PostTransaction Exec = /usr/bin/systemctl restart systemd-boot-update.service
Secure Boot aláírása
Ha Önnek engedélyezve van a Secure Boot a számítógépén, akkor érdemes lehet hozzáadni egy pacman automatikus műveletindítót, amely minden szoftvercsomag frissítéskor automatikusan aláírja a boot manager programot:
/etc/pacman.d/hooks/80-secureboot.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/lib/systemd/boot/efi/systemd-boot*.efi
[Action]
Description = Signing systemd-boot EFI binary for Secure Boot
When = PostTransaction
Exec = /bin/sh -c 'while read -r f; do /usr/lib/systemd/systemd-sbsign sign --private-key /path/to/keyfile.key --certificate /path/to/certificate.crt --output "${f}.signed" "$f"; done;'
Depends = sh
NeedsTargets
Cserélje le a /path/to/keyfile.key és a /path/to/certificate.crt fájlokat az Ön saját aláíró kulcsára és tanúsítványára. Az automatikus műveletindító jobb megértése érdekében tekintse meg a systemd-sbsign(1) man súgót.
A bootctl install vagy a bootctl update automatikusan felismeri a létrehozott /usr/lib/systemd/boot/efi/systemd-boot*.efi.signed fájlt. Ezzel kapcsolatban tekintse meg a bootctl(1) § SIGNED .EFI FILES man súgót.
Alternatív megoldásként használja a sbctl programot.
Beállítás
bootctl parancsot (argumentumok nélkül) annak érdekében, hogy megbizonyosodjon arról, a systemd-boot megfelelően tudja értelmezni a beállítást.Loader beállítása
A loader beállítása az esp/loader/loader.conf fájlban van eltárolva. Részletekért tekintse meg a loader.conf(5) § OPTIONS man súgót.
Egy példa a loader beállítására alább látható:
esp/loader/loader.conf
default arch.conf timeout 4 console-mode max editor no
- A
defaultéstimeoutértékek módosíthatók közvetlenül az boot menüben, és a változtatások UEFI változóként (LoaderEntryDefaultésLoaderConfigTimeout) kerülnek tárolásra, felülírva ezeket az opciókat. - A
bootctl set-default ""és azbootctl set-timeout ""parancsokkal törölhetők az UEFI változók, amelyek felülírják adefaultéstimeoutbeállításokat. - Ha Ön a
timeout 0értéket állította be, akkor a boot menü aSzóközbillentyűgomb megnyomásával érhető el. - Egy alapvető loader beállításfájlja a
/usr/share/systemd/bootctl/loader.confhelyen található. - Ha az boot manager (a boot bejegyzés kiválasztása közben) torzítva jelenik meg vagy hibás felbontást használ, akkor Ön megpróbálhatja a
console-modebeállításátautoértékre állítani (heurisztikát használ a legjobb felbontás kiválasztásához),keepértékre állítani (megtartja a firmware által biztosított felbontást), vagy2értékre állítani (megpróbálja kiválasztani az első nem UEFI-s szabványos felbontást).
Utolsó boot bejegyzés megjegyzése
A default módosítható @saved értékre annak érdekében, hogy a rendszer bootoláskor megjegyezze az utoljára kiválasztott boot bejegyzést. Ez hasznos lehet, amikor Ön Windows és Linux kettős rendszerindítást használ (dual boot), és a Windows váratlan automatikus frissítése Önt átlépteti Linux rendszerbe.
esp/loader/loader.conf
default @saved ...
A további részletekért tekintse meg a loader.conf(5) man súgót.
Loaderek hozzáadása
A systemd-boot a .conf fájlokat a /loader/entries/ könyvtárban keresi azon az EFI rendszerpartíción, ahonnan ő maga is elindult, továbbá, ugyanazon az adathordozón az XBOOTLDR partíción keres.
- Az
esp/loader/entries/*.confbejegyzések csak azesp/könyvtárban lévő fájlokat (például kernel, initramfs, képfájlok stb.) használhatják, míg aboot/loader/entries/*.confbejegyzések kizárólag aboot/könyvtárban lévő fájlokat használhatják. - A fájlútvonal-paraméterek az EFI rendszerpartíció vagy az XBOOTLDR partíció gyökérkönyvtárához képest vannak viszonyítva. Például, amikor az EFI rendszerpartíció vagy az XBOOTLDR partíció a
/bootalá van felcsatolva, akkor a/boot/vmlinuz-linuxfájlt alinuxkulcsban/vmlinuz-linuxformában kell megadni. - Amikor a Secure Boot aktív, akkor az egységes kernelképfájlok (UKI fájlok), amelyek beágyazott
.cmdlinefájlt tartalmaznak, figyelmen kívül hagyják az összes nekik átadott parancssori opciót (akároptionskulccsal megadott boot bejegyzésből van szó, akár interaktív megadásról van szó). Ha a Secure Boot nem aktív, akkor a parancssorban átadott opciók felülírják a beágyazott.cmdlinetartalmát.
A következőben egy példát láthatunk a loader fájlokra, amelyek egy kötetből indítják az Arch operációs rendszert annak xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx UUID azonosítóját felhasználva:
esp/loader/entries/arch.conf
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw
esp/loader/entries/arch-fallback.conf
title Arch Linux (fallback initramfs) linux /vmlinuz-linux initrd /initramfs-linux-fallback.img options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw
Tekintse meg a Boot Loader Specification dokumentumot az összes beállítási lehetőség részleteiért.
A systemd-boot automatikusan ellenőrzi a bootolás során a Windows Boot Manager meglétét a /EFI/Microsoft/Boot/Bootmgfw.efi helyen, az Apple macOS Boot Manager meglétét a firmware programban, a /shellx64.efi UEFI shell fájlt, valamint az EFI alapértelmezett loader programot a /EFI/BOOT/bootx64.efi útvonalon, továbbá ellenőrzi a külön előkészített kernelfájlokat a /EFI/Linux/ könyvtárban. Észlelés esetén a megfelelő bejegyzések auto-windows, auto-osx, auto-efi-shell és auto-efi-default címekkel automatikusan létrejönnek. Ezekhez a bejegyzésekhez nincs szükség kézi úton történő loader beállításra. Ugyanakkor más EFI alkalmazásokat nem érzékel automatikusan (ellentétben a rEFInd programmal), ezért a Linux kernel bootolásához manuálisan kell bejegyzésbeállításokat létrehozni.
- A beállított, elérhető boot bejegyzések kilistázhatók a
bootctl listparancs segítségével. - Egy példabejegyzésfájl a
/usr/share/systemd/bootctl/arch.confhelyen található. - Az olyan esetekhez tartozó kernelparaméterek, mint például LVM, LUKS, dm-crypt vagy Btrfs, a megfelelő oldalakon találhatók meg.
/boot/amd-ucode.img vagy a /boot/intel-ucode.img fájlt külön initrd-ben kell megadni, és mindig elsőként kell elhelyezni, a fő initramfs képfájl előtt.UEFI parancssorok vagy más EFI alkalmazások
Amennyiben Ön az edk2-shell szoftvercsomaggal feltelepítette a számítógépre az UEFI parancssort (UEFI Shell-t), akkor a systemd-boot automatikusan felismeri a parancssort a számítógépen és új boot bejegyzést hoz létre az UEFI parancssor számára (amennyiben maga az EFI fájl az esp/shellx64.efi helyre kerül a feltelepítés során).
A következő például szolgáló parancs az UEFI parancssor feltelepítése után futtatható le. A segítségével maga az EFI fájl (tehát maga a parancssor, mint különálló program) az előbb említett helyre másolódik:
# cp /usr/share/edk2-shell/x64/Shell.efi /boot/shellx64.efi
Ellenkező esetben, amennyiben Ön az egyéb EFI alkalmazásokat telepítette fel az ESP partícióra, akkor a következő kódrészleteket használhatja.
efi sor fájlútvonal paramétere az EFI rendszerpartíció gyökérkönyvtárához viszonyítva értendő. Ha az EFI rendszerpartíció a /boot helyre van felcsatolva, és az EFI binárisok a /boot/EFI/xx.efi illetve a /boot/yy.efi útvonalon találhatók, akkor a paramétereket ennek megfelelően efi /EFI/xx.efi és efi /yy.efi formában kell megadnia.esp/loader/entries/fwupd.conf
title Firmware updater efi /EFI/tools/fwupdx64.efi
esp/loader/entries/gdisk.conf
title GPT fdisk (gdisk) efi /EFI/tools/gdisk_x64.efi
Memtest86+
Ennek a programnak a működése érdekében Önnek fel kell telepítenie a számítógépre a memtest86+-efi nevű szoftvercsomagot. Továbbá, a Secure Boot használata esetén Önnek digitálisan alá kell írnia az EFI bináris fájlt.
esp/loader/entries/memtest.conf
title Memtest86+ efi /memtest86+/memtest.efi
Netboot
A systemd-boot képes a Netboot betöltésére. Töltse le az ipxe-arch.efi EFI bináris fájlt és annak digitális aláírását, ellenőrizze, majd helyezze el a javasolt útvonalra: esp/EFI/arch_netboot/arch_netboot.efi.
esp/loader/entries/arch_netboot.conf
title Arch Linux Netboot efi /EFI/arch_netboot/arch_netboot.efi
GRUB
A systemd-boot képes a GRUB betöltésére. A grubx64.efi bináris fájlnak a helye megegyezik a használt --bootloader-id= paraméterrel, amikor a GRUB az ESP partícióra lett rátelepítve.
esp/loader/entries/grub.conf
title GRUB efi /EFI/GRUB/grubx64.efi
Bootolás másik adathordozóról
A systemd-boot (az EFI boot manager, amit a systemd részeként fejlesztettek) az ESP partíción kívül más partíciókról nem tud EFI bináris fájlokat elindítani. A systemd-boot csak bizonyos helyekről képes közvetlenül betölteni EFI binárisokat. Betölteni tud az ESP (EFI System Partition) partícióról. Ez az a speciális partíció, ahonnan maga a systemd-boot is elindul. Továbbá, XBOOTLDR partícióról tud betülteni. Ez egy opcionális, külön partíció ugyanazon az adathordozón, amelyet a systemd-boot támogat a bootbejegyzésekhez. Más partíciókról (például egy másik adathordozón lévő EFI bináris programból) közvetlenül nem tudja elindítani a programot. Ez egy korlátozás a működésében. Viszont van egy kerülőút: A systemd-boot képes átadni a vezérlést az UEFI parancssornak, amely már rugalmasabban tud bármilyen elérhető partícióról vagy adathordozóról EFI bináris programokat futtatni. Tehát a systemd-boot nem maga indítja el az EFI programokat, hanem "utasítja" az UEFI parancssort, hogy tegye meg.
Először telepítse fel a számítógépre az edk2-shell szoftvercsomagot, ahogyan fentebb le van írva. Az UEFI parancssorban használja a map parancsot annak érdekében, hogy Ön jegyzeteket készítsen a partíció FS aliasáról (például: HD0a66666a2, HD0b, FS1 vagy BLK7), amely a megfelelő PARTUUID azonosítóhoz tartozik.
Majd ezt követően használja a exit parancsot annak érdekében, hogy visszatérjen a Linux rendszerbe, ahol létrehozhat egy új boot loader bejegyzést, amely az UEFI parancssoron keresztül futtatja a cél EFI programot:
esp/loader/entries/windows.conf
title Windows efi /shellx64.efi options -nointerrupt -nomap -noversion HD0b:EFI\Microsoft\Boot\Bootmgfw.efi
Győződjön meg róla, hogy az efi útvonal megegyezik azzal a helyszínnel, ahová a shellx64.efi fájl az esp partíción másolva lett. Továbbá, vegye figyelembe, hogy a shellx64.efi EFI fájl máshová is áthelyezhető, így elkerülhető a systemd-boot által történő automatikus bejegyzés létrehozása.
Cserélje ki a HD0b értéket a korábban feljegyzett FS alias értékére.
- A
-nointerruptopció megakadályozza, hogy a cél EFI programot megszakítsa aCtrl+cbillentyűkombináció. - A
-nomap -noversionopciók elrejtik az alapértelmezett UEFI shell üdvözlő szöveget. - Amennyiben Ön azt szeretné, hogy az UEFI parancssor automatikusan visszatérjen a boot manager programhoz, amikor a cél EFI program futása megszűnt (például hiba miatt), akkor adja hozzá a
-exitopciót. - Hozzáadhatja a
-noconsoleoutopciót is, amennyiben az UEFI parancssorban még mindig szükségtelen kimenet jelenik meg.
Bootolás az UEFI firmware beállításba
Ha az Ön számítógépének firmware programja támogatja az operációs rendszerből történő újraindítást bele az UEFI firmware beállításába, akkor a systemd-boot automatikusan hozzáad egy boot bejegyzést az UEFI firmware beállításába történő belebootolás érdekében.
Kernelparaméterek szerkesztője jelszavas védelemmel
Alternatív megoldásként Ön feltelepítheti a systemd-boot-passwordAUR szoftvercsomagot, amely támogatja a password alapvető beállítását. Használja az sbpctl generate parancsot annak érdekében, hogy értéket generáljon ehhez a beállításhoz.
A systemd-boot-password telepítése a következő paranccsal történik:
# sbpctl install esp
Bekapcsolt szerkesztő esetén a rendszer kérni fogja majd az Ön jelszavát, még mielőtt szerkeszteni tudná a kernelparamétereket.
Tippek és trükkök
Billentyűgombok a boot menüben
Ön a boot menüben használhatja a t és T billentyűgombokat a menü időkorlátjának beállítása érdekében, valamint használhatja az e billentyűgombot az adott boot kernelparamétereinek a szerkesztése érdekében. Nyomja meg a h billentyűgombot annak érdekében, hogy megtekintsen egy rövid listát a hasznos gyorsbillentyűgombokkal kapcsolatban. A teljes, boot menüben elérhető billentyűgombok listáját Ön megtekintheti a systemd-boot(7) § KEY BINDINGS man súgóban.
Következő boot kiválasztása
A boot manager integrálva van a systemctl parancsba, így Ön kiválaszthatja, hogy a számítógép újraindítása után melyik opcióval szeretne bootolni. Például, ha Ön készített egy egyedi kernelt és létrehozott egy boot bejegyzésfájlt esp/loader/entries/arch-custom.conf néven, hogy azzal induljon a rendszer, akkor a következőképpen egyszerűen elindíthatja:
$ systemctl reboot --boot-loader-entry=arch-custom.conf
Majd ezt követően a számítógép újraindul abba a boot bejegyzésbe, miközben az alapértelmezett opció érintetlen marad a későbbi bootokhoz. A lehetséges boot bejegyzések listájának megtekintése érdekében adja át a --boot-loader-entry=help opciót.
Amennyiben Ön közvetlenül az alaplap firmware menüjébe szeretne bebootolni, akkor használhatja ezt a parancsot:
$ systemctl reboot --firmware-setup
Unified kernel images
Az egységes kernelképfájlok (Unified Kernel Image -UKI- fájlok) az esp/EFI/Linux/ könyvtárban automatikusan betöltésre kerülnek a systemd-boot által, és nincs szükség bejegyzésre az esp/loader/entries könyvtárban. (Megjegyzés: Az egységes kernelképfájloknak .efi fájlkiterjesztéssel kell rendelkezniük ahhoz, hogy a systemd-boot felismerje őket.)
default érték beállítva az esp/loader/loader.conf fájlban, akkor az esp/loader/entries/ könyvtárban lévő fájlok kerülnek először betöltésre. Távolítsa el ezeket a bejegyzéseket, vagy állítsa be az alapértelmezést a teljes fájlnévvel, azaz default arch-linux.efi.Grml az ESP partíción
PKGBUILD elérhető a grml-systemd-bootAUR szoftvercsomagból.A Grml egy kis méretű live rendszer, amely rendszeradminisztrációhoz és mentéshez szükséges szoftverek gyűjteményét tartalmazza.
A Grml ESP partícióra történő telepítése érekében egyedül a kernel vmlinuz, az initramfs initrd.img, valamint a grml64-small.squashfs tömörített bináris képfájl kell az iso fájlból az ESP partícióra felmásolni. Ehhez először töltse le a grml64-small.iso fájlt, majd csatolja fel (a csatolási pontot a továbbiakban mnt-nek nevezzük). A kernel és az initramfs a mnt/boot/grml64small/ könyvtárban található, míg a tömörített kép a mnt/live/grml64-small/ könyvtárban helyezkedik el.
A sikeres felcsatolás után hozzon létre egy könyvtárat a Grml számára az ESP partíción:
# mkdir -p esp/grml
A könyvtár létrehozása után másolja bele a könyvtárba a fent említett fájlokat:
# cp mnt/boot/grml64small/vmlinuz esp/grml # cp mnt/boot/grml64small/initrd.img esp/grml # cp mnt/live/grml64-small/grml64-small.squashfs esp/grml
Az utolsó lépésben hozzon létre egy boot bejegyzést a systemd-boot számára: Az esp/loader/entries könyvtárban hozzon létre egy grml.conf fájlt a következő tartalommal:
esp/loader/entries/grml.conf
title Grml Live Linux linux /grml/vmlinuz initrd /grml/initrd.img options apm=power-off boot=live live-media-path=/grml/ nomce net.ifnames=0
Az elérhető bootolási lehetőségek áttekintéséhez tekintse meg a Grml cheatcode című leírást.
Archiso az ESP partíción
PKGBUILD elérhető az archiso-systemd-bootAUR szoftvercsomagból.Ahogy a Grml, úgy az Arch Linux ISO is felhasználható. Ehhez át kell másolni a vmlinuz-linux kernelt, az initramfs-linux.img initramfs fájlt, valamint az airootfs.sfs squashfs képfájlt az ISO fájlból az EFI rendszerpartícióra.
Első lépésben töltse le az archlinux-ÉÉÉÉ.HH.NN-x86_64.iso bináris képfájlt.
Ezután az ESP partíción hozzon létre egy könyvtárat az archiso számára:
# mkdir -p esp/EFI/archiso
Csomagolja ki az arch könyvtár tartalmát az előbb létrehozott könyvtárba:
# bsdtar -v -x --no-same-permissions --strip-components 1 -f archlinux-YYYY.MM.DD-x86_64.iso -C esp/EFI/archiso arch
Az utolsó lépésben hozzon létre egy boot bejegyzést a systemd-boot számára: Az esp/loader/entries könyvtárban hozzon létre egy arch-rescue.conf fájlt a következő tartalommal:
esp/loader/entries/arch-rescue.conf
title Arch Linux (rescue system) linux /EFI/archiso/boot/x86_64/vmlinuz-linux initrd /EFI/archiso/boot/x86_64/initramfs-linux.img options archisobasedir=/EFI/archiso archisosearchfilename=/EFI/archiso/boot/x86_64/vmlinuz-linux
Az elérhető boot lehetőségek áttekintéséhez tekintse meg a README.bootparams a mkinitcpio-archiso-hoz című leírást.
Arch helyreállító képfájl az ESP partíción Secure Boot társaságában
A hivatalos Arch ISO jelenleg nem támogatja a Secure Boot funkciót. Ennek következtében a Secure Boot funkciót le kell tiltani ahhoz, hogy az ISO elinduljon helyreállítás vagy karbantartás céljából. Ez gyengíti a rendszer biztonságát, és nem ideális megoldás.
Alternatívaként létrehozható egy aláírt egységes kernelképfájl (UKI kernelképfájl) a mkosi segítségével, feltéve, hogy a Secure Boot már be van állítva és megfelelően működik az Ön rendszerén. Ez lehetővé teszi, hogy Ön egy aláírt Arch helyreállító környezetbe tudjon belépni anélkül, hogy le kellene tiltania a Secure Boot funkciót, vagy mindenhová magával kellene vinnie egy Arch ISO USB adathordozót.
A https://swsnr.de/archlinux-rescue-image-with-mkosi/ leírja azt, hogy miként lehet Secure Boot-kompatibilis Arch helyreállító képfájlokat beállítani. Egy gyakorlati kiindulópont elérhető a https://codeberg.org/swsnr/rescue-image weboldalon, amelyhez Ön hozzáadhatja saját szoftvercsomagjait.
systemd-boot BIOS rendszereken
Amennyiben Önnek szüksége van egy BIOS rendszerekhez használható boot loader programra, amely követi a Boot Loader Specification előírásait, akkor a systemd-boot program a BIOS alapú rendszereken is szolgálatba állítható. A Clover boot loader támogatja a BIOS rendszerekről történő bootolást, és emulált UEFI környezetet biztosít.
Hibaelhárítás
Nem jeleníti meg a boot bejegyzésemet a systemd-boot
Ezt a jelenséget a beállításfájlban különféle problémák okozhatják. Például a kernel elérési útja hibásan lett megadva. A ellenőrzés érdekében futtassa a következő parancsot:
# bootctl
Telepítés BIOS módban történő bootolás után
Ha Ön BIOS módban bootolt be, akkor továbbra is telepítheti a systemd-boot programot, azonban ez a folyamat megköveteli, hogy a firmware programot arra utasítsa, hogy bootoláskor a systemd-boot EFI fájlját töltse be:
- Ön rendelkezik egy működő UEFI parancssorral (UEFI Shell) valahol máshol.
- Az Ön firmware felülete biztosítja annak lehetőségét, hogy Ön megfelelően beállíthassa az EFI fájlt, amelyet bootoláskor be kell tölteni.
- Ha nincs más boot bejegyzés beállítva az UEFI-ben, akkor egyes firmware programok használhatják az alapértelmezett
esp/EFI/BOOT/BOOTX64.EFIfájlt.
Ha ezt meg tudja tenni, akkor a telepítés egyszerűbb: Lépjen bele az UEFI parancssorba vagy a firmware beállításfelületébe, és állítsa át a számítógép alapértelmezett EFI fájlját az esp/EFI/systemd/systemd-bootx64.efi fájlra.
Manuális úton történő boot bejegyzés létrehozása az efibootmgr használatával
Ha a bootctl install parancs nem sikerült, akkor Ön manuális úton létrehozhat egy UEFI boot bejegyzést a efibootmgr használatával:
# efibootmgr --create --disk /dev/sdX --part Y --loader '\EFI\systemd\systemd-bootx64.efi' --label "Linux Boot Manager" --unicode
Ahol a /dev/sdXY az EFI rendszerpartíciót jelenti.
\) kell használni.Manuális úton történő boot bejegyzés létrehozása Windows alól a bcdedit használatával
Ha bármilyen okból szükséges UEFI boot bejegyzést létrehozni Windows rendszerből, akkor Ön az alábbi parancsokat használhatja rendszergazdai parancssorból:
> bcdedit /copy "{bootmgr}" /d "Linux Boot Manager"
> bcdedit /set "{guid}" path \EFI\systemd\systemd-bootx64.efi
Cserélje le a guid értéket az első parancs által visszaadott azonosítóra. Ezt Ön beállíthatja alapértelmezett boot bejegyzésként is a következő parancs használatával:
> bcdedit /default "{guid}"
Nem jelenik meg a boot menü a Windows frissítése után
Tekintse meg az UEFI#Megváltoztatja a Windows a boot sorrendet című leírást.
Windows BitLocker TPM feloldási lehetőségének hozzáadása
Annak érdekében, hogy a BitLocker ne kérje a helyreállítási kulcsot, adja hozzá a következő sort a loader.conf fájlhoz:
esp/loader/loader.conf
reboot-for-bitlocker yes
Ez beállítja a BootNext UEFI változót, amelynek eredményeként a Windows Boot Manager betöltődik anélkül, hogy a BitLocker a helyreállítási kulcsot kérné. Ez egyszeri módosítás, és a systemd-boot marad az alapértelmezett boot loader. Nincs szükség Windows boot bejegyzés megadására, amennyiben az automatikusan felismerésre került.
Ez egy kísérleti funkció, ezért mindenképpen tekintse át a loader.conf(5) man súgót.