Vraag Hoe kan ik grub repareren? (Hoe krijg ik Ubuntu terug na het installeren van Windows?)


Ik heb Windows 7 geïnstalleerd, die het opstartbestand van Ubuntu heeft gebruikt. Bij het opstarten van de computer gaat het nu rechtstreeks naar Windows, zonder mij de mogelijkheid te geven om Ubuntu op te starten.

Hoe kan ik Ubuntu terugkrijgen?


307
2017-12-17 07:02


oorsprong


Ik denk dat het een veel voorkomende taak is, ik heb ook twee HDD's en Ubuntu + Windows. Ik hoop dat je het op de juiste manier kunt repareren. Probeer het te volgen deze tutorial. Heeft u vragen, vraag het mij! - antivirtel
Gerelateerd (wanneer GRUB is geïnstalleerd op de verkeerde schijf MBR): Grub-reddingsprobleem na installatie van ubuntu - Eliah Kagan
Ja dat kan, je zou gewoon een normale boot moeten doen en met windows moeten installeren en dan zou het moeten verschijnen in het opstartmenu van Grub bij het opstarten van de computer. - Rampoo1208
Ik weet dat dit een oude thread is, maar ik heb het probleem verholpen door de opstartmodus in het bios van UEFI naar Legacy te wijzigen.
OPMERKING: het geaccepteerde antwoord is een algemene instructie over het repareren van grub. Het is ook van toepassing op de grote verscheidenheid van omstandigheden waarin GRUB verkeerd door de installateur is geschreven (ubiquity). - Danatela


antwoorden:


Wanneer u Windows installeert, gaat Windows ervan uit dat dit het enige besturingssysteem (OS) op de machine is, of tenminste geen Linux. Dus het vervangt GRUB door zijn eigen bootloader. Wat je moet doen is de Windows boot-lader vervangen door GRUB. Ik heb verschillende instructies gezien voor het vervangen van GRUB door GRUB-commando's of iets dergelijks te mounten, maar voor mij is de eenvoudigste manier om eenvoudigweg chroot in uw installatie en uitvoeren update-grub. chroot is geweldig omdat je hiermee kunt werken aan je eigenlijke installatie, in plaats van dingen hier en daar opnieuw te richten. Het is echt schoon.

Hier is hoe:

  1. Start op vanaf de live-CD of live USB, in de modus "Try Ubuntu".
  2. Bepaal het partitienummer van uw hoofdpartitie. sudo fdisk -l, sudo blkid of GParted (die standaard al op de livesessie geïnstalleerd zou moeten zijn) kan u hier helpen. Ik ga ervan uit in dit antwoord dat het is /dev/sda2, maar zorg ervoor dat u het juiste partitienummer voor uw systeem gebruikt!

    Als uw hoofdpartitie in een LVM is, zal het apparaat zich in plaats daarvan bevinden /dev/mapper/, hoogstwaarschijnlijk, /dev/mapper/{volume}--{os}-root waar {volume} is de LVM-volumenaam en {os} is het besturingssysteem. uitvoeren ls /dev/mapper voor de exacte naam.

  3. Monteer je partitie:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    Als je een apart hebt /boot, /var of /usr scheidingswanden, herhaal stap 2 en 3 om deze partities op te zetten /mnt/boot, /mnt/var en /mnt/usr respectievelijk. Bijvoorbeeld,

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    vervangen sdXW, sdXY, en sdXZ met de respectieve partitienummers.

  4. Bind mount een aantal andere noodzakelijke dingen:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Als Ubuntu is geïnstalleerd in de EFI-modus (zie dit antwoord als u niet zeker bent), gebruik sudo fdisk -l | grep -i efi of GParted om uw EFI-partitie te vinden. Het krijgt een label van EFI. Monteer deze partitie en vervang deze sdXY met het feitelijke partitienummer voor uw systeem:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot in je Ubuntu-installatie:

    sudo chroot /mnt
    
  7. Op dit moment bevindt u zich in uw installatie, niet in de livesessie en wordt deze als root uitgevoerd. Update grub:

    update-grub
    

    Als u fouten krijgt of als het doorgaan naar stap 7 uw probleem niet oplost, gaat u naar stap 8. (Anders is dit optioneel.)

  8. Afhankelijk van uw situatie, moet u grub wellicht opnieuw installeren:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Als Ubuntu in de EFI-modus is geïnstalleerd en de EFU-partitie UUID is gewijzigd, moet u deze mogelijk bijwerken /etc/fstab. Vergelijk het:

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    Als de huidige EFI-partitie UUID (vanaf blkid) verschilt van die in /etc/fstab, bijwerken /etc/fstab met huidige UUID.

  10. Als alles zonder fouten werkt, ben je er helemaal klaar voor:

    exit
    sudo reboot
    
  11. Op dit punt zou je normaal moeten kunnen opstarten.

