Ripristino di GRUB dopo l'installazione di Windows 7? [duplicare]

58

Ho installato Windows 7 dopo l'arresto anomalo e ora non riesco ad avviare Ubuntu. Le partizioni di Ubuntu sono ancora lì. Ho provato a utilizzare Boot-Repair , ma non ha funzionato!

    
posta Nilav 29.11.2011 - 16:26

6 risposte

51

Puoi reinstallare grub nel Master Boot Record usando il LiveCD per la tua versione di distribuzione,

Va ​​così:

  • Avvia da LiveCD ⋯ prova ad usare un LiveCD che abbia la stessa versione di Grub2 come versione installata

  • Monta la radice di Ubuntu installata in / mnt

  • Cambia root

  • Aggiorna grub

  • Installa grub

  • Reboot

I passaggi precedenti sono tratti da nella parte inferiore della documentazione di Ubuntu Community di Grub2

Dopo l'avvio dal liveCD (selezionare "Prova Ubuntu" nella schermata di apertura)

Quindi avvia un terminale (trattino, terminale di digitazione, ...) ...

  • Potrebbe essere più facile aprire questa pagina web mentre si esegue LiveCD. Firefox dovrebbe permetterti di farlo.

Digita il terminale sudo fdisk -l - e inserisci la tua password se richiesto. Questo è un minuscolo L. Trova le partizioni Ubuntu installate, (dalla mia con altri dischi snippati - qui):

[email protected]:~$sudo fdisk -l
...
Disk /dev/sde: 300.1 GB, 300089646592 bytes
255 heads, 63 sectors/track, 36483 cylinders, total 586112591 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f5ebeb

Device    Boot      Start         End      Blocks   Id  System
/dev/sde2       138464296   586110975   223823340    5  Extended
/dev/sde3   *        2048   138463231    69230592   83  Linux
/dev/sde5       138464298   313460279    87497991    7  HPFS/NTFS/exFAT
/dev/sde6       313460736   317650943     2095104   82  Linux swap / Solaris
/dev/sde7       317652992   581922815   132134912   83  Linux
/dev/sde8       581924864   586110975     2093056   82  Linux swap / Solaris

Partition table entries are not in disk order

