Installation av Grub-starthanteraren. Hur man får Windows att starta upp först i Grub Installera Boot Repair på Ubuntu

Original: Hur man reparerar Grub Boot Loader på Ubuntu Linux 16.04 / 15.10 / 15.04
Författare: Aun
Publiceringsdatum: 21 juni 2016
Översättning: A. Krivoshey
Översättningsdatum: oktober 2016

Grub (GRand Unified Bootloader) är standardstarthanteraren för de flesta Linux/Unix-system. Det låter dig starta olika operativsystem (du kan installera flera system på din dator), eller starta olika versioner av kärnan om du kör Linux. Om det här programmet är skadat på något sätt kommer du att få felmeddelanden under uppstartsprocessen, och som ett resultat kommer du med största sannolikhet inte att kunna starta upp ditt operativsystem. Som regel är det enda sättet att återställa normal drift i det här fallet att återställa eller installera om Grub-systemets starthanterare. Om den görs på rätt sätt kan denna procedur förhindra dataförlust. Idag kommer vi att lära oss hur man reparerar/installerar om Grub bootloader i Ubuntu system. Stegen nedan utfördes på Ubuntu 16.04, men bör också fungera på vilken som helst någorlunda ny version av Ubuntu. För att slutföra vår uppgift kommer vi att använda det välkända "Boot Repair"-verktyget.

Installera Boot Repair på Ubuntu

Boot Repair används oftast för att fixa fel relaterade till Grub-starthanteraren. Först måste du starta din dator från en Live CD/DVD/USB för Ubuntu (om du letar efter ett sätt att återställa Grub, då är det stor sannolikhet att du inte längre kan starta upp ditt installerade operativsystem).

$ sudo add-apt-repository ppa:yannubuntu/boot-repair

När du har lagt till PPA, uppdatera paketlistan:

$ sudo apt-get uppdatering

Nu kan du installera Boot Repair:

$ sudo apt-get install -y boot-repair

När installationen är klar, kör Boot Repair från Applications > Boot Repair:

Använda Boot Repair för att fixa Grub-fel

Efter startstart Reparera du kommer att se programmets startfönster:

Det allra första alternativet (rekommenderad reparation) kan fixa Grub-fel, klicka på det och det kommer att starta reparations-/ominstallationsprocessen som visas i skärmdumpen nedan.

Enligt instruktionerna i skärmdumpen, öppna en terminal och kör följande tre kommandon:

När du har slutfört dessa kommandon klickar du på "Vidarebefordra" för att fortsätta till nästa steg i återställningsprocessen. Det här är vad du kommer att se i nästa steg:

Kör de tre kommandona nedan i rätt ordning enligt instruktionerna. Under det här steget visas ett fönster som ber dig bekräfta borttagningen av Grub 2, välj "Ja".

$ sudo dpkg --configure -a $ sudo apt-get install -fy $ sudo apt-get install -y --force-yes grub-pc linux-generic

Klicka på "Vidarebefordra" efter att ha slutfört processen, nedan är en skärmdump av nästa steg.

Enligt instruktionerna, kör kommandot nedan i en terminal och när du uppmanas, specificera HDD, på vilken grub kommer att installeras.

$ sudo apt-get install -y --force-yes grub-pc linux-generic

Nu måste du vänta ett par minuter för att de nödvändiga operationerna ska slutföras och du bör se meddelandet nedan:

Starta om ditt system och du bör se en fungerande bootloader-meny.

Slutsats

Grub inte fungerar kan orsakas av olika orsaker, speciellt om du har mer än en installerad. operativsystem, kan olika fel uppstå när du uppdaterar eller installerar dem. Därför är det användbart att ha en sådan utmärkt och gratis program för att lösa problem med bootloadern.

Den här artikeln skulle ha skrivits för ett halvår sedan, men fortfarande ingenting.

Vi kommer att prata om hur man installerar Linux OS som ett andra operativsystem på nya bärbara datorer med UEFI och tidigare. installerat Windows. Förutsatt att den vanliga installationen inte ger önskat resultat, nämligen efter korrekt installation av Linux "bredvid" Windows, kommer bara Windows OS fortfarande att laddas.

Till att börja med, som redan har blivit en tradition, låt oss pricka alla E:n.

Problem.

Vi har en bärbar dator (möjligen en stationär dator, men författaren sysslade bara med en bärbar dator), som använder UEFI och har Windows förinstallerat (troligtvis 8.1, även om det nu redan är 10). Vi vill installera Linux OS på just den här bärbara datorn (vi kommer att prata om Linux Mint, men för andra borde situationen vara liknande) andra operativsystemet (dubbelstart: möjligheten att använda både Windows och Linux efter användarens val). Installera Linux på vanligt sätt * (som jag också kommer att skriva om någon gång, men Internet är fullt av liknande instruktioner), starta om och upptäck vårt faktiska problem:

Envisa Windows startar alltid, ingen Grub, inte en antydan om någon form av dubbelstart.

*Faktum är att det finns minst två viktiga funktioner för Linux installationer på datorer med UEFI. 1) Innan du installerar i samma UEFI måste du inaktivera alternativet för säker start - Security Boot Control (eller något liknande, beroende på UEFI-versionen). Annars kommer lagringsmediet med Linux-distributionen nästan säkert inte att kunna starta. 2) Starthanteraren (Grub) måste installeras på EFI\ESP-partitionen, vanligtvis kallad sda2, och inte bara sda, som det var tidigare, i BIOS-eran. Det här alternativet justeras under Linux-installationsprocessen, vanligtvis någonstans runt diskpartitioneringssteget.

Snabb lösning för de lyckliga.

Försök först att logga in på UEFI (F2- eller DEL-knapp INNAN du startar Windows). Där hittar du avsnittet som anger nedladdningslistan. Den måste innehålla följande element: åtminstone en hårddisk och Windows Loader. Det senare brukar ha högsta prioritet Nedladdningar. Titta igenom resten av objekten i den här listan om det finns något liknande Ubuntu Loader(eller något annat, beroende på vad du installerar Linux distribution) , sedan ler vi och vinkar, sätter det som högsta prioritet och startar om. Efter omstarten bör det efterlängtade Grub-gränssnittet visas med ett val av OS att starta upp.