Als u niet normaal kunt opstarten en stap 8 niet hebt gedaan omdat er geen foutberichten waren, probeert u het opnieuw met stap 8.

  • Soms geeft GRUB2 het juiste configuratie voor je partities is niet genoeg, en je moet het eigenlijk installeren (of opnieuw installeren) naar de Master Boot Record, welke stap 8 doet. Ervaring met het helpen van gebruikers in chat heeft aangetoond dat stap 8 soms noodzakelijk is, zelfs als er geen foutmeldingen worden getoond.

314
2017-12-17 12:23



Opmerkingen zijn niet voor uitgebreide discussie; dit gesprek is geweest verplaatst naar chat. - Thomas Ward♦
Ik wil nog steeds dat Windows mijn primaire opstartsysteem is. Is dit nog steeds de juiste oplossing? Hoe kies ik welk besturingssysteem moet worden opgestart? F11? - Jeff
@ScottSeverance Ik zag aan je profiel dat je in DFW woont. Heb je erover nagedacht om lessen of live tutorials te geven om mensen diep in Linux te krijgen? - Mohammed Joraid
Deze problemen worden niet oud: D - Niet dat wanneer u met EFI te maken hebt, u het misschien nodig hebt om te installeren grub-efi-amd64 en als u een beveiligde boot gebruikt die u wilt gebruiken grub-install --uefi-secure-boot. Dit staat ook beschreven in superuser.com/a/376471/197980 - Raffael
Deze oplossing is ook van toepassing op Windows 10 op een computer met BIOS (dus niet op een UEFI). De vraag waarover u beschikt, kan met deze tip worden beantwoord - thewindowsclub.com/check-if-uefi-or-bios. - okolnost


Het Windows-installatieprogramma geeft niets om ander besturingssysteem in het systeem. Dus het schrijft eigen code over het master bootrecord. Gelukkig is de oplossing ook eenvoudig.

U moet de MBR repareren. Doe het volgende

Start met behulp van een live usb / cd van ubuntu. Gebruik boot-repair het probleem oplossen.

Na het opstarten met live usb / cd voert u het volgende commando uit in terminal:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Gebruik Recomended Repair.

enter image description here

Meer informatie - https://help.ubuntu.com/community/Boot-Repair


92
2017-09-01 06:59



je bedoelt te zeggen dat het opzettelijk is door het Microsoft-volk ?? Dubbel opstarten heeft ook met Windows 7 gewerkt. Dus is het niet in tegenspraak met je eerste regel dat "Windows Installer zich niets aantrekt van andere besturingssystemen in het systeem". - Shagun Sodhani
Windows breekt de hele tijd met rooien, het is een heel gewoon probleem en een ik moest het zelf regelen. Het antwoord is nog steeds goed en zou het probleem moeten oplossen. - damien
je hebt Windows 7 eerst geïnstalleerd en vervolgens Linux. Dus Linux herkent Windows niet Windows herkende Linux. Als je windows7 opnieuw installeert, zul je zien wat ik bedoelde. - Web-E
Doe dit niet als je versleutelde partities hebt (luks), het heeft het verpest. Het installeert ook GRUB met apt-get - geen idee waarom het dat doet. - Meng Tian
bootreparatie ondersteunt de legacy-modus heel goed, misschien moet je de live cd / usb ook opstarten in de legacy-modus @fuzzyanalysis :) - Web-E


Ik heb nooit problemen gekregen door deze instructies te gebruiken:
https://wiki.ubuntu.com/Grub2#Recover 

Allereerst moet je je systeem starten vanaf een live-cd. Dan

METHODE 3 - CHROOT