Trova la tua installazione di Linux (Id = 83, System = Linux0 quindi digita

sudo mount /dev/sde3 /mnt

ma usa la tua partizione invece di /dev/sde3 (la mia partizione di root è sde3, sde7 è la mia partizione home).

Si presume che tu non abbia una partizione /boot separata. Se lo fai, dovrai anche montarlo digitando

sudo mount /dev/sd·· /mnt/boot

dove sd·· è la partizione in cui è stata installata la directory di avvio separata.

ls /mnt - controlla solo per vedere se ho capito bene:

[email protected]:~$ sudo mount /dev/sde3 /mnt
[email protected]:~$ ls /mnt
bin   cdrom  etc   initrd.img      lib         media  opt   root  sbin     srv  tmp  var      vmlinuz.old
boot  dev    home  initrd.img.old  lost+found  mnt    proc  run   selinux  sys  usr  vmlinuz

Dovresti testare per vedere se la directory di avvio è installata correttamente. Digitare ls /mnt/boot e se è vuoto, la directory di avvio non è installata. Dovrebbe assomigliare a questo:

[email protected]:~$ ls /boot
abi-2.6.35-30-generic     initrd.img-2.6.35-30-generic  System.map-2.6.35-31-generic
abi-2.6.35-31-generic     initrd.img-2.6.35-31-generic  vmcoreinfo-2.6.35-30-generic
config-2.6.35-30-generic  memtest86+.bin                vmcoreinfo-2.6.35-31-generic
config-2.6.35-31-generic  memtest86+_multiboot.bin      vmlinuz-2.6.35-30-generic
grub                      System.map-2.6.35-30-generic  vmlinuz-2.6.35-31-generic

Quindi:

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt #change the root
sudo update-grub # now update grub

Esempio:

[email protected]:~$ sudo for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
[email protected]:~$ sudo chroot /mnt
[email protected]:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-13-generic
Found initrd image: /boot/initrd.img-3.0.0-13-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sdc1
done

Ora per reinstallare grub in MBR. Dovrai sapere da quale disco si avvia il tuo sistema e trovarlo nell'elenco fdisk -l che hai già fatto. Quindi digita sudo grub-install /dev/sd sostituendo sd· con il disco da cui si avvierà.

[email protected]:~$ sudo grub-install /dev/sd·

Quindi digita Crtl-D per uscire da chroot.

Quindi digita sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done - come una riga

[email protected]:~$ sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done

Se hai montato una partizione separata / di avvio, digita sudo umount /mnt/boot

[email protected]:~$ sudo umount /mnt/boot

Quindi digita sudo umount /mnt

[email protected]:~$ sudo umount /mnt

Quindi digita sudo reboot per riavviare il sistema (ricordati di rimuovere il LiveCD).

[email protected]:~$ sudo reboot

Si spera, verrà installato grub.

    
risposta data keepitsimpleengineer 29.11.2011 - 19:07
36

Prova questo ...

Per recuperare grub:

  1. Apri la versione live.
  2. Apri il terminale ed esegui sudo fdisk -l per vedere dove è installato Linux.
  3. Esegui sudo mount /dev/sdaX /mnt dove x è il numero in cui hai trovato la parola Linux in
  4. Esegui sudo grub-install --root-directory=/mnt /dev/sda per installare grub.
  5. Esegui sudo update-grub per aggiornare grub e se questo comando non ha funzionato eseguilo dopo il riavvio.
  6. Reboot.
risposta data Black Block 01.12.2011 - 00:09
17

Boot-Repair è un semplice strumento per riparare frequenti problemi di avvio che potresti incontrare in Ubuntu come quando non puoi avviare Ubuntu dopo aver installato Windows o un'altra distribuzione Linux, o quando non riesci ad avviare Windows dopo aver installato Ubuntu, o quando GRUB non viene più visualizzato, qualche aggiornamento interrompe GRUB, ecc.

Nota: questo può anche essere eseguito da un live-CD o live-USB.

Aggiungi "ppa: yannubuntu / boot-repair" alle Sorgenti Software tramite il Software Center o, per maggiore velocità, aggiungilo usando una nuova sessione Terminale:

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

È possibile installare Boot-Repair e amp; utilizzato da qualsiasi sessione di Ubuntu (sessione normale, live-CD o live-USB). I pacchetti PPA sono disponibili per Ubuntu 10.04, 10.10, 11.04, 11.10, 12.04 e 12.10. fonte

    
risposta data Ringtail 31.03.2012 - 22:39
11

Dopo l'installazione di Windows 7, il bootloader di Windows ha sostituito l'MBR.

Per risolvere il problema è possibile installare un programma "EasyBCD" in Windows

Segui questi passaggi per ripristinare GRUB dopo aver installato EasyBCD:

  1. Avvia il programma e seleziona AGGIUNGI NUOVA ENTRATA da EasyBCD Toolbox

  2. Seleziona il 'Linux / BSD' dalla colonna dei sistemi operativi

  3. Scegli GRUB (Legacy) sotto il tipo e clicca sull'icona ADD ENTRY

  4. Scegli SÌ per il prompt di riavvio

  5. Verrà visualizzato GRUB dopo il riavvio che rileverà la partizione di Ubuntu per consentire l'avvio in Ubuntu

BUONA FORTUNA

Link per il download: link

    
risposta data Mysterio 29.11.2011 - 16:47
2

Boot-Repair funziona:

  • Avevo Windows XP e Ubuntu sul mio PC.
  • Ho installato Windows 7 che ha portato a un nuovo boot loader senza Ubuntu.
  • Ho installato Boot-Repair con il disco di avvio e GRUB è stato aggiornato insieme a Windows 7 e Windows XP.
risposta data Vaibhav Dubey 20.08.2012 - 09:53
1

Una sfumatura per essere cauti - le istruzioni dicono di controllare se si dispone di una partizione di avvio separata, e in tal caso, sudo mount / dev / sd ·· / mnt / boot. Mi sono confuso qui - ho avuto una partizione di boot che non era il mio Linux, era la mia partizione di base (/ sda0). Così ho fatto quel comando, e ho finito per ottenere un menu di grub che mostrava solo il mio avvio di Windows. Ho ripetuto la procedura senza fare sudo mount / dev / sd ·· / mnt / boot e ha funzionato magnificamente - il mio vecchio menu di GRUB era tornato, con tutte le opzioni di Linux e Windows. Le istruzioni si riferiscono solo a una partizione di avvio Linux separata, non nel caso in cui la partizione di avvio non sia Linux.

    
risposta data Andy Weinstein 22.05.2012 - 23:17

Leggi altre domande sui tag