Ho installato Windows 7, che ha mangiato il file di avvio di Ubuntu. All'avvio del computer, ora passa direttamente a Windows, senza darmi la possibilità di avviare Ubuntu.
Come posso riavere Ubuntu?
Risposta accettata:
Quando si installa Windows, Windows presuppone che sia l'unico sistema operativo (SO) sulla macchina, o almeno non tiene conto di Linux. Quindi sostituisce GRUB con il proprio boot loader. Quello che devi fare è sostituire il caricatore di avvio di Windows con GRUB. Ho visto varie istruzioni per sostituire GRUB usando i comandi GRUB o qualcosa del genere, ma per me il modo più semplice è semplicemente chroot
nella tua installazione ed esegui update-grub
. chroot
è fantastico perché ti consente di lavorare sulla tua installazione effettiva, invece di provare a reindirizzare le cose qua e là. È davvero pulito.
Ecco come:
- Avvia dal CD live o USB live, in modalità "Prova Ubuntu".
-
Determina il numero di partizione della tua partizione principale.
sudo fdisk -l
,sudo blkid
o GParted (che dovrebbe essere già installato, per impostazione predefinita, nella sessione live) può aiutarti qui. Assumerò in questa risposta che sia/dev/sda2
, ma assicurati di utilizzare il numero di partizione corretto per il tuo sistema!Se la tua partizione principale è in un LVM , il dispositivo si troverà invece in
/dev/mapper/
, molto probabilmente,/dev/mapper/{volume}--{os}-root
dove{volume}
è il nome del volume LVM e{os}
è il sistema operativo. Eseguils /dev/mapper
per il nome esatto. -
Monta la tua partizione:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Se hai un
/boot
separato ,/var
o/usr
partizioni , ripeti i passaggi 2 e 3 per montare queste partizioni su/mnt/boot
,/mnt/var
e/mnt/usr
rispettivamente. Ad esempio,sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr
sostituendo
sdXW
,sdXY
esdXZ
con i rispettivi numeri di partizione. -
Associa il montaggio di alcune altre cose necessarie:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
-
Se Ubuntu è installato in modalità EFI (vedi questa risposta se non sei sicuro), usa
sudo fdisk -l | grep -i efi
o GParted per trovare la partizione EFI. Avrà un'etichetta diEFI
. Monta questa partizione, sostituendosdXY
con il numero di partizione effettivo per il tuo sistema:sudo mount /dev/sdXY /mnt/boot/efi
-
chroot
nella tua installazione di Ubuntu:sudo chroot /mnt
-
A questo punto, sei nella tua installazione, non nella sessione live e in esecuzione come root. Aggiorna grub:
update-grub
Se ricevi errori o se il passaggio al passaggio 7 non risolve il problema, vai al passaggio 8. (altrimenti è facoltativo).
-
A seconda della tua situazione, potresti dover reinstallare grub:
grub-install /dev/sda update-grub # In order to find and add windows to grub menu.
-
Se Ubuntu è installato in modalità EFI e l'UUID della partizione EFI è cambiato, potrebbe essere necessario aggiornarlo in
/etc/fstab
. Confrontalo:blkid | grep -i efi grep -i efi /etc/fstab
Se l'UUID della partizione EFI corrente (da
blkid
) è diverso da quello in/etc/fstab
, aggiorna/etc/fstab
con l'UUID corrente. -
Se tutto ha funzionato senza errori, allora sei a posto:
exit sudo reboot
-
A questo punto dovresti essere in grado di avviare normalmente.
Se non riesci ad avviare normalmente e non hai eseguito il passaggio 8 perché non c'erano messaggi di errore, riprova con il passaggio 8.
- A volte assegnando a GRUB2 la configurazione corretta per le tue partizioni non è sufficiente e devi effettivamente installarlo (o reinstallarlo) nel Master Boot Record, cosa che fa il passaggio 8. L'esperienza nell'aiutare gli utenti in chat ha dimostrato che il passaggio 8 a volte è necessario anche quando non vengono visualizzati messaggi di errore.