Deze installatiemethode gebruikt de opdracht chroot om toegang te krijgen tot   de bestanden van het kapotte systeem. Nadat de opdracht chroot is uitgegeven, wordt de   LiveCD behandelt de kapotte systemen / als zijn eigen. Opdrachten worden uitgevoerd in a   De chroot-omgeving heeft effect op de systemen van het gebroken systeem en niet   die van de LiveCD.

  1. Start op naar het LiveCD-bureaublad (Ubuntu 9.10 of hoger). Houd er rekening mee dat de Live-CD hetzelfde moet zijn als het systeem dat u wilt repareren - hetzij   32-bits of 64-bits (als dit niet het geval is, mislukt de chroot).

  2. Open een terminal (Toepassingen> Accessoires> Terminal).

  3. Bepaal uw normale systeempartitie - (de schakelaar is een kleine letter "L")

    sudo fdisk -l
    

    Als je het niet zeker weet, ren dan

    df -Th  
    

    Zoek naar de juiste schijfgrootte en ext3- of ext4-indeling.

  4. Monteer uw normale systeempartitie:

    Vervang de juiste partitie: sda1, sdb5, etc.

    sudo mount /dev/sdXX /mnt  
    

    Voorbeeld: sudo mount /dev/sda1 /mnt 

  5. Alleen als u een afzonderlijke opstartpartitie hebt:   sdYY is de / boot partitie-aanduiding (bijvoorbeeld sdb3)

    sudo mount /dev/sdYY /mnt/boot
    
  6. Monteer de kritieke virtuele bestandssystemen:

    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
    
  7. Chroot in uw normale systeemapparaat:

    sudo chroot /mnt
    
  8. Als er geen /boot/grub/grub.cfg of het is niet correct, maak er een aan met

    update-grub
    
  9. Installeer GRUB 2 opnieuw:

    Vervang het juiste apparaat - sda, sdb, enz. Geef geen partitienummer op.

    grub-install /dev/sdX
    
  10. Controleer de installatie (gebruik het juiste apparaat, bijvoorbeeld sda.) Geef geen partitie op):

    sudo grub-install --recheck /dev/sdX
    
  11. Verlaat chroot: CTRL-D op het toetsenbord

  12. Ontkoppel virtuele bestandssystemen:

    sudo umount /mnt/dev/pts
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    
  13. Als je een aparte / boot-partitie hebt aangekoppeld:

    sudo umount /mnt/boot
    
  14. Ontkoppel de LiveCD's / usr-map:

    sudo umount /mnt/usr
    
  15. Laatste apparaat ontkoppelen:

    sudo umount /mnt
    
  16. Reboot.

    sudo reboot
    

34
2018-04-27 02:15



Gewoon een opmerking dat u zich geen zorgen hoeft te maken over het ontkoppelen van dingen, omdat de herstart daar automatisch voor zorgt. Bezig met verzenden umount commando's verspillen tijd. - Scott Severance
sudo umount -a moet ook voor hen zorgen. Het is geen slechte oefening als je de paar momenten hebt. Je herinnert je ten minste aan wat er aan de hand is, en in sommige (hoek / marginale) gevallen kan het voorkomen dat de herstart stopt om je te waarschuwen of op input te wachten. - belacqua
+1 voor het waarschuwen op de gescheiden / opstartpartitie. - qed
Ik heb dit verschillende keren op verschillende systemen gedaan en ben het ermee eens dat de resultaten voor zichzelf spreken (hoewel ik de umount ook oversla). - Elder Geek


Start op vanaf een live Ubuntu USB-pendrive of CD en
Installeer Boot-Repair op ubuntu door de stappen te volgen

Open de terminal en voer de volgende opdrachten uit

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

Na het voltooien van de installatie kunt u het starten vanuit het menu Systeem-> Beheer-> Boot-Repair als u Gnome gebruikt, of u zoekt "boot-repair" in het dashboard als u Unity gebruikt. Volg daarna de volgende screenshots:

Methode 1

  • Klik op de geavanceerde opties

Initial screen

  • Vink de onderstaande opties aan

advanced option

  • Wijzig het tabblad naar het tabblad Grublocatie en vink de opties aan. Getoond in de afbeelding

enter image description here

Druk op Toepassen en start het systeem opnieuw op

Methode 2

  • Selecteer de aanbevolen opties voor opstartherstel, zoals weergegeven in de eerste schermafbeelding

Documentatie :


19
2017-07-30 19:25