Om det inte finns några andra "laddare", så har du tur som jag: din bärbara dator har sålt sin själ till Microsoft och vill inte se andra bootloaders. Eller, mycket mindre troligt, Grub är inte installerat korrekt. (läs anteckningarna till föregående avsnitt och gör allt enligt Feng Shui).

Matematisk del och nödvändiga kunskaper.

Om vad UEFI och BIOS är och varför de behövs. Skillnaden mellan MBR och GPT, såväl som deras betydelse, beskrivs i detalj. Vi kommer inte att upprepa oss. Denna information bör vara tillräcklig för att förstå den här artikeln.

Läsaren behöver också grundläggande kunskaper om att installera Linux OS. Vi läste någonstans där.

Du kommer också att behöva grundläggande färdigheter i detta operativsystem, särskilt att hantera filsystemet med hjälp av Midnattschef(MC) ( översikt över huvudfunktioner och kommandon) och grunderna för att arbeta i Linux-konsoler (för Ubuntu-baserat Linux, bra instruktioner för nybörjare).

Du måste installera MC (mint Linux har det inte som standard), kör det som root (administratör), gör ändringar i textfil och kör ytterligare ett par enkla kommandon i konsolen.

Om du kan göra allt detta utan ovanstående instruktioner, jag är glad för din skull, vi kan gå vidare. Dessa instruktioner ges för säkerhets skull, för att undvika de frågor som tas upp i dem.

Lösning.

Observera att hela algoritmen är byggd för Linux Mint OS. I andra Linux (ej baserad på Ubuntu eller Debian) katalognamn och kommandon kan variera något.

  1. Installera Linux bredvid Windows med lämpligt alternativ i ett av de första installationsstegen eller (om det här alternativet inte visas) partitionera hårddisken korrekt (förtjänar en separat artikel, detta skrivs även om på Ubuntu-wikin).
  2. Starta INTE om datorn efter installationen. Om du startade om är det okej, du måste bara starta från live-cd\usb\dvd igen (Linux kommer trots allt inte att starta för dig?).
  3. För säkerhets skull, kör kommandot i konsolen sudo update-grub(genom att ange ett tomt lösenord när du uppmanas att göra det).
  4. Öppna en konsol/terminal eller på annat sätt (till exempel genom att använda programhanteraren i Ubuntu\Linux Mint) installera mc. I konsolen (för system med apt) detta görs på följande sätt: sudo apt-get installera mc(efter vilket du måste ange ett lösenord, låt mig påminna dig om att det inte finns något lösenord i live-läge, tryck bara på Enter och godkänn installationen).
  5. Kör mc som root: sudo mc (och igen ett tomt lösenord om du tillfrågas).
  6. Hitta följande katalog i filsystemet: /boot/efi/EFI.
  7. Byt namn på katalogen (kombination ctrl+F6 i mc) Microsoft till något annat, som Microsoft2.
  8. Skapa en ny katalog med namnet Microsoft (F7-tangent).
  9. Vi går till den nyskapade Microsoft-katalogen och skapar delvis (se nedan) en mapphierarki inom den som liknar den gamla Microsoft (till den som döptes om). I mitt fall hade den denna mappstruktur: /känga/, sedan ett gäng mappar och en fil bootmgfw.efi bredvid dem. Du måste återskapa mappstrukturen exakt upp till den här filen. De där. allt som ligger bredvid behövs inte, utan allt som kommer före det (dvs överordnade mappar, de som ligger intill dem behövs inte heller) vi återskapar den i vår nya Microsoft-mapp. I mitt fall behövde jag bara skapa startmappen, den sista sökvägen till den nya katalogen var så här: /boot/efi/EFI/Microsoft/boot .
  10. Vi hittar i katalogen från steg 6 en mapp med namnet på vår Linux-distribution, i vårt fall är det det ubuntu. Kopiera (vi lämnar originalfilerna och ubuntu-mappen ifall det inte skadar) alla filer från den här mappen till den sista katalogen som skapades i föregående steg (V /boot/efi/EFI/Microsoft/boot) .
  11. I det resulterande filsystemet (i katalogen som skapades i steg 9 och filerna flyttades till den i steg 10) hitta filen grubx.efi eller grubx64.efi (det kommer bara att finnas en av dem: beroende på bitheten hos det installerade Linux). Byt namn på den till bootmgfw.efi .
  12. Hittar filen /boot/grub/grub.cfg. Öppna den för redigering (F4-tangent). Inuti den finner vi (F7-tangenten öppnar textsökningsformuläret) ordet "Microsoft" i samband med raden som börjar med "chainloader" och ersätt detta ord (det ska bara finnas en förekomst och den ska vara på linjen med "kedjelastare", så du kan inte gå fel) till namnet på katalogen som vi döpte om Microsoft till i steg 7 (dvs på Microsoft2 i vårt exempel). Spara ändringar i filen (F2-tangent - spara).

Det är allt. Det ser väldigt komplicerat ut, men om du följer allt exakt steg för steg (som beskrivs så detaljerat som möjligt!), då löser sig allt utan problem. Och efter en omstart och efterföljande uppstart från hårddisk (inte från livemedia) vi kommer att se den eftertraktade skärmen med OS-valmenyn. Hurra, kamrater!

Vad gjorde vi just?

Låt mig förklara. Som du kan se, tillverkaren av din (och min, jag har en Acer om det händer) laptop sålde sin själ till Small Software, som jag sa tidigare. Den bärbara datorn på UEFI-nivå vill nämligen inte ladda något annat än en fil /boot/efi/EFI/Microsoft/boot bootmgfw.efi, som innehåller Windows starthanterare. Detta är diskriminering!

