openSUSE paleidimo per UEFI atkūrimas iš Linux sistemos

Linux paleidimo atkūrimas yra kitoks sistemose, kuriose naudojama UEFI/EFI, nei tose, kuriose ši kompiuterio paleidimo sistema nėra naudojama. Patarimai šiame straipsnelyje tinka tik tuo atveju, jei kompiuterio paleidimui naudojama UEFI/EFI, tad prieš naudojantis šio straipsnelio patarimais, primygtinai patariame perskaityti visą straipsnelį apie openSUSE sistemos paleidimą per UEFI.

Visos šiame straipsnelyje pateiktos komandos turi būti vykdomos Linux komandinėje eilutėje (pvz., terminalo programoje Konsole) administratoriaus (root) teisėmis. Jei terminalo programą atvėrėte kaip paprastas naudotojas, administratoriaus teises įgausite įvykdę (po to reikės įvesti root naudotojo slaptažodį):

su

Pirmiausia galite peržiūrėti paleidimo per UEFI meniu įrašus įvykdę komandą:

efibootmgr -v

Skaičius, kuris yra pirmasis ties „BootOrder:“ nurodo įrašą, kuriam paleidžiant kompiuterį teikiama pirmenybė.

Komandos išvesties pavyzdys, kai UEFI paleidyklės meniu turi openSUSE įrašą (jo identifikatorius yra Boot0003 ir jis yra pirmasis sąraše), vedantį į rinkmeną \EFI\opensuse\grubx64.efi:

Komandos išvesties pavyzdys, kai UEFI paleidyklės meniu turi openSUSE įrašą (jo identifikatorius yra Boot0004 ir jis yra antrasis, o ne pirmasis sąraše), vedantį į rinkmeną \EFI\opensuse\shim.efi:

Jei openSUSE įrašas jau būtų UEFI meniu įrašų, tačiau jo identificatorius nebūtų pats pirmasis (t.y. jis neturėtų pirmenybės), tuomet galite pakeisti eiliškumą, pirmiausia nurodydami openSUSE identifikatorių (be priesagos Boot), o po to likusius:

efibootmgr -o openSUSE_identifikatorius,žemesnio_prioriteto_identifikatorius,dar_emesnio_prioriteto_identifikatorius,žemiausio_prioriteto_identifikatorius

Paskutiniojo pavyzdžio atveju galėtume pertvarkyti taip, kad pirma būtų bandoma paleisti GRUB2 paleidyklę su galimybe per jos meniu paleisti openSUSE Linux, jei nepavyksta – bandyti tiesiogiai įkelti Windows paleidyklę, jei nepavyksta – paleisti iš DVD (paprastai ieško /EFI/BOOT/bootx64.efi), jei nepavyksta – paleisti iš standžiojo disko (paprastai ieško /EFI/BOOT/bootx64.efi), jei irgi nepavyksta – atverti UEFI komandinę eilutę:

efibootmgr -o 0004,0003,0000,0001,0002

Beje, atsekti į kurį skaidinį veda trečiame išvesties stulpelyje nurodytas skaidinys, galite įvykdę:

blkid -o export

Išvedimo pavyzdys, atitinkantis pirmąjį efibootmgr -v komandos pavyzdį (sutampantis PARTUUID su sekcija prasidedančia DEVNAME=/dedv/sda1 eilute reiškia, kad nukreipia /dev/sda1 skaidinį, t. y. į /dev/sda disko pirmą skaidinį):

Jei openSUSE įrašo nėra, pirmiausia susiraskite FAT tipo skaidinį, kuriame yra /EFI/opensuse katalogas su .EFI prievardžio rinkmenomis. Surasti, kurie skaidiniai yra FAT tipo, galite įvykdę aukščiau minėtąją komandą arba

parted -l

Paprastai FAT tipo skaidiniai nebūna prijungti ir jie yra nematomi eiliniam naudotojui. Laikinai prijungti skaidinį ir patikrinti jo turinį, galite įvykdę komandą (vietoj /dev/sda1 įrašykite norimo patikrinti skaidinio kelią):

SKAIDINYS=/dev/sda1
LAIKINAS_PRIJUNGIMO_KELIAS=$(mktemp -d)
mount $SKAIDINYS $LAIKINAS_PRIJUNGIMO_KELIAS
ls ${LAIKINAS_PRIJUNGIMO_KELIAS}/EFI/opensuse/
umount $LAIKINAS_PRIJUNGIMO_KELIAS
rmdir $LAIKINAS_PRIJUNGIMO_KELIAS

Jei taip betikrindami pastebėjote, kad išvestyje po ls buvo komandos įvykdymo buvo eilutė su EFI rinkmenomis, tarp kurių yra shim.EFI ir grubx64.efi, vadinasi radote tinkamą FAT skaidinį.

Bendruoju atveju, jei noritei pridėti naują UEFI paleidyklės meniu įrašą, įvykdykite:

efibootmgr -c -L “Rodomos pavadimas” -l ‘\kelias\iki\EFI\rinkmenos.efi’ -d /dev/diskas -p skaidinio_numeris

Jei norite pridėti openSUSE įrašą su nuoroda į tinkamą EFI rinkmeną /dev/sda disko antrajame skaidinyje, kai kartu su UEFI yra naudojama saugaus paleidimo (angl. Secure boot) parinktis:

efibootmgr -c -L “openSUSE UEFI Secure” -l ‘\EFI\opensuse\shim.efi’ -d /dev/sda -p 2

Jei norite pridėti openSUSE įrašą su nuoroda į tinkamą EFI rinkmeną /dev/sda disko pirmajame skaidinyje, kai kartu su UEFI nėra naudojama saugaus paleidimo (angl. Secure boot) parinktis:

efibootmgr -c -L “openSUSE UEFI GRUB2” -l ‘\EFI\opensuse\grubx64.efi’ -d /dev/sda -p 1

Jei norite (ar dvejojate), galite iš karto pridėti abu: tiek įrašą su grubx64.efi, tiek įrašą su shim.efi.

Paprastai paskutiniam pridedamam UEFI meniu įrašui suteikiama pirmenybė.

Jei kartais norėtumėte pašalinti UEFI paleidyklės meniu įrašą, įvykdykite

efibootmgr -Bb identifikatorius_be_Boot_priesagos

Daugiau informacijos apie efibootmgr naudojimą rasite įvykdę:

man efibootmgr

Jei naudojate virtualią mašiną, pvz., VirtualBox, UEFI meniu pakeitimai išliks iš naujo paleidžiant virtualią mašina, tačiau, deja, virtualią mašiną išjungus ir įjungus iš naujo – neišliks.

Daugiau informacijos rasite:

https://en.opensuse.org/openSUSE:UEFI

https://nwrickert2.wordpress.com/2016/01/08/uefi-and-opensuse-leap-42-1-2/