Web-E heeft dit al gegeven antwoord. Kan je die in plaats daarvan verbeteren? Ik liet een opmerking achter waarom het niet werkte. - Dan Dascalescu
Deze methode werkte voor mij na een bijzonder smerig geval van een Windows 10-update die GRUB overschrijft en vervolgens zijn eigen bootloader breekt. Het volgen van deze procedure bracht zowel Windows als Linux terug. In mijn geval was het Linux Mint 18.1, en de boot-repair-menu's zagen er iets anders uit, maar alles werkte prima. Bedankt! - TheBigH


Gewoon installeren easyBCD in Windows 7 en doen

Nieuwe invoer toevoegen> Linux / BSD> (selecteren) Grub2> (druk) Item toevoegen

Dan kun je kiezen Ubuntu op de Windows 7-bootloader om naartoe te gaan grub2 (vorige bootloader).


11
2018-03-11 22:09



Deze instructies alleen herstellen de Grub Bootloader niet - toen ik ze probeerde, voegden ze een extra opstartoptie toe in Windows, die bij selectie mijn computer herstartte en me toen naar een grub> -prompt nam. Dus zou je verdere stappen nodig hebben over wat je vervolgens moet doen. - therobyouknow
Met easyBCD kon ik bootopties toevoegen en verwijderen die ik zowel in Windows Boot Loader als BIOS kon zien, maar ze hebben nooit gewerkt omdat easyBCD afhankelijk is van een soort geautomatiseerde magie om Linux-partities te vinden ... het werkte niet toen mijn Linux-partitie was op een aparte harde schijf. - Fuzzy Analysis


Er is nu een eenvoudigere oplossing:

  1. Start opnieuw op en voer de BIOS-opties van uw computer in (F2 of soms F11).
  2. Ga naar de Bagageruimte menu en selecteer Opstartapparaatprioriteit
  3. Controleer of Windows Boot Manager bevindt zich boven de hoofd opstartschijf (meestal SATA HDD ... of IDE HDD ...). Als dit het geval is, verplaatst u de opstartschijfprioriteit boven die van Windows Boot Manager.
  4. Sla uw BIOS-opties op en sluit af (meestal F10).

Dit is getest op een Samsung Series 7 Chronos laptop dual booting Windows 8 en Ubuntu 13.10, secure boot disabled, UEFI en legacy boot enabled.


5
2017-12-15 13:04



Dit was uiteindelijk de schoonste optie voor mij. Het zijn nog een paar toetsaanslagen, maar ach, het werkt. Ik heb een mix van Legacy- en UEFI-booted-apparaten. Als gebruikers één besturingssysteem veel meer dan een assortiment van anderen opstarten, kan dit op de lange termijn sneller (en veiliger) zijn. - Fuzzy Analysis
Dit is ook voor mij gelukt, nadat Windows 10 zichzelf automatisch heeft bijgewerkt. - luis_js
Deze oplossing werkte voor mij toen ik Ubuntu uit Windows 10 verwijderde. - Vikas Gupta


Op EFI-gebaseerde systemen (zoals de meeste systemen die worden geleverd met Windows 8 of hoger), zal Windows soms de bootloader updaten of het opnieuw instellen als de standaard bootloader. Dit komt met name vaak voor bij het opnieuw installeren van het besturingssysteem of bij het uitvoeren van een grote systeemupdate (bijv. Upgraden naar de nieuwste Windows-release). Merk op dat het onwaarschijnlijk is dat Windows alle GRUB-bestanden op een op EFI gebaseerde computer verwijdert. Alles wat nodig is om Ubuntu op te starten is nog steeds aanwezig; het wordt gewoon omzeild. In deze gevallen is een volledige herinstallatie van GRUB overdreven, en dat heeft in feite een (kleine) kans dat het nieuwe problemen zal veroorzaken.