Genom att ersätta filen med Grabovs lurade vi därmed både den bärbara datorn och Microsoft. De tvingade oss att ladda vår älskade Grub, istället för de arga och envisa Windows.

Vad göra här näst? + Försiktighetsåtgärder för uppdateringar.

Lev och var lycklig. Men precis tills grub vill uppdatera. Eller så vill du inte synda och uppdatera din Windows

Först om att uppdatera Grub.

Faktum är att efter uppdateringen kör Grub kommandot update-grub, som inte hittar Windows boot loader i mapphierarkin vi skapade (av skäl som jag inte känner till). Och, efter att ha uppdaterat grub och sedan startat om datorn, kommer det inte att finnas några skadliga Windows i OS-vallistan (och det fungerar rätt!). Lösningen är förvirrande, men algoritmen är bekant

  1. Byt namn på Microsoft-mappen (som för närvarande innehåller filer från Grab och Linux) till något tillfälligt, till exempel MicrosoftLinux.
  2. Byt namn på den gamla goda Microsoft2-mappen (där Windows bootloader finns) till helt enkelt Microsoft, och återställer därmed den till sitt ursprungliga tillstånd.
  3. Utför kommandot sudo update-grub.
  4. Returnera mappnamnen, ge dem utseendet från lösningen. De där. MicrosoftLinux döps tillbaka till Microsoft, Microsoft tillbaka till Microsoft2.
  5. Vi upprepar steg nummer 12 från lösningen och gläds återigen över Windows utseende i OS-listan när datorn startar.

Ja, det är det enda sättet för tillfället. Jag skulle vilja automatisera den här saken, men för tillfället var jag väldigt lat. Grub uppdateras trots allt inte så ofta. Och en manuell beskrivning av lösningen kommer aldrig att vara överflödig, senare kommer den att vara användbar för automatisering.

Nu är det här vad du behöver veta: om du planerar att uppdatera Windows .

Majoritet Windows-uppdateringar kräver en omstart. Min Windows 8.1, som förväntat, kunde inte starta efter en sådan omstart, eftersom den inte hittade sin starthanterare på /boot/EFI/Microsoft (Linux bor där nu). Därför, innan du installerar Windows-uppdateringar, se till att återställa starthanteraren till sin plats. De där. till Microsoft-mappen i vårt exempel. Ja, efter detta kommer hela problemet att återkomma, eftersom bara Windows kommer att laddas igen, men det blir lättare att köra algoritmen från lösningen andra gången?;)

För att välja och starta operativsystemet när datorn startar, används ett specialiserat program - starthanteraren. Den mest populära starthanteraren är Grub. När du installerar flera operativsystem, som Linux över Windows, kommer det senast installerade operativsystemet att listas först i starthanterarens meny.

Detta kommer inte att orsaka problem för användare som använder Linux som sitt huvudsystem, för dem är det till och med ett mer föredraget alternativ. Men om du fortfarande är nybörjare och vill använda Linux som ett andra system, och Windows fortfarande är det viktigaste, tills du får kläm på det, vill du förmodligen att Windows ska vara det första. I den här artikeln kommer vi att titta på hur man startar Windows först i Grub. Låt oss överväga två sätt: genom att använda programmet Grub Customizer och manuellt genom konfigurationsfilerna för Grub bootloader.

Grub Customizer

Grub Customizer är ett program som låter dig anpassa olika inställningar för Grub-starthanteraren. Inklusive lastpunkternas position och ordning. Du kan installera programmet från de officiella arkiven. Till exempel, på Ubuntu behöver du använda ppa:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-get uppdatering
$ sudo apt-get install grub-customizer

För att köra programmet, öppna en terminal (Ctrl+Alt+T) och skriv grub-customizer:

För att programmet ska fungera behöver du roträttigheter, på vissa system kan du behöva använda följande kommando:

gksu grub-customizer

Programmet kan också startas från huvudmenyn. Huvudfönstret ser ut så här:

Några sekunder efter lanseringen kommer programmet att skanna installerade operativsystem, sedan i samma fönster kommer vi att kunna flytta Windows-starten till första platsen. För att göra detta, högerklicka på önskat objekt för att öppna en snabbmeny:

Välj från menyn Flytta upp. Detta steg kommer att behöva upprepas flera gånger tills Windows är först på listan. Windows kommer nu att starta till standardgruben.

Om du senare vill sänka Windows tillbaka, finns det en omvänd åtgärd - Flytta ner.

För att spara dina inställningar klickar du bara på knappen Spara. Redo. Du kan starta om datorn och se vad som händer.

Men jag vill beröra ytterligare ett par inställningar som kan vara användbara. Istället för att starta Grub Windows först, kan du ändra standardstartobjektet. Gå till fliken grund inställningar:

Det finns en lista här för att välja det standardobjekt som används som standard Förlova sig:

Dessutom kan du ladda det senast laddade operativsystemet som standard; det finns en kryssruta för detta:

Ändra Grub-startordning via terminal

Som jag lovade kommer vi nu att titta på hur man får Windows att starta upp först i Grub med hjälp av konfigurationsfiler. Grub-konfigurationen finns i filen /boot/grub/grub.cfg.

gksu gedit /boot/grub/grub.cfg

Vanligtvis ser menyfälten ut så här:

