Ho installato Windows 7, che ha mangiato il file di avvio di Ubuntu. All'avvio del computer, ora va direttamente a Windows, senza darmi la possibilità di avviare Ubuntu.
Come posso riavere Ubuntu?
Ho installato Windows 7, che ha mangiato il file di avvio di Ubuntu. All'avvio del computer, ora va direttamente a Windows, senza darmi la possibilità di avviare Ubuntu.
Come posso riavere Ubuntu?
Quando installi Windows, Windows presume che sia l'unico sistema operativo (OS) sulla macchina, o almeno non è responsabile di Linux. Quindi sostituisce GRUB con il proprio boot loader. Quello che devi fare è sostituire il boot loader di Windows con GRUB. Ho visto varie istruzioni per sostituire GRUB con i comandi GRUB o altri, ma per me il modo più semplice è semplicemente chroot
nell'installazione ed eseguire update-grub
. chroot
è ottimo perché ti consente di lavorare sulla tua installazione effettiva, invece di provare a reindirizzare le cose qua e là. È veramente pulito.
Ecco come:
Determina il numero della partizione della partizione principale. sudo fdisk -l
, sudo blkid
o GParted (che dovrebbe già essere installato, per impostazione predefinita, nella sessione live) possono aiutarti qui. In questa risposta assumerò che è /dev/sda2
, ma assicurati di utilizzare il numero di partizione corretto per il tuo sistema!
Se la tua partizione principale si trova 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. Esegui ls /dev/mapper
per il nome esatto.
Monta la tua partizione:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Se disponi di partizioni /boot
, /var
o /usr
, 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
e sdXZ
con i rispettivi numeri di partizione.
Bind monta altri elementi necessari:
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 di EFI
. Monta questa partizione, sostituendo sdXY
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, si sta eseguendo l'installazione, non la sessione live e si esegue come root. Aggiorna grub:
update-grub
Se si verificano errori o se passare al punto 7 non ha risolto il problema, andare al passaggio 8. (In caso contrario, è facoltativo.)
A seconda della situazione, potrebbe essere necessario 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'attuale UUID della partizione EFI (da blkid
) differisce da quello in /etc/fstab
, aggiorna /etc/fstab
con l'UUID corrente.
Se tutto funziona senza errori, allora tutto è pronto:
exit
sudo reboot
A questo punto, dovresti riuscire ad avviarlo normalmente.
Se non riesci ad avviarlo normalmente e non hai eseguito il passaggio 8 perché non c'erano messaggi di errore, riprova con il passaggio 8.
Il programma di installazione di Windows non si preoccupa di altri sistemi operativi nel sistema. Quindi scrive il proprio codice sul record di avvio principale. Fortunatamente anche la soluzione è facile.
Devi riparare l'MBR. Fai quanto segue
Avvio usando un live usb / cd di ubuntu.
Usa boot-repair
per risolvere il problema.
Dopo l'avvio con live usb / cd, esegui il seguente comando nel terminale:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Utilizza Recomended Repair
.
Maggiori informazioni - link
Non ho mai avuto problemi usando queste istruzioni:
link
Prima di tutto, devi avviare il tuo sistema da un cd live. Poi
METODO 3 - CHROOT
Questo metodo di installazione utilizza il comando chroot per accedere a i file del sistema danneggiato. Una volta emesso il comando chroot, il comando LiveCD tratta il sistema danneggiato / come proprio. I comandi vengono eseguiti in a l'ambiente chroot influirà sui filesystem di sistema non funzionanti quelli del LiveCD.
Avvio sul desktop LiveCD (Ubuntu 9.10 o successivo). Tieni presente che il Live CD deve essere uguale al sistema che stai correggendo 32-bit o 64-bit (in caso contrario il chroot fallirà).
Apri un terminale (Applicazioni & gt; Accessori & gt; Terminale).
Determina la tua partizione di sistema normale - (l'interruttore è una "L" minuscola)
sudo fdisk -l
Se non sei sicuro, esegui
df -Th
Cerca la dimensione corretta del disco e il formato ext3 o ext4.
Monta la tua normale partizione di sistema:
Sostituisci la partizione corretta: sda1, sdb5, ecc.
sudo mount /dev/sdXX /mnt
Esempio:
sudo mount /dev/sda1 /mnt
Solo se hai una partizione di avvio separata: sdYY è la designazione della partizione / boot (ad esempio sdb3)
sudo mount /dev/sdYY /mnt/boot
Monta i filesystem virtuali critici:
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
Chroot nel tuo normale dispositivo di sistema:
sudo chroot /mnt
Se non c'è
/boot/grub/grub.cfg
o non è corretto, creane uno usandoupdate-grub
Reinstalla GRUB 2:
Sostituisci il dispositivo corretto: sda, sdb, ecc. Non specificare un numero di partizione.
grub-install /dev/sdX
Verifica l'installazione (usa il dispositivo corretto, ad esempio sda. Non specificare una partizione):
sudo grub-install --recheck /dev/sdX
Esci da chroot: CTRL-D sulla tastiera
Smonta filesystem virtuali:
sudo umount /mnt/dev/pts sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys
Se hai montato una partizione / boot separata:
sudo umount /mnt/boot
Smonta la directory / usr del LiveCD:
sudo umount /mnt/usr
Smonta ultimo dispositivo:
sudo umount /mnt
Reboot.
sudo reboot
Avvia da una pendrive USB o CD Ubuntu dal vivo
e
Installa Boot-Repair su ubuntu seguendo i passaggi
Apri il terminale ed esegui i seguenti comandi
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
Dopo aver completato l'installazione, puoi lanciarlo dal menu System- & gt; Administration- & gt; Boot-Repair se usi Gnome, o cerca "boot-repair" nel dash se usi Unity. Quindi segui le seguenti schermate:
Metodo 1
Premi Applica e riavvia il sistema
Metodo 2
Installa easyBCD
in Windows 7 e fai
Aggiungi nuova voce & gt; Linux / BSD & gt; (seleziona) Grub2 & gt; (push) Aggiungi voce
Quindi puoi scegliere Ubuntu sul bootloader di Windows 7 per andare a Grub2 (bootloader precedente).
Ora c'è una soluzione più semplice:
Questo è stato testato su un laptop Samsung Series 7 Chronos con doppio avvio di Windows 8 e Ubuntu 13.10, avvio protetto disabilitato, UEFI e avvio legacy abilitato.
Boot Repair ha funzionato per me. È molto facile usare l'applicazione grafica, non è necessario utilizzare la riga di comando, è sufficiente fare clic su un pulsante:)
Tutte le opzioni di riparazione disponibili sono descritte nella documentazione di Ubuntu e vi è un separate page che spiega come avviare Boot-Repair (creando un disco di avvio o installandolo in un disco live di Ubuntu esistente) e come usarlo.
Basta avviare un live CD di Ubuntu, installare Boot-Repair ed eseguirlo.
Sui sistemi basati su EFI (come la maggior parte dei sistemi forniti con Windows 8 o versioni successive), Windows a volte aggiornerà il suo boot loader o lo ripristinerà come boot loader predefinito. Ciò è particolarmente comune durante la reinstallazione del sistema operativo o l'esecuzione di un importante aggiornamento del sistema (ad esempio l'aggiornamento all'ultima versione di Windows). Si noti che è improbabile che Windows cancelli effettivamente i file GRUB su un computer basato su EFI. Tutto ciò che è necessario per avviare Ubuntu è ancora a posto; è solo essere aggirato. In questi casi, una completa reinstallazione di GRUB è eccessiva, e infatti ha una (piccola) possibilità che crei nuovi problemi.
Quindi, invece di reinstallare GRUB in questi casi, ti consiglio di resettare il GRUB (o qualunque boot loader o boot manager che preferisci) come predefinito. Ci sono diversi modi per farlo, tra cui:
ubuntu
nell'elenco delle opzioni di avvio e spostalo in cima all'elenco. La prossima volta che riavvierai, GRUB dovrebbe venire. (Se usi qualcosa di diverso da GRUB, dovrai trovare la sua voce.) bcdedit
: lo strumento Windows bcdedit
può essere utilizzato per impostare GRUB sull'ordine di avvio predefinito. Il comando bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
, digitato in una finestra del prompt dei comandi Administrator , lo farà; tuttavia, se il tuo computer si avvia con Secure Boot attivo, sarà richiesto bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
. In effetti, quest'ultimo comando di solito funziona anche se Secure Boot non è in uso, quindi prima userei quel comando. Nota che c'è uno strumento shell Windows più avanzato che richiede una sintassi leggermente diversa da quella che ho presentato, ma non ricordo i dettagli. ubuntu
per l'avvio Ubuntu apparirà in questo menu di boot manager, che ti permetterà di avviare ad Ubuntu. In alternativa, è possibile avviare un supporto di emergenza Ubuntu, come il programma di installazione avviato in modalità "prova prima dell'installazione". In ogni caso, puoi utilizzare efibootmgr
per regolare l'ordine di avvio:
sudo efibootmgr
per vedere le voci di avvio. BootOrder
attuale. ubuntu
e nota il suo Boot####
number. sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
per modificare l'ordine di avvio, rendendo xxxx
il numero di Ubuntu. Probabilmente ciò che segue non è molto importante, anche se ho notato che sembra che Windows possa aggiungersi di nuovo all'inizio dell'ordine di avvio, se non è nella lista. Pertanto, dovresti probabilmente assicurarti che Windows sia nell'elenco e potrebbe essere più sicuro riordinare l'elenco in modo che tutte le voci originali siano presenti, solo con la voce ubuntu
spostata in cima all'elenco. Ci sono altre varianti su queste procedure, come usare bcfg
in una shell EFI, usando bless
in macOS, usando il mio RINUNCIARE a fare un avvio una tantum, ecc. Avrei comunque iniziato con EasyUEFI; è probabile che sia la soluzione più semplice. A volte Windows insiste a fare di se stesso il valore predefinito ogni volta che si avvia, tuttavia, e i rapporti indicano che bcdedit
potrebbe fare un lavoro migliore per gestire quel problema.
Si noti che nessuno dei precedenti si applica alle installazioni in modalità BIOS; tuttavia, dal momento che la maggior parte dei computer forniti con Windows 8 o successivo si avviano in modalità EFI, le installazioni in modalità BIOS stanno diventando sempre più rare, quindi in molti casi è meglio gestire il problema in modalità EFI piuttosto che reinstallare ciecamente GRUB.
Quando GRUB è danneggiato, l'utente in genere non ha accesso ai sistemi, quindi la riparazione deve essere eseguita da una sessione live (live-CD o live-USB).
Ci sono molte possibili cause di un'interruzione di GRUB: scrittura su MBR di Windows, DRM che impedisce a GRUB di installarsi correttamente, bug di installazione, modifica dell'hardware ... L'aggiornamento di GRUB come inizialmente proposto da Scott non è in genere sufficiente, reinstallare GRUB come proposto da Marco è più efficiente, ma ci sono comunque varie situazioni che richiedono altre modifiche (aggiungendo opzioni al kernel, nascondendo il menu di GRUB, cambiando le opzioni di GRUB, scegliendo la giusta architettura host ...). Altre difficoltà per la riparazione di GRUB sono l'uso di chroot e la scelta delle partizioni / dischi giusti.
Tutto questo è stato reso semplice con un piccolo strumento grafico: Boot-Repair . esso sarà integrato nel CD di Ubuntu 12.04 per un uso più semplice, ma per le persone che ne hanno bisogno ora, ci sono già alcune distro che lo integrano: Ubuntu-Secured-Remix (CD di Ubuntu che integra Boot-Repair), Boot-Repair-Disk (CD in esecuzione Boot- Riparazione all'avvio), ...
Spero che questo aiuti.
Windows non vede partizioni formattate Linux. È necessario utilizzare gparted da un liveCD e creare una partizione primaria formattata NTFS con il flag di avvio.
Alcuni hanno avuto problemi se la nuova partizione primaria si trova dopo la partizione estesa dato che Windows non ripristina sempre correttamente la tabella delle partizioni. Meglio avere un buon backup e un backup separato della tabella delle partizioni.
Tabella delle partizioni di backup su file di testo & amp; salva su dispositivo esterno.
sudo sfdisk -d /dev/sda > PTsda.txt
Questo è solo per i sistemi MBR (msdos). Se l'installazione di Ubuntu si trova nell'unità di partizione GPT, è possibile installare Windows solo in modalità UEFI o convertire l'unità in MBR (msdos).
Solo il comando fsck
ha corretto per me lo schermo grub-rescue
.
Usa Boot-Repair per avviare da Live-CD, quindi apri Terminale
Ottieni il dispositivo corretto:
sudo fdisk -l
Devi trovare il dispositivo di avvio, il dispositivo di avvio ha *
nella categoria di avvio come qui:
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2000895 1998848 976M 82 Linux swap / Solaris
/dev/sda2 * 2000896 943716351 941715456 449G 83 Linux
Ora ripara il disco usando:
sudo fsck /dev/sda2
Nota: / dev / sda2 è il dispositivo di avvio in questo esempio.
Inserisci Y per correggere i problemi
Dopo aver inserito Y circa 2 volte, puoi fermare il processo fsck
inserendo CTRL + C , perché la parte critica già fatto.
Reboot. Fatto.
Leggi altre domande sui tag grub2 dual-boot windows boot-repair