Ik installeerde Windows 7, die Ubuntu's boot bestand opat. Bij het opstarten van de computer, gaat het nu direct naar Windows, zonder me de optie te geven om Ubuntu op te starten.
Hoe kan ik Ubuntu terug krijgen?
Wanneer je Windows installeert, gaat Windows ervan uit dat het het enige besturingssysteem (OS) op de machine is, of het houdt in ieder geval geen rekening met Linux. Dus vervangt het GRUB door zijn eigen boot loader. Wat je moet doen is de Windows boot loader vervangen door GRUB. Ik heb verschillende instructies gezien voor het vervangen van GRUB door te rommelen met GRUB commando's of iets dergelijks, maar voor mij is de gemakkelijkste manier simpelweg chroot
in je installatie en voer update-grub
uit. Chroot' is geweldig omdat het je toestaat om aan je eigenlijke installatie te werken, in plaats van te proberen om hier en daar dingen om te leiden. Het is echt schoon.
Hier is hoe:
Start op vanaf de live CD of live USB, in "Try Ubuntu" modus.
Bepaal het partitienummer van uw hoofdpartitie. sudo fdisk -l
, sudo blkid
of GParted (die standaard al geïnstalleerd zou moeten zijn op de live sessie) kunnen je hierbij helpen. Ik'ga er in dit antwoord van uit dat het /dev/sda2
is, maar zorg ervoor dat je het juiste partitienummer voor je systeem gebruikt!
Als uw hoofdpartitie in een LVM staat, zal het apparaat in plaats daarvan in /dev/mapper/
staan, waarschijnlijk /dev/mapper/{volume}--{os}-root
waar {volume}
de LVM volumenaam is en {os}
het besturingssysteem is. Voer ls /dev/mapper
uit voor de exacte naam.
Mount uw partitie:
sudo mount /dev/sda2 /mnt #Vervang sda2 met de partitie uit stap 2
Als u een aparte /boot
, /var
of /usr
partities heeft, herhaal dan stap 2 en 3 om deze partities te mounten naar respectievelijk /mnt/boot
, /mnt/var
en /mnt/usr
. Bijvoorbeeld,
sudo mount /dev/sdXW /mnt/boot
sudo mount /dev/sdXY /mnt/var
sudo mount /dev/sdXZ /mnt/usr
waarbij sdXW
, sdXY
, en sdXZ
vervangen worden door de respectievelijke partitienummers.
Bind mount wat andere noodzakelijke dingen:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Als Ubuntu is geïnstalleerd in EFI modus (zie dit antwoord als je'het niet zeker weet), gebruik dan sudo fdisk -l | grep -i efi
of GParted om je EFI partitie te vinden. Deze zal het label EFI
hebben. Mount deze partitie, waarbij u sdXY
vervangt door het werkelijke partitienummer voor uw systeem:
sudo mount /dev/sdXY /mnt/boot/efi
chroot
in uw Ubuntu installatie:
sudo chroot /mnt
Op dit punt, ben je in je installatie, niet in de live sessie, en draai je als root. Update grub:
update-grub
Als je fouten krijgt of als het gaan naar stap 7 je probleem niet heeft opgelost, ga dan naar stap 8. (Anders is het optioneel).
Afhankelijk van uw situatie, moet u misschien grub opnieuw installeren:
grub-install /dev/sda
update-grub # Om windows te vinden en toe te voegen aan het grub menu.
Als Ubuntu is geïnstalleerd in EFI modus, en de UUID van de EFI partitie is veranderd, moet u dit wellicht bijwerken in /etc/fstab
. Vergelijk het:
blkid | grep -i efi
grep -i efi /etc/fstab
Als de huidige UUID van de EFI-partitie (uit blkid
) verschilt van die in /etc/fstab
, pas dan /etc/fstab
aan met de huidige UUID.
Als alles werkte zonder fouten, dan'ben je helemaal klaar:
exit
sudo herstarten
Op dit punt zou u normaal moeten kunnen booten.
Als u niet normaal kunt booten, en stap 8 niet hebt gedaan omdat er geen foutmeldingen waren, probeer het dan opnieuw met stap 8.
Boot-Repair werkte voor mij. Het's heel erg makkelijk te gebruiken grafische applicatie, je hoeft de commandoregel niet te gebruiken, je hoeft alleen maar op een knop te klikken :)
Alle beschikbare reparatie opties zijn beschreven in de Ubuntu documentatie en er is een aparte pagina die uitlegt hoe Boot-Repair te starten (door een bootable disk te maken of het te installeren in een bestaande Ubuntu live disk) en hoe het te gebruiken.
Start gewoon een Ubuntu live CD, installeer Boot-Repair en start het.
Wanneer GRUB kapot is, heeft de gebruiker over het algemeen geen toegang tot de systemen, dus reparatie moet worden uitgevoerd vanuit een live-sessie (live-CD of live-USB).
Er zijn veel mogelijke oorzaken voor een GRUB breuk: Windows die op de MBR schrijft, DRM die GRUB verhindert correct te installeren, installer bug, hardware verandering... GRUB updaten zoals initieel voorgesteld door Scott is meestal niet voldoende, GRUB herinstalleren zoals voorgesteld door Marco is efficiënter, maar toch zijn er verschillende situaties die andere tweaks vereisen (opties toevoegen aan kernel, GRUB menu verbergen, GRUB opties wijzigen, de juiste host architectuur kiezen...). Andere moeilijkheden voor het herstellen van GRUB is het gebruik van chroot, en de keuze van de juiste partities / schijven.
Dit alles is gemakkelijk gemaakt in een klein grafisch programma: Boot-Repair. Het zal worden geïntegreerd in Ubuntu 12.04 CD voor gemakkelijker gebruik, maar voor mensen die het nu nodig hebben, zijn er al enkele distro's die het integreren: Ubuntu-Secured-Remix (Ubuntu CD die Boot-Repair integreert), Boot-Repair-Disk (CD die Boot-Repair bij het opstarten uitvoert), ...
Hopelijk helpt dit.