openSUSE paleidimo per UEFI atkūrimas iš Windows sistemos

Vargu, ar prarasite galimybę paleisti Linux, jei kompiuteryje įdiegtos vien tik Linux operacinės sistemos. Didesnė tikimybė prarasti galimybę paleisti Linux yra tuomet, kai Linux sistemą naudojate šalia Microsoft Windows operacinės sistemos; taip gali nutikti, pvz., po Windows diegimo ar atnaujinimo. Tad toliau pateikiami būdai, kaip keisti UEFI paleidyklės meniu paleistoje Microsoft Windows operacinėje sistemoje. Beje, 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 yra naudojama UEFI/EFI, tad prieš naudojantis šio straipsnelio patarimais, primygtinai patariame perskaityti visą straipsnelį apie openSUSE sistemos paleidimą per UEFI. Jei jūsų kompiuteryje nėra naudojama UEFI/EFI paleidyklė, žiūrėkite čia.

Toliau aptarsime du būdus:

  1. Pirmasis būdas paprastesnis ir draugiškesnis eiliniam naudotojui, tačiau tam reikalinga papildoma EasyUEFI programa.
  2. Antruoju būdu dirbama Windows komandinėje eilutėje, tačiau nereikia nieko papildomai diegti. Be to, tokiu būdu galima pakeisti numatytojo Windows paleidimo įrašo parametrus.