menypost item_name --alternativ (
...

Till exempel, Windows-objekt:

menuentry "Windows 8 (loader) (på /dev/sda1)" --class windows --class os $menuentry_id_option "osprob
er-kedja-FC324E26324DE66C" (
....

Nu, för att ändra ordningen på menyalternativen, klipp bara allt till den bakre stängningsfästet, tillsammans med denna rad, och klistra in det före alla andra objekt. Sedan kan du spara filen och du är klar. Starta om och titta. Windows startar som standard. Den enda nackdelen med denna metod är att när du uppdaterar Grub-konfigurationen kommer alla inställningar att gå förlorade.

I likhet med hur vi konfigurerade det standardinlästa objektet i Grub Customizer, kan detta också göras i terminalen.

Öppna filen /etc/default/grub.

gksu gedit /etc/default/grub

Här är vi intresserade av raden:

Ersätt 0 med det objekt du vill ladda; du kan också ange namnet på objektet istället för ett nummer, till exempel:

GRUB_DEFAULT="Windows 8 (lastare) (på /dev/sda1)"

Du kan se tillgängliga nedladdningspunkter utan att öppna konfigurationsfilen med kommandot:

sudo grep menypost /boot/grub/grub.cfg

Du kan också konfigurera laddningen av det senast laddade systemet; för att göra detta, lägg till raden

GRUB_SAVEDEFAULT=sant

Och i GRUB_DEFAULT specificera sparat:

GRUB_DEFAULT=sparad

Den uppenbara fördelen med denna metod är att inställningarna inte kommer att gå förlorade när du uppdaterar Grub-konfigurationen, eftersom informationen tas från denna fil under uppdateringen. Låt oss nu uppdatera konfigurationen och spara inställningarna med kommandot:

Det här alternativet fungerar inte på alla system, så du kan använda ett annat kommando:

grub2-mkconfig -o /boot/grub/grub.cfg

Det är allt. Nu vet du hur du startar Windows först i Grub. Men informationen som presenteras i den här artikeln kan användas för bredare syften. Det kommer att vara användbart inte bara för Windows, utan också för alla andra flera system vars startordning måste kontrolleras.

Relaterade inlägg:


Denna handledning kommer att leda dig genom installationen Ubuntu 16.10 Och Ubuntu 16.04 multiboot med Microsofts operativsystem på maskiner som är förinstallerade Windows 10 .

För ny installation Ubuntu 16.04/16.10, läs vår Ubuntu 16.04 Desktop Installation Guide och

Denna manual förutsätter att maskinen är förinstallerad Windows 10 OS eller mer gammal version Microsoft Windows, Till exempel Windows 8.1 eller 8 .

Om din utrustning används UEFI då måste du byta EFI inställningar och inaktivera funktionen säker boot.

Om din dator inte har något annat operativsystem installerat och du planerar att endast använda Windows-alternativet, tillsammans med Ubuntu 16.04 / 16.10, måste du först installera Microsoft Windows och sedan fortsätta med installationen.

I det här specifika fallet, steg för steg Windows installationer, när du formaterar din hårddisk måste du tilldela minst 20 GB ledigt utrymme på disken för att använda den senare som en partition för att installera Ubuntu.

Krav

Ladda ner ISO-bild Ubuntu 16.04 Och Ubuntu 16.10 enligt systemarkitekturen med hjälp av följande länk:

Steg 1: Förbereder Windows för en Dual Boot Machine

1. Det första du behöver ta hand om är att skapa ledigt utrymme på din dators hårddisk ifall systemet är installerat på en enda partition.

Logga in på din Windows-maskin med konto administratör och högerklicka på start meny-> Kommandorad(Admin) för att ange Windows-kommandotolken.

2. Öppna verktyget Diskhantering. Härifrån högerklickar du på C:-partitionen och väljer Krympvolym för att ändra storlek på partitionen.

C:\Windows\system32\> diskmgmt.msc

3. För att minska utrymmet på C: ange ett värde som ska minskas i MB (med minst 20 000 MB beroende på partitionsstorleken C:) och tryck på knappen Krympa för att börja ändra storlek på partitionen som visas nedan.

När utrymmet har ändrats kommer du att se nytt oallokerat utrymme på din hårddisk. Lämna det som standard och starta om din dator för att börja installera Ubuntu 16.04.

Steg 2: Installera Ubuntu 16.04 med Windows OS

4. Nu är det dags att installera Ubuntu 16.04. Följ länken i början av artikeln och ladda ner bilden ISOUbuntu Desktop 16.04.

Bränn bilden till DVD eller skapa en startbar USB-minne använda ett verktyg som t.ex Universal USB Installer(BIOS-kompatibel) eller Rufus(UEFI-kompatibel).

Placera USB-minnet eller DVD-skivan i enheten, starta om maskinen och peka på BIOS/UEFI för att starta från DVD/USB genom att trycka på en dedikerad funktionstangent (vanligtvis F12 , F10 eller F2 beroende på tekniska egenskaper leverantör).

Efter detta kommer medianedladdningsprogrammet att visa en ny laddningsskärm på din bildskärm. Välj från menyn Installera Ubuntu och tryck på knappen Stiga på, att fortsätta.

5. När det startbara mediet har startat upp i Bagge du kommer att arbeta helt med ett fungerande Ubuntu-system.

Klicka på den andra ikonen från toppen, installera Ubuntu 16.04 LTS, startar installationsverktyget. Välj det språk du vill installera på och klicka på knappen Fortsätta.

7. Nu är det dags att välja din installationstyp. Du kan installera Ubuntu tillsammans med OS Windows Boot Manager, ett alternativ som automatiskt tar hand om alla partitionssteg.

Använd det här alternativet om du inte behöver en anpassad partitionslayout. Om du vill ha en anpassad sektionslayout, kontrollera något annat alternativet och klicka på Fortsätta knappen för att gå vidare.

Alternativ Diskradering och att installera Ubuntu bör undvikas på multiboot eftersom det är potentiellt farligt och kommer att radera din disk.

8. I det här steget kommer vi att skapa vår anpassade sektionslayout för Ubuntu 16.04. Den här guiden rekommenderar att du skapar två partitioner, en för root och en för hemmet och ingen partition för swap (använd endast swap-partition om du har begränsade RAM-resurser eller använder en snabb SSD).

För att skapa den första partitionen, rotpartitionen, välj det lediga utrymmet (det lediga utrymmet från Windows som skapades tidigare) och klicka på +-ikonen nedan. I avsnittet inställningar använder du följande konfiguration och klickar på knappen OK för att tillämpa ändringarna:

  1. Storlek = minst 20000 M.B.
  2. Ny partitionstyp = Primär
  3. Utrymme för ny partition = Början
  4. EXT4
  5. Monteringspunkt = /

Skapa en hempartition med samma steg som ovan. Använd allt ledigt utrymme för att dimensionera din hempartition. Sektionsinställningarna ska se ut så här:

  1. Storlek = allt återstående ledigt utrymme
  2. Ny partitionstyp = Primär
  3. Utrymme för ny partition = Början
  4. Använd som = filsystemsjournalering EXT4
  5. Monteringspunkt = /Hem

9. När du är klar klickar du på knappen Installera nu för att tillämpa ändringarna på disken och påbörja installationsprocessen.

En popup bör visas för att informera dig om utrymmet byta. Ignorera varningen genom att trycka på knappen Fortsätta.

Nästa nya popup-fönster kommer att fråga dig om du samtycker till att överföra ändringarna till disken. Klick Fortsätta för att skriva ändringarna till disken och installationsprocessen börjar.

10. På nästa skärm ställer du in en stad i din installation, bredvid den på kartan. Nästa klick Fortsätta.

11. Välj sedan en layout tangentbord och tryck på knappen Fortsätta.

12. Ange användarnamn och lösenord för administratörskontot SUDO, ange ett beskrivande namn för din dator och klicka Fortsätta för att slutföra installationen.

Detta är alla inställningar som behövs för att konfigurera installationen Ubuntu 16.04. Från och med nu kommer installationsprocessen att starta automatiskt tills den når slutet.

13. När installationsprocessen är slut, klicka på knappen starta om nu för att slutföra installationen.

Maskinen startar om till menyn Röja, där du inom tio sekunder kommer att presenteras med ett val av vilket OS du vill använda för tillfället: Ubuntu 16.04 eller Microsoft Windows .

Windows-åtkomstpartitioner från Ubuntu 16.04

Det är allt! Om du behöver byta tillbaka till Windows OS, starta bara om din dator och välj från menyn Röja OS Windows.

Original: GRUB 2: Heal your bootloader
Postat av Mayank Sharma
Publiceringsdatum: 10 september 2015
Översättning: A. Panin
Översättningsdatum: 16 december 2015

Det finns inte många saker som kan vara så irriterande som att systemstarthanteraren inte fungerar. Det är därför vi kommer att lära oss att göra det bästa av alla funktioner i GRUB 2-systemets starthanterare, och hålla den i fungerande skick.

Vad är det för?

    GRUB 2 är den mest populära starthanteraren, som används i nästan alla Linux-distributioner.

    Systemets starthanterare är en viktig mjukvarukomponent, som dock kanske inte fungerar korrekt i vissa fall.

    GRUB 2 är en utdragbar och flexibel starthanterare som stöder många konfigurationsalternativ.


Linux-starthanteraren, kallad GRUB 2, är en högkvalitativ och flexibel mjukvarukomponent. Även om denna starthanterare inte är den enda starthanteraren som stöder Linux, är den den mest populära och används av nästan alla välkända distributioner. Processen för att fungera för GRUB 2-systemstarthanteraren kan delas in i två faser. Först visar den en meny med namnen på alla operativsystem som är installerade på din dator och låter dig välja ett av dem. För det andra startar den Linux-kärnan när du väljer ett operativsystem baserat på motsvarande kärna med hjälp av startmenyn.

Uppenbarligen, när du använder ett operativsystem baserat på Linux-kärnan, kan du helt enkelt inte klara dig utan en bootloader. Samtidigt är systemstarthanteraren kanske den mest mystiska komponenten i Linux-distributionen. I den här guiden kommer vi att introducera dig till några av funktionerna i denna systemstarthanterare och lära dig hur du löser problem som är förknippade med dess felaktiga funktion.

Den viktigaste komponenten i GRUB 2-starthanteraren är en samling textfiler och flera skript. skal. Den första komponenten i denna uppsättning som är värd att bekanta sig med finns i katalogen /etc/default/grub. Detta är en textfil som låter dig ställa in värdena för konfigurationsvariabler och andra GRUB 2-menyalternativ (se avsnittet Custom Boot Menu Options).

En annan viktig katalog associerad med GRUB 2 är katalogen /etc/grub.d. Denna katalog innehåller alla skript som utgör beskrivningen av varje menyalternativ. Dessa skriptnamn måste ha två siffror före. Dessa prefix är avsedda att fastställa i vilken ordning skripten kommer att köras, såväl som i vilken ordning motsvarande objekt kommer att visas i GRUB 2-menyn. Filen 00_header läses först, följt av /etc/default/grub konfigurationsfil. Efter detta genereras menyalternativ för Linux-kärnorna i det aktuella systemet med hjälp av skriptet 10_linux. Detta skript skapar ett normalt startmenyalternativ för en Linux-kärna och ett menyalternativ för systemåterställning för samma Linux-kärna från /boot-partitionen.

Därefter exekveras skript för att söka efter andra operativsystem, såsom 30_os-prober och 40_custom. OS-prober-skriptet skapar menyalternativ för andra kärnor och andra operativsystem som finns på andra hårddiskpartitioner. Den kan känna igen installerade Linux-, Windows-, BSD- och Mac OS X-system. Om du använder en partitionskonfiguration på din hårddisk som är för exotisk för os-prober-skriptet, vilket förhindrar igenkänning av den installerade distributionen, kan du lägga till en beskrivning av denna distribution till 40_custom-skriptet (se avsnittet "Anpassade startmenyalternativ").

GRUB 2 kräver inte manuell redigering av konfigurationsfiler för att ändra systemstartalternativ: istället låter den dig skapa en konfigurationsfil /boot/grub/grub.cfg med hjälp av verktyget grub2-mkconfig. Det här verktyget låter dig analysera skript från katalogen /etc/grub.d, såväl som konfigurationsfilen /etc/default/grub för att automatiskt generera en beskrivning av systemstartparametrarna.

Återställer systemets starthanterare i grafiskt läge

De allra flesta problem förknippade med GRUB 2-starthanteraren kan enkelt lösas genom att trycka på Boot Repair-applikationens enda knapp. Denna eleganta, enkla applikation har ett intuitivt användargränssnitt och låter dig skanna och känna igen olika typer av diskar och diskpartitionslayouter, och kan även lokalisera och korrekt identifiera operativsystem installerade inom dessa partitioner. Verktyget kan fungera både på vanliga datorer med Master Boot Records (MBR) och på nya datorer med UEFI och GUID Partition Tables (GPT).

Det enklaste sättet att använda Boot Repair-verktyget är att installera det som en del av en Live-session av Ubuntu-distributionen. Kör en live Ubuntu-distribution på en maskin med en trasig bootloader och installera Boot Repair-applikationen, lägg först till lämplig PPA med kommandot:

Sudo add-apt-repository ppa:yannubuntu/Boot Repair

Efter det uppdaterar du listan över förråd med kommandot:

Sudo apt-get uppdatering

Slutligen kan du installera programmet med kommandot:

Sudo apt-get install -y Boot Repair

När installationsprocessen är klar kommer du att kunna starta programmet. Den kommer att skanna din hårddisk innan den visar ett användargränssnitt som består av flera knappar. För att utföra de åtgärder som föreslås av applikationen kan du helt enkelt klicka på knappen "Rekommenderad reparation", som kommer att lösa de flesta problem relaterade till systemets starthanterare. När du har återställt din systemstarthanterare kommer verktyget att visa en länk som du bör komma ihåg. Genom att klicka på denna länk kommer du att kunna bekanta dig med detaljerad information om dina diskar, inklusive deras partitioner, såväl som innehållet i viktiga GRUB 2-konfigurationsfiler, såsom filerna i katalogen /etc/default/grub och filen /boot/grub/grub.cfg. Om programmet misslyckas med att återställa din starthanterare kan du lägga upp den här länken på din distributions forum så att besökare kan se din hårddisks partitionslayout och ge användbara råd.

Återställer systemets starthanterare

Problem med GRUB 2-starthanteraren kan göra att systemet går in i olika tillstånd. Texten som visas på skärmen istället för starthanterarens meny indikerar systemets nuvarande tillstånd. Om systemet inte startar vid grub>-prompten kan man dra slutsatsen att GRUB 2-modulerna laddades, men grub.cfg-konfigurationsfilen kunde inte laddas. Denna prompt visas i ett fullfjädrat bootloader-kommandoskal, med vilket du kan utföra många åtgärder som syftar till att starta upp systemet. Om du ser grub rescue>-prompten är det lätt att dra slutsatsen att systemstarthanteraren inte kan upptäcka sina moduler, såväl som filer som beskriver systemstartparametrarna. Men om bara ordet "GRUB" visas på din datorskärm kan du dra en nedslående slutsats att systemets starthanterare inte kunde upptäcka ens den grundläggande informationen som vanligtvis lagras i huvudstartregistret.

Du kan fixa dessa GRUB 2-problem genom att använda antingen en Live CD från valfri distribution eller ett GRUB 2-skal. Om du har tur och din starthanterare visar grub>-prompten, kan du använda den fulla kraften i GRUB 2:s inbyggda skal för att åtgärda eventuella fel.

Följande kommandon fungerar både vid grub>-prompten och vid grub rescue>-prompten. Kommandot set pager=1 låter dig aktivera textrullningsmekanismen för att förhindra att den automatiskt rullar. Du kan också använda kommandot ls, som låter dig lista alla synliga GRUB 2 hårddiskpartitioner på liknande sätt:

Grub> ls (hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

Som du kan se låter det här kommandot dig visa information om partitionstabellens layout på hårddisken tillsammans med information om själva partitionerna.

Alternativt kan du använda kommandot ls mot varje hårddiskpartition för att hitta partitionen med ditt rotfilsystem:

Grub> ls (hd0.5)/ lost+found/ var/ etc/ media/ bin/ initrd.gz boot/ dev/ home/ selinux/ srv/ tmp/ vmlinuz

Du kan kassera msdos-partitionstypidentifieraren när du skriver partitionsnamnet. Dessutom, om du utelämnar snedstrecket i slutet av partitionsnamnet och kör till exempel ett kommando som ls (hd0.5), får du information om partitionen, inklusive information om filsystemstyp, dess totala storlek och tidpunkten för senaste ändring. Om du har flera rotpartitioner på din hårddisk kan du läsa innehållet i filen /etc/issue med kommandot cat för att identifiera distributionen på liknande sätt: cat (hd0.5)/etc/issue .

Förutsatt att du har hittat rätt rotfilsystem i (hd0,5)-partitionen, bör du se till att detta filsystem innehåller en /boot/grub-katalog och en Linux-kärnavbildning med ett namn som liknar vmlinuz-3.13.0-24- generic you vill ladda. Nu för att starta upp systemet behöver du bara ange följande kommandon:

Grub> set root=(hd0,5) grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5 grub> initrd /boot/initrd.img-3.13.0-24-generic

Det första kommandot skickar information till GRUB 2-systemets starthanterare om partitionen på hårddisken på vilken distributionsfilerna som ska startas finns. Det andra kommandot skickar information om platsen för kärnavbildningsfilen inom den angivna hårddiskpartitionen, samt information om platsen för rotfilsystemet. Den sista raden låter dig ange platsen för den ursprungliga skivavbildningsfilen, vars innehåll lagras i minnet och används under kärnans startprocess. Du kan använda funktionen för automatisk komplettering, vilket kommer att spara mycket tid och ansträngning när du anger namnen på kärnfilerna och den ursprungliga diskavbildningen.

Inmatningen av dessa rader måste slutföras genom att, efter nästa grub>-hälsning, ange bootkommandot, som initierar laddningen av det angivna operativsystemet med GRUB 2.

Lösverkan bör vara något annorlunda om du stöter på grub rescue>-hälsningen. Eftersom systemets starthanterare inte kunde upptäcka och ladda någon av de nödvändiga moduler måste du ladda ner dem manuellt:

Grub räddning> set root=(hd0,5) grub räddning> insmod (hd0,5)/boot/grub/normal.mod grub räddning> normal grub> insmod linux

Uppenbarligen, som tidigare, efter att framgångsrikt använda kommandot ls för att hitta Linux-rotpartitionen, måste du markera den partitionen med kommandot set. Därefter måste du ladda den normala modulen, varefter du kommer tillbaka till standardläge med grub>-hälsningen. Följande kommando låter dig ladda linux-modulen om den inte laddades automatiskt. Efter att ha laddat den här modulen kan du fortsätta att överföra information till systemets starthanterare om platsen för kärnavbildningsfilerna och den ursprungliga diskavbildningen och initiera laddningen av distributionen med hjälp av bootkommandot.

Efter att ha laddat distributionen, glöm inte behovet av att återskapa GRUB 2-konfigurationsfilen med kommandot:

Grub-mkconfig -o /boot/grub/grub.cfg

Du måste också installera en kopia av systemets starthanterare i huvudstartposten med kommandot:

GRUB 2 och UEFI

Maskiner med UEFI-firmware (det vill säga praktiskt taget alla maskiner som sålts under de senaste åren) har lagt till en ny nivå av komplexitet till processen för att diagnostisera GRUB 2-starthanterarens problem. Även om proceduren för att återställa GRUB 2-starthanteraren installerad på maskinen är med UEFI-firmware, skiljer sig inte nämnvärt från proceduren för att återställa samma bootloader på en maskin utan UEFI-firmware; olika ändringar görs i nya firmware-versioner, vilket orsakar olika resultat i processen att återställa systemets bootloader.

På UEFI-baserade system behöver du inte installera något i Master Boot Record. Istället måste du installera en EFI-aktiverad Linux-starthanterare i systempartition EFI (EFI System Partition, ESP) och ställ in den som standardstarthanterare med hjälp av ett verktyg som efibootmgr på Linux eller bcdedit på Windows.

För tillfället bör GRUB 2-systemstarthanteraren installeras korrekt under installationen av någon av de populära Linux-distributionerna, vilket gör att den senare framgångsrikt kan samexistera med Windows 8. Men i händelse av att du slutar med en inoperativ systemstarthanterare, du kan återställa systemet med hjälp av en livebild av en Linux-distribution. När du laddar ner en livedistributionsbild bör du se till att du startar i UEFI-läge. Datorns startmeny bör innehålla två objekt för var och en av de flyttbara media - för uppstart i normalt läge och i UEFI-läge. Använd det senare läget för att organisera åtkomst till EFI-variabler genom filer från katalogen /sys/firmware/efi/.

Från livemiljön bör du montera rotfilsystemet för den misslyckade installerade distributionen på det sätt som beskrivs i den här guiden. Du måste också montera EFI System Partition (ESP). Om du antar att enhetsfilen /dev/sda1 motsvarar denna partition, kan du montera den här partitionen med följande kommando:

Sudo mount /dev/sda1 /mnt/boot/efi

Du måste sedan ladda efivars kärnmodul med modprobe efivars-kommandot innan du skapar en chroot-miljö med rotfilsystemet för den misslyckade distributionen på det sätt som beskrivs i den här guiden.

Nu, om du använder Fedora-distribution, kan du installera om starthanteraren med följande kommando:

Mums installera om grub2-efi shim

Efter detta bör du köra kommandot för att generera en ny starthanterarens konfigurationsfil:

Grub2-mkconfig -o /boot/grub2/grub.cfg

Ubuntu-användare kan utföra samma operation med kommandot:

Apt-get install --installera om grub-efi-amd64

Efter att ha återställt systemets starthanterare bör du avsluta chroot-miljön, avmontera alla monterade hårddiskpartitioner och starta om datorn genom att gå till GRUB 2-menyn.

För att avaktivera skriptet i katalogen /etc/grub.d behöver du bara rensa exekveringsbiten med ett kommando som liknar chmod -x /etc/grub.d/20_memtest86+, vilket tar bort raden "Memory Test" från uppstarten meny

Du, var är min GRUB?

En positiv egenskap hos GRUB 2 systemstarthanteraren är möjligheten att installera om den när det behövs. På detta sätt, om du tappar din GRUB 2-starthanterare, till exempel efter att Windows har ersatt den med sin egen starthanterare, kan du återställa GRUB 2 genom att utföra några operationer i livemiljön. Om du antar att du installerade distributionen på hårddiskpartitionen som representeras av enhetsfilen /dev/sda5, kan du installera om GRUB 2-starthanteraren genom att först skapa en katalog för att montera distributionens rotfilsystem med kommandot:

Sudo mkdir -p /mnt/distro

Efter detta bör du montera filsystemet från denna partition med kommandot:

Montera /dev/sda5 /mnt/distro

Du kan sedan installera om GRUB 2-starthanteraren med kommandot:

Grub2-install --root-directory=/mnt/distro /dev/sda

Detta kommando kommer att skriva över information i huvudstartområdet för /dev/sda-enheten, som innehåller filsystemet för den installerade Linux-distributionen, såväl som GRUB 2-startladdarfiler som grubenv och device.map.

Det finns ett annat problem som ofta uppstår när man använder datorer med flera distributioner installerade. När du installerar en ny Linux-distribution måste dess starthanterare hämta information om redan installerade distributioner. Om den inte hämtar sådan information kan du helt enkelt ladda ner den senast installerade distributionen och köra kommandot:

Grub2-mkconfig

Innan du kör det här kommandot bör du se till att partitionerna med rotfilsystemen för de installerade distributionerna som inte visas i startmenyn är monterade. Om distributionen du vill lägga till i startmenyn har filsystemen /root och /home på separata hårddiskpartitioner, bör du bara montera /root-filsystemet innan du kör grub2-mkconfig.

Även om GRUB 2-starthanteraren kan upptäcka de flesta distributioner, kräver ett ytterligare steg ett försök att lägga till en starthanterarens menypost för Fedora medan du kör en Ubuntu-distribution. Om du använde standardinställningarna när du installerade din Fedora-distribution, kommer installationsprogrammet att skapa LVM-partitionerna. I det här fallet, innan du anropar os-prober-skriptet som ingår i GRUB 2-starthanteraren för att lägga till Fedora till startmenyn, måste du först installera lvm2-drivrutinen med hjälp av distributionens mjukvarupakethanteringssystem med ett liknande kommando:

Sudo apt-get install lvm2

Snabb fix

Om att köra grub2-install inte gör någon skillnad och du inte kan starta din Linux-distribution, måste du installera om och konfigurera om starthanteraren helt. För att utföra denna uppgift kan du använda det användbara chroot-verktyget, som låter dig tillfälligt byta ut rotkatalogen för livemiljön med rotkatalogen för det installerade Linux-systemet, vars funktionalitet måste återställas. Du kan använda Live CD-skivan för alla Linux-distributioner som har chroot-verktyget för detta ändamål. Du bör dock se till att du använder Live CD för samma CPU-arkitektur som distributionen som är installerad på din hårddisk. Om du vill använda chroot-verktyget för att återställa funktionaliteten hos ett 64-bitars installerat system behöver du alltså en Live CD för 64-bitars system.

Efter att ha laddat Live-miljön bör du först och främst kontrollera partitionerna på maskinens hårddisk. Använd kommandot fdisk -l för att lista alla partitioner på din hårddisk och ta reda på numret på den partition där GRUB 2-starthanteraren är installerad som du vill återställa.

Låt oss anta att du behöver återställa systemstarthanteraren för en distribution installerad på hårddiskpartitionen, som representeras av enhetsfilen /dev/sda5. Öppna en terminalemulator och montera denna partition:

Sudo mount /dev/sda5 /mnt

Nu måste du montera kataloger som måste vara tillgängliga för GRUB 2-systemstarthanteraren för att korrekt upptäcka andra operativsystem installerade på datorn:

$ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /dev/pts /mnt/dev/pts $ sudo mount --bind /proc /mnt/proc $ sudo mount --bind /sys /mnt /sys

Nu kan du lämna livemiljön och gå till miljön för distributionen installerad på partitionen som representeras av enhetsfilen /dev/sda5 med hjälp av chroot-verktyget:

$ sudo chroot /mnt /bin/bash

Du är nu redo att installera, verifiera och uppdatera GRUB 2-starthanteraren. Som tidigare bör du använda kommandot för att installera om starthanteraren:

Sudo grub2-installera /dev/sda

Eftersom kommandot grub2-install inte rör konfigurationsfilen grub.cfg, måste du skapa den manuellt med följande kommando:

Sudo grub-mkconfig -o /boot/grub/grub.cfg

Denna sekvens av kommandon bör hjälpa till att lösa problem med starthanteraren. Din maskin kommer nu att ha en ny kopia av GRUB 2-starthanteraren installerad med en lista över alla operativsystem och distributioner installerade på den. Innan du startar om din dator bör du lämna chroot-miljön och avmontera alla använda filsystem i följande ordning:

$ exit $ sudo umount /mnt/sys $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt

Du kan sedan säkert starta om maskinen, som återigen borde vara under kontroll av GRUB 2 boot loader, som är under din fullständiga kontroll!

Anpassade startmenyalternativ

GRUB 2-starthanteraren använder ett stort antal konfigurationsvariabler. Det här avsnittet beskriver några av dessa variabler som du förmodligen kommer att vilja ändra när du granskar innehållet i konfigurationsfilen /etc/default/grub. Variabeln GRUB_DEFAULT låter dig specificera startmenyn som kommer att väljas som standard. dess värden kan vara siffror, till exempel siffran 0, som motsvarar det första menyalternativet, såväl som strängen "sparad", som låter dig automatiskt välja menyalternativet som användes förra gången datorn startade. Variabeln GRUB_TIMEOUT låter dig ställa in hur lång tid det ska vänta innan du startar upp med hjälp av standardmenyalternativet, och variabeln GRUB_CMDLINE_LINUX låter dig ange en lista med parametrar som kommer att skickas till var och en av Linux-kärnorna när du använder motsvarande startmenyalternativ .

Om GRUB_DISABLE_RECOVERY-variabeln är inställd på true, kommer inte startmenyalternativ för systemåterställning att genereras. Dessa element låter dig starta upp distributioner i enanvändarläge, där du kan använda alla tillgängliga verktyg med gränssnittet kommandorad för att återställa systemet. En annan användbar variabel är variabeln GRUB_GFXMODE, som låter dig ställa in skärmupplösningen som kommer att ställas in när startmenyn visas. Värdet på denna variabel kan vara vilken beskrivning som helst av upplösningen som stöds av ditt grafikkort.

Anpassade startmenyalternativ

Om du vill lägga till ett objekt till din bootloader-meny måste du lägga till lämplig strof till ett skript som heter 40_custom . Du kan använda den här startmenyn för att till exempel starta en Linux-distribution installerad på en flyttbar enhet med USB-gränssnitt. Om du antar att distributionspartitionen på din flyttbara USB-enhet representeras av enhetsfilen /dev/sdb1 och att vmlinuz kärnavbildningsfil och initrd-fil finns i en underkatalog till rotkatalogen (/), måste du lägga till följande strof till 40_custom skriptfilen:

Menyalternativ "Linux på USB" (ställ in root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro quiet splash initrd /initrd.img )

För bättre kompatibilitet kan du använda hårddiskpartitionens UUID istället för enhetens och partitions-ID:n enligt följande:

Ställ in root=UUID=54f22dd7-eabe

Utnyttja kommandot sudo blkid för att få alla UUID för hårddiskar och deras partitioner kopplade till systemet. På samma sätt kan du lägga till poster till startmenyn som motsvarar alla distributioner som identifieras av os-prober-skriptet men installerade på hårddisken, naturligtvis, om du vet vilken disk varje distribution är installerad på och vilken sökväg dess kärnavbildningsfiler finns. på och en bild av det ursprungliga filsystemet.


Topp