Imam prenosni računalnik HP Pavilion Touchsmart, ki je bil opremljen z operacijskim sistemom Windows 8. Nadgradil sem ga na različico 8.1, zdaj pa želim z dvojnim zagonom distribucije Ubuntu vzpostaviti operacijski sistem Windows 10. Pri dvojnem zagonu z Windows 8.1 je imel upravitelj zagona Windows vedno prednost, tudi po namestitvi GRUB-a. Kaj moram storiti, da bo GRUB postal privzeti zagonski program namesto Windows Boot Managerja?
To je najdaljša objava, ki sem jo kdajkoli objavil na spletnem mestu StackExchange, vendar ta postopek zahteva veliko razlage in pozornosti do podrobnosti. Prav tako je nekoliko specifičen za zadevno strojno opremo, kar zahteva več pojasnil. Po številnih glavobolih, dveh naključnih preoblikovanjih trdega diska in veliko razočaranja zaradi HP-jeve napake pri izvajanju vdelane programske opreme sem končno dosegel, da Xubuntu in Windows 10 lepo delujeta drug ob drugem. To sem naredil z operacijskim sistemom Windows 10, vendar bi moralo delovati tudi z operacijskim sistemom Windows 8.1. Oba novejša operacijska sistema uporabljata nov sistem vdelane programske opreme UEFI namesto tradicionalnega sistema BIOS, pri katerem se pojavlja največ nejasnosti pri dvojnem zagonu. Na številnih mestih sem prebral veliko stvari z navodili za dvojno zagonsko namestitev s sistemom BIOS, ki govorijo o UEFI, kot da gre le za drugačno vrsto sistema BIOS ali izbirno plast med sistemom BIOS in operacijskim sistemom. UEFI in BIOS nista ista stvar; UEFI ni BIOS in BIOS ni UEFI. Sta popolnoma različna. Pri dvojnem zagonu s sistemom UEFI je treba nekatere stvari narediti drugače. Prvič, ne uporabljajte programa EasyBCD. Videl sem že veliko zastarelih priročnikov za dvojno zagonsko namestitev, ki priporočajo EasyBCD, vendar je zasnovan za delovanje s tradicionalno vdelano programsko opremo BIOS, ki jo uporabljata operacijska sistema Windows 7 in Windows Vista, in ne deluje dobro z novejšo vdelano programsko opremo UEFI (Windows 8, 8.1 ali 10). Če ste se že igrali z EasyBCD, ne skrbite - najhuje, kar je verjetno storil, je, da je z zapisovanjem stvari v MBR naredil nered v vaših zagonskih vnosih EFI. To bomo počistili v četrtem koraku. Ko govorimo o MBR, se ga izogibajte kot kuge. Glavni zagonski zapis (Master Boot Record) se v tradicionalni vdelani programski opremi BIOS uporablja kot seznam zagonskih programov, ki so shranjeni v zagonskem razdelku (ali, če ga je zapisal sistem Windows, v razdelku, ki je prvi) vašega trdega diska. Namenjen je naštevanju operacijskih sistemov na trdem disku in sporočanju vdelani programski opremi, kateri se bo najprej zagnal. To ne deluje dobro s HP-jevo vdelano programsko opremo UEFI. Zdi se, da se ob kakršni koli spremembi MBR vdelana programska oprema HP UEFI zmede in se vrne v upravitelja zagona Windows, ki popolnoma zaobide GRUB. Kaj potrebujete:
Preden namestite Ubuntu, boste želeli uporabiti svoj live CD/USB, da zanj ustvarite ločeno particijo. Na ta način ne bo prepisal sistema Windows. *Preverite, da imate varnostno kopijo. Brez jamstev - to je odvisno od tega, kaj se je Windows odločil narediti na vašem zagonskem razdelku, lahko pa je odvisno tudi od tega, katero različico Ubuntuja/distribucijo uporabljate - vseh še nisem uporabljal. Za izdelavo razdelkov morate zagnati svoj live CD/USB in odpreti program gparted. O uporabi programa gparted je na voljo veliko priročnikov in dokaj enostavno ga je razumeti, zato bom podrobnosti prepustil vam in internetu.
Windows
. To vam bo olajšalo namestitev sistema Windows. Ko govorimo o namestitvenem programu Windows, ga še ne začnite uporabljati. Če hkrati nameščate Ubuntu in Windows, namesto da bi nadgradili 8 ali 8.1 na 10, je veliko lažje najprej namestiti Ubuntu.Ne glede na to, ali na operacijski sistem Windows 10 nadgrajujete obstoječi operacijski sistem Windows ali pa na nov ali na novo razdeljen trdi disk nameščate tako operacijski sistem Windows 10 kot distribucijo Ubuntu, je veliko lažje, če najprej namestite Ubuntu. Ubuntu uporablja GRUB 2 kot zagonski program, ki izvaja stvari tako, kot bi jih moral zagonski program EFI. Windows 10 uporablja program Windows Boot Manager, ki dela stvari... no, tako kot jih dela Windows... Če najprej namestite Windows, verjetno ne boste mogli zagnati Ubuntuja, ne da bi med postopkom zagona držali pritisnjeno posebno tipko, ki prepreči nalaganje programa Windows Boot Manager, saj program Windows Boot Manager ne upošteva GRUB-a, ko ga doda na svoj seznam zagonskih nalagalnikov. Namesto tega najprej namestite Ubuntu in GRUB, nato pa v GRUB dodajte vnos za Windows Boot Manager.
Korak 4.1: Čiščenje starih vnosov EFI (neobvezno)
Na tem mestu bodite previdni. Brisanje napačnih stvari lahko povzroči velike težave.
Pred namestitvijo Ubuntuja se želimo prepričati, da nas duhovi preteklih namestitev operacijskega sistema ne bodo strašili v prihodnosti. V sistemu UEFI operacijski sistemi uporabljajo datoteke EFI (extensible firmware interface), da vdelani programski opremi sporočijo: "Hej, obstajam. Ko je nameščen nov operacijski sistem, doda vnos na seznam upravitelja zagona EFI, ki mu dodeli edinstveno številko vnosa, in upravitelju zagona EFI pove, kje so njegove datoteke EFI (Windows registrira več različnih datotek EFI - eno za običajni zagon, eno za obnovitveni zagon, eno za hitri zagon - morda več, odvisno od vdelane programske opreme in različice operacijskega sistema). Upravitelj zagona EFI spremlja tudi vrstni red zagona: seznam številk vnosov, ki določajo, kaj se bo najprej zagnalo. Če ste uporabljali EasyBCD, bcdedit, orodja za popravilo ali obnovitev sistema Windows, popravilo zagona v operacijskem sistemu Linux ali celo če ste posodobili ali ponovno namestili sistem Windows, obstaja velika verjetnost, da je na seznamu vnosov EFI zdaj nekaj podvojitev. Vsaj tako je bilo v mojem primeru. Podvojeni vnosi lahko ovirajo postopek zagona, saj vdelana programska oprema prebira zastarele vnose ali vnose z napačnimi datotekami, dokler ne najde delujočega zagonskega programa. To lahko povzroči tudi zagonsko zanko, pri kateri zagonski polnilnik A usmeri vdelano programsko opremo na zagonski polnilnik B, ki jo usmeri nazaj na A, in potem se stvari začnejo zelo, zelo dolgo vleči...
Kakor koli že, če si želite ogledati seznam vnosov EFI in videti, kaj je treba očistiti, uporabite paket efibootmgr
z živim CD-jem/USB-jem. V terminal ga morate namestiti z uporabo sudo apt-get install efibootmgr
, nato pa ga zaženite z uporabo sudo efibootmgr
. Privzeto boste dobili seznam vnosov, ki je videti nekako takole:
Ko sem prvič uporabil to orodje, potem ko sem se poigraval z EasyBCD in bcdeditom, da bi stvari zagnal v pravem vrstnem redu, sem imel tukaj več kot sto vnosov, od katerih se je večina podvajala.
IČe vaš seznam upravitelja zagona ni preveč natrpan ali če se vam ne ljubi odločati, kaj se lahko izbriše in kaj ne, preskočite na korak 4.2.
Če želite počistiti vnose, ki jih ne potrebujete, uporabite efibootmgr -b <hex_number> -B
, pri čemer hex_number
nadomestite s številko, ki je navedena pri zagonskem vnosu. Če torej želite odstraniti vnos USB Drive (UEFI)
(oštevilčen kot Boot2001) na zgornji sliki, uporabite sudo efibootmgr -b 2001 -B
. Opazili boste, da sem pustil nekaj podvojitev (vseh več kot 3000 oštevilčenih vnosov). Uporabite lahko efibootmgr
z različnimi možnostmi, da si ogledate nekatere druge atribute vnosov, na primer poti do datotek, na katere kažejo. Ti vnosi so videti kot podvojeni, vendar vsi kažejo na različne datoteke, ki jih moj HP-jev prenosnik uporablja za posodobitev BIOS-a. Prosimo, bodite previdni pri odstranjevanju. Tu je lahko zelo težko ali nemogoče zamenjati stvari. Uporabite lahko tudi program efibootmgr, da spremenite BootOrder, ki ga prikaže. Za več informacij o tem uporabnem orodju glejte stran man.
Korak 4.2: namestitev Ubuntuja
Ko ste pospravili vnose upravitelja zagona EFI, če ste se za to odločili, je končno čas za namestitev Ubuntuja. Ko imate naloženo zgoščenko Live CD/USB, izberite možnost namestitve v meniju zagonskega programa ali jo zaženite z namizja po prijavi. Na prvi strani namestitvenega programa izberite možnosti. Drugi del bo videti približno takole: (Uporabljam Xubuntu 14.04, zato se lahko vaš namestitveni program razlikuje, vendar morajo biti možnosti precej podobne.)
Če vaš namestitveni program ne zazna namestitve Windows (kot moj), boste morali izbrati možnost "Nekaj drugega". Od tam boste dobili zaslon, ki je podoben meniju programa gparted, ki ste ga uporabili za nastavitev particij. Preprosto izberite ustvarjene particije in jih dodelite pravilni priključni točki tako, da izberete particijo in kliknete "Spremeni".
Na voljo morate imeti namestitveni disk za operacijski sistem Windows 10. Preden začnete z nameščanjem, se prepričajte, da imate v bližini ključ izdelka, sicer ne boste mogli namestiti/nadgraditi. Ko zaženete računalnik z namestitvenega CD-ja/USB-ja, je namestitveni program precej preprost. Malo preveč preprost za moje udobje - edini gumb je bil "Namesti Windows 10" ali nekaj podobnega, sistemi Windows 8, 8.1 in 10 pa so zloglasni zaradi svojih namestitev v ozadju, kjer preprosto piše "Pripravljamo stvari" in ne vsebuje nobenih podrobnosti o tem, kaj dejansko počne z vašim sistemom. Če ste do zdaj upoštevali ta navodila, bi moralo biti vse v redu, da začnete z redno namestitvijo.
sudo update-grub
. To bo zagnalo skripto os-prober, ki jo GRUB uporablja za sestavo datoteke grub.cfg, ki datoteki grub'EFI pove, katere vnose naj vključi, katere barve naj uporabi itd. Skripta os-prober bo prepoznala program Windows Boot Manager in ga samodejno dodala na seznam.
Po želji lahko namestite program Grub Customizer, da spremenite vrstni red vnosov menija ter spremenite obnašanje in barvo ter ozadje menija GRUB. To lahko namestite iz terminala z uporabo sudo apt-get install grub-customizer
in nato zaženete sudo grub-customizer
.
Če GRUB uporabljate v sistemu UEFI, ki si ga delite z operacijskim sistemom Windows, NE nameščajte v MBR. V nekaterih priročnikih je uporaba možnosti "Install to MBR" v meniju Datoteka navedena kot ključni korak. V večini sistemov UEFI tega ne smete storiti. MBR (Master Boot Record) je zasnovan za vdelano programsko opremo BIOS-a, do neke mere pa ga še vedno uporablja nalagalnik za zagon operacijskega sistema Windows. Dodajanje GRUB-a v MBR, če je že na seznamu vnosov EFI, lahko povzroči veliko preglavic.
Če se morate prepričati, da je GRUB prvi vnos na seznamu zagonskega vrstnega reda (tj. če se vedno zažene Windows, čeprav ste vse naredili pravilno), uporabite efibootmgr (glejte korak 4.1) za ogled/ureditev zagonskega vrstnega reda upravitelja EFI.
OpombeSecure Boot sploh nisem omenil, ker običajno ne bi smel vplivati na namestitev Ubuntuja. Številna navodila za dvojno zagonsko namestitev govorijo o tem, da ga je treba onemogočiti, vendar to pri trenutni 64-bitni namestitveni datoteki običajno ni potrebno. Vendar je vsak računalnik drugačen in Secure Boot je dokaj nov (2012), zato lahko različni programi stvari izvajajo drugače. Različica moje HP-jeve vdelane programske opreme na primer vključuje možnost "legacy boot", ki onemogoča Secure Boot in nameščene operacijske sisteme obravnava kot vdelano programsko opremo BIOS-a: nekateri priporočajo, da to omogočite pri nameščanju za dvojni zagon. Namestitev Ubuntuja v načinu legacy boot v mojem sistemu je preprečila, da bi se GRUB dodal na seznam vnosov EFI, zato se je lahko dodal le v MBR, nad katerim je imel Windows Boot Manager popoln nadzor. Program Windows Boot Manager je bilo treba precej nastavljati, da je sploh prikazal seznam vnosov, po vsem tem pa je zagnal samo vnose Windows, zaradi česar je bil GRUB neuporaben brez ročne izbire datoteke EFI vsakič, ko sem ga vklopil. Za več informacij o Ubuntuju in varnem zagonu ter starejšem zagonu in informacije o razliki med namestitvami UEFI in BIOS na splošno glej tukaj.
Ne želim podvajati objave za morebitno kršitev politike, zato bom povezal svoj odgovor za ta problem. Na kratko, imam prenosni računalnik Samsung z že nameščenim Windows 10 in poskušal sem namestiti linux z več instancami; Ubuntu 12.04, 14.04 in 16.04. Uporabil sem Boot-Repair in spremenil Boot Priority v Setup BIOS*, kar je privedlo do funkcionalnega, vendar neurejenega GRUB, ki se najprej naloži. Odgovor uporabnika Michael Hoffmann vsebuje dobro razlago za namestitev na prazen disk in kako očistiti GRUB*, vendar nisem želel odstraniti svoje namestitve Windows 10.
Podrobna razlaga je na voljo v mojem prispevku TUKAJ.
Nekoliko lažja rešitev za zgornjo težavo.