Nors EasyUEFI kūrėjai siūlo tiek nemokamą versiją, tiek ir mokamą (pastaroji turi daugiau galimybių), bet eiliniam naudotojui openSUSE paleidimo atkūrimui pakanka nemokamos versijos „EasyUEFI Free“, kurią galima paleisti visose Windows Vista/7/8/8.1/10 sistemos atmainose, išskyrus „Enterprise Edition“ („Enterprise Edition“ ir „Windows Server“ palaikomos tik mokamoje programos versijoje). Tolesnės instrukcijos pateiktos „EasyUEFI Free 3.0“ versijai (pasirodžiusiai 2017-06-19):

  1. Parsisiųskite ją iš http://www.easyuefi.com/index-us.html (alternatyvi nuoroda).
  2. Įdiekite EasyUEFI. Beje, šios programos į Windows sistemą įdiegti nepavyks, jei kompiuteryje nėra naudojama UEFI.
  3. Paleiskite įdiegtą EasyUEFI programą.
  4. Pagrindiniame programos lange pasirinkite „Manage EFI boot option“ (konfigūruotii EFI paleidimą).
  5. Jei tarp įrašų matote „openSUSE“, tuomet iškart pereikite prie 12 žingsnio.
  6. Nuspauskite mygtuką naujo UEFI meniu įrašo įtraukimui (angl. create new menu entry).
  7. Kaip operacinės sistemos tipą pasirinkite „Linux or other OS
  8. Pasirinkite GPT disko FAT tipo skaidinį, spragtelėdami jame esantį skrituliuką. Beje, diegiant openSUSE Linux sistemą, naujos EFI rinkmenos kartais gali būti įrašomos jau esamame FAT skaidinyje (pvz., tame, kurį sukūrė Windows, jei openSUSE sistemą diegėte šalia Windows), o kartais sukuriamas naujas FAT tipo skaidinys (net jei koks nors FAT skaidinys jau buvo anksčiau).
    –>
  9. Nuspauskite mygtuką „Browse“ ir ieškokite /EFI/opensuse/ katalogo. Jei tokio katalogo nėra, grįžkite atgal (spausdami „Cancel“ – atšaukti) ir bandykite pasirinkti kitą FAT tipo skaidinį ir ieškokite vėl.
  10. /EFI/opensuse/ katalogo pasirinkite shim.efi (jei BIOS / UEFI nuostatose įgalinta saugaus paleidimo („Secure boot“ parinktis) arba grubx64.efi (jei kartu su UEFI nėra naudojama „Secure boot“ parinktis) ir spauskite „OK“; jei dvejojate, rinkitės shim.efi; arba galite pirma pasirinkti vieną, o vėliau pakartoti 6–12 žingsnius ir pridėti kitą kaip atsarginį, nes UEFI paleidyklė automatiškai pereina prie kitos EFI rinkmenos, jei nepavyksta paleisti bandomos EFI rinkmenos.
  11. Ties „Description“ (pažodžiui verčiant – aprašo) laukeliu įveskite trumpą meniu įrašo pavadinimą, t. y. būtent tokį pavadinimą ir matysite per UEFI paleidyklės meniu. Patvirtinkite naujo UEFI meniu parametrus spausdami OK. Numatytuoju atveju naujas UEFI paleidyklės įrašas įtraukiamas kaip paskutinis (t. y. įgauna patį mažiausią prioritetą).
  12. Norėdami pakeisti įrašų eiliškumą (t. y. prioritetą), pažymėkite norimą perkelti įrašą ir spauskite perkėlimo mygtukus ( arba/ir ). Aukščiausiai sąraše esantis įrašas įgauna pirmenybę visų kitų atžvilgiu.
  13. Dabar jau galite paleisti paleisti kompiuterį iš naujo.
  14. Jei kartais Linux įrašų pridėjimas nepadėjo (vis tiek nepasileidžia GRUB2 meniu su Linux operacinių sistemų pasirinkimu), tačiau visą laiką pasileidžia Windows, tuomet bandykite „Windows Boot Manager“ įrašui priskirti kitą kelią (į Linux sistemos siūlomą EFI) per komandinę eilutę pagal 5–9 žingsnius (EasyUEFI Free to padaryti neleidžia).
Siūlome peržiūrėti darbo su _EasyUEFI_ animaciją:  
![](/images/stories/Windows%20EasyUEFI.gif)

Komandinės eilutės bcedit programa – alternatyvus būdas keisti UEFI paleidyklės meniu:

  1. Per meniu arba per paiešką susiraskite „Komandinės eilutės“ programą (cmd), tačiau jos dar nepaleiskite. Nuspauskite dešinį pelės klavišą ir pasirinkite paleisti šią programą administratoriaus teisėmis (bcedit programa neveiks tinkamai paprasto naudotojo teisėmis). Beje, šiuo atveju PowerShell netinka naudoti vietoj „Komandinės eilutės“. Vykdant komandas gali praversti žinoti, kad komandinės eilutės programos lange pele pažymėtą tekstą galite nukopijuoti nuspaudę įvesties klavišą (angl. Enter), o nukopijuotą tekstą galite įterpti Ly2+Įterpti (angl. Shift+Insert) klavišų kombinacija.

  2. Norėdami peržiūrėti šiuo metu esantį UEFI paleidyklės pagrindinį meniu, įvykdykite:

    bcdedit /enum firmware

    Išvesties pavyzdys:

  3. Kai įrašų daug, galite pabandyti atsirinkti tik norimas išvesties eilutes. Pavyzdžiui, galite pasitikrinti, ar kur nors minimas žodis „opensuse“:

    bcdedit /enum firmware | find “opensuse”

    Pavyzdys, jei „openSUSE“ įrašas jau yra:

  4. Jei kartais tarp įrašų yra minima „opensuse“, galite atitinkamam įrašui suteikti pirmenybę kitų atžvilgiu (abi eilutės šiuo atveju atlieka tą patį, tad įvykdyti pakanka tik vieną iš jų):

    bcdedit /set {fwbootmgr} default {ID}
    bcdedit /set {fwbootmgr} displayorder {ID} /addfirst

    Tačiau vietoj {ID} įrašykite openSUSE įrašo identifikatorių (kuris kiekvienu atveju vis skirtingas). Beje, ID nesimatys įvykdžius 3-iame žingsnyje nurodytą komandą, todėl ID ieškokite 2-ame žingsnyje įvykdytos komandos išvestyje (prie 2-o žingsnio pateiktame paveiksliuke ID buvo {a270fc85-7849-11e7-99a8-dafcbb74c15a} ).

  5. Visi tolesni žingsniai skirti tiems atvejams, kai UEFI dar neturi jokio openSUSE įrašo. Jums pirmiausia reikia susižinoti, kuriame skaidinyje yra EFI rinkmenos, kurios atkeliavo openSUSE sistemos. Tikėtina, kad jos bus tame pačiame skaidinyje, kaip kad ir Windows sistemos EFI rinkmenos. Norėdami tai patikrinti, galite laikinai programiškai prijungti pagrindinį Windows EFI skaidinį (paprastai jis slepiamasis ir nematomas) su mountvol komanda (analogiška Linux sistemų mount komandai):

    mountvol x: /s

    Norėdami peržiūrėti, kas yra skaidinyje, kurį prijungėte kaip x:, įvykdykite:

    dir x:

    Turėtumėte matyti EFI katalogą. Norėdami peržiūrėti, kas yra x: skaidinio EFI kataloge, įvykdykite:

    dir x:\EFI


    Jei matote katalogą „opensuse“, greičiausiai jame ir yra openSUSE EFI rinkmenos. Patikrinti x:\EFI\opensuse turinį galite įvykdę:

    dir x:\EFI\opensuse


    Norėdami atjungti su ankstesne komanda prijungtą skaidinį, įvykdykite:

    mountvol x: /d

  6. Jei radote openSUSE EFI rinkmenų, galite tęsti keisdami patį pagrindinį Windows įrašą (kurio identifikatorius yra {bootmgr}). Jei norite, galite pasidaryti jo kopiją:

    bcdedit /copy {bootmgr} /d “Windows paleidimo kopija”

  7. Jei openSUSE EFI rinkmenos yra tame pačiame FAT skaidinyje kaip kad ir Windows EFI rinkmenos ir visuomet pasileidžia Windows sistema, tuomet pakanka pakeisti vien tik pagrindinio Windows įrašo kelią.
    Jei kartu su UEFI yra naudojama saugaus paleidimo („Secure boot“) parinktis:

    bcdedit /set {bootmgr} path \efi\opensuse\grubx64.efi

    Jei kartu su UEFI nėra naudojama saugaus paleidimo („Secure boot“) parinktis:

    bcdedit /set {bootmgr} path \EFI\opensuse\shim.efi

  8. Jei kartais openSUSE EFI rinkmenos yra kitame FAT tipo skaidinyje negu kad Windows, tuomet dar pakeiskite kelią iki skaidinio:

    bcdedit /set {bootmgr} device partition=\Device\HarddiskVolumeN

    Vietoj N raidės HarddiskVolumeN įrašykite skaičių, nurodantį FAT skaidinio numerį (paprastai tai nurodo, kelintas skaidinys tai yra žiūrint nuo GPT disko pradžios).

Jei openSUSE ir Windows sistemas įdiegėte virtualioje mašinoje, pvz., VirtualBox, UEFI meniu pakeitimai išliks iš naujo paleidžiant virtualią mašina, tačiau virtualią mašiną išjungus ir įjungus iš naujo – neišliks.

Daugiau informacijos rasite:

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

https://forums.opensuse.org/showthread.php/492719-recover-dual-boot-after-install-windows-8-1

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

https://www.tweakhound.com/2015/11/04/dual-boot-opensuse-leap-and-windows-10-uefi/

https://askubuntu.com/questions/744697/i-need-to-see-the-bcdedit-for-a-windows10-ubuntu-install-both-by-wubi-and-by-sep/744809

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/uefi-firmware

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/boot-to-uefi-mode-or-legacy-bios-mode

https://wiki.archlinux.org/index.php/Dual_boot_with_Windows