Dus in plaats van GRUB in deze gevallen opnieuw te installeren, raad ik aan om GRUB (of welke bootloader of bootmanager dan ook) te resetten als standaard. Er zijn verschillende manieren om dit te doen, waaronder:

  • EasyUEFI - De eenvoudigste manier om de opstartvolgorde aan te passen, als het systeem rechtstreeks naar Windows opstart, is om te gebruiken EasyUEFI, dat is een gratis (voor de basisversie) GUI-hulpmiddel van derden voor het beheren van de EFI-opstartvolgorde. Het is nogal vanzelfsprekend - zoek de ubuntu in de lijst met opstartopties en verplaats deze naar de bovenkant van de lijst. De volgende keer dat u opnieuw opstart, moet GRUB verschijnen. (Als u iets anders dan GRUB gebruikt, moet u de vermelding ervan vinden.)
  • bcdedit -- De ramen bcdedit tool kan worden gebruikt om GRUB in te stellen op de standaard opstartvolgorde. Het bevel bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, typte een Beheerder Opdrachtpromptvenster, zal dit doen; als uw computer echter opstart met Secure Boot active, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi zal in plaats daarvan nodig zijn. In feite zal het laatste commando dat wel zijn doorgaans werk zelfs als Secure Boot niet in gebruik is, dus ik zou die opdracht eerst gebruiken. Merk op dat er een meer geavanceerd Windows shell-tool is dat een iets andere syntaxis vereist dan ik heb gepresenteerd, maar ik kan me de details niet herinneren.
  • Eenmalig opstarten van Ubuntu - De meeste EFI's bieden een ingebouwde opstartmanager die toegankelijk is door op een functietoets te drukken, Esc of Enter vroeg in het systeemstartproces. De kans is groot ubuntu entry to boot Ubuntu verschijnt in dit bootmanager-menu, waardoor je kunt booten naar Ubuntu. U kunt ook op een Ubuntu-noodmedium opstarten, zoals het installatieprogramma dat is opgestart in de modus "probeer voor de installatie". Hoe dan ook, je kunt dan gebruiken efibootmgr om de opstartvolgorde aan te passen:
    1. Type sudo efibootmgr om de opstartinvoeren te zien.
    2. Let op de stroom BootOrder lijn.
    3. Zoek het item voor ubuntu en let op het Boot#### aantal.
    4. Type sudo efibootmgr -o xxxx[,yyyy,zzzz,....] om de opstartvolgorde te wijzigen, maken xxxx het nummer voor Ubuntu. Wat daarna komt is waarschijnlijk niet erg belangrijk, hoewel ik heb opgemerkt dat Windows waarschijnlijk zichzelf weer aan het begin van de opstartvolgorde zal toevoegen als het niet in de lijst staat. U moet dus waarschijnlijk ervoor zorgen dat Windows in de lijst staat en het is misschien het veiligst om de lijst opnieuw te ordenen, zodat alle originele vermeldingen aanwezig zijn, alleen met de ubuntu item verplaatst naar de top van de lijst.
  • Firmware setup-hulpprogramma - Met sommige instellingshulpprogramma's van EFI kunt u de opstartvolgorde aanpassen. Details verschillen sterk van de ene EFI naar de andere, dus ik zal niet ingaan op de details, maar je zou kunnen zoeken naar een dergelijke optie in je setup-hulpprogramma.

Er zijn nog andere varianten op deze procedures, zoals het gebruik bcfg in een EFI-shell, met bless in macOS, met behulp van mijn hervinden om een ​​eenmalige opstartprocedure uit te voeren, enz. Ik zou echter beginnen met EasyUEFI; het is waarschijnlijk de eenvoudigste oplossing. Soms staat Windows erop dat het zichzelf de standaard maakt telkens wanneer het wordt opgestart, en rapporten geven dat aan bcdedit kan dit probleem beter oplossen.

Merk op dat geen van de voorgaande van toepassing is op BIOS-modus installaties; Omdat de meeste computers die worden geleverd met Windows 8 of hoger echter in de EFI-modus worden opgestart, worden installaties in de BIOS-modus steeds zeldzamer, dus in veel gevallen is het beter om het probleem op de EFI-manier af te handelen in plaats van GRUB blindelings opnieuw te installeren.


3
2017-07-13 15:03



handmatig one-time opstarten in linux (in mijn geval fedora28) via de ingebouwde opstartmanager van EFI's die ik kon gebruiken efibootmgr om de opstartvolgorde opnieuw in te stellen (zoals beschreven door Rod -> thanks!), waaraan een update van win10 was geknoeid. Naderhand verschijnt de GRUB-bootmanager zoals vroeger vóór de update, dus ik kan bevestigen dat de geleverde oplossing voor mij werkte. Ik kon de basisversie van EasyUEFI niet vinden, maar alleen een proefversie van de aangeboden niet-gratis pro-versie. - antiplex