Come posso riparare / installare / reinstallare grub?


9

Così ho iniziato con un HDD da 250 GB, l'unità stock di un EeePC 1015pem che sto cercando di trasformare in un MintBook. L'unità è fisicamente funzionante, ma tutti i dati sono stati sottoposti a scrupolo, compreso il vecchio sistema operativo. Detto questo, ho collegato l'HDD al mio desktop e ho installato Linux Mint 16 Xfce da una USB live creata tramite Unetbootin-585. Metti da parte 10 GB per swape 240 GB per ext4e /.

L'unità ora rifiuta l'avvio per desktop o netbook. Entrambe le schede madri emettono la corretta sequenza di segnali acustici, quindi sembrano in salute e posso accedere con successo al BIOS su entrambi i sistemi. Tuttavia, l'unica cosa che si presenta dopo aver avviato il computer è una riga di comando che non risponde. Non c'è nessun messaggio di errore, niente grub o grub-rescue, niente.

C'è qualcosa che posso provare oltre a riformattare e ricominciare da capo? Come farei per installare un boot loader in grado di avviare il mio sistema operativo?


2
Perché stai installando sul desktop? Perché non installare direttamente sul netbook di destinazione? 10 GB per lo scambio !? 240 per Ext4 e /? Hai installato grub sull'MBR dell'unità? Stai usando UEFI? Potresti mostrarci lo schema di partizionamento che hai impostato?
terdon

Per:> Perché si installa sul desktop? Perché non installare direttamente sul netbook di destinazione? Ho installato dal desktop perché il netbook sta avendo una reazione glitch all'USB live. Posso avviare il desktop dall'USB, ma quando provo ad avviare il netbook mostra un logo Mint che lampeggia rapidamente per ~ 45 minuti prima di spegnersi. > 10 GB per lo scambio !? Non ho visto neanche una buona ragione; Non ho urgente bisogno di quello spazio. > 240 per Ext4 e /? ... È in qualche modo cattivo? Ogni fonte trovata diceva "Usa Ext4" e il programma di installazione richiedeva / per la partizione.
the.keV.nc,

OK, abbastanza giusto (anche se questo potrebbe essere dovuto all'utilizzo di unetbootin, ho avuto problemi simili e ha funzionato con USB create con MultiSystem anche vedere questo thread. Potresti anche rispondere alle mie altre domande? Stai usando UEFI? Hai installato grub sul disco e se sì, dove?
Terdon

> Hai installato grub sull'MBR dell'unità? No, non ho. Ho pensato che il programma di installazione avesse modificato l'MBR da solo. > Stai usando UEFI? Non a mia conoscenza. Dovrei? > Potresti mostrarci lo schema di partizionamento che hai impostato? Dammi un secondo.
the.keV.nc,

1
Personalmente proverei di più per un'installazione diretta sul laptop. Installare qualcos'altro significa semplicemente aggiungere un ulteriore livello di complessità imo. Prova qualcosa di diverso da un'installazione USB live. Non so nulla dei suggerimenti di @ Terdon, ma li proverei.
Faheem Mitha,

Risposte:


16

Quindi, sembra che tu non abbia installato un boot loader (es. Grub) sul disco. Ciò significa che sebbene tu abbia un SO valido, non c'è modo di avviarlo e quindi non puoi usarlo.

È necessario collegare l'HDD a un computer funzionante (è possibile utilizzare un CD live), impostare un ambiente chroot e installare grub su di esso.

  1. Montare la partizione che verrà utilizzata come /(chiamerò l'unità /dev/sdbe la /partizione sdb1, i nomi potrebbero essere diversi sul sistema in uso, sarà necessario utilizzare quelli corretti ) da qualche parte:

    sudo mount /dev/sdb1 /mnt/foo
    
  2. Associare le directory a cui è grubnecessario avere accesso

    sudo mount --bind /dev /mnt/foo/dev && 
    sudo mount --bind /dev/pts /mnt/foo/dev/pts && 
    sudo mount --bind /proc /mnt/foo/proc && 
    sudo mount --bind /sys /mnt/foo/sys
    
  3. Imposta l' chrootambiente

    sudo chroot /mnt/foo
    
  4. Crea il file di configurazione di grub:

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    

    Se sono installati più sistemi operativi, assicurarsi che il comando sopra li elenca tutti. Per esempio:

    $ sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub.cfg ...
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-3.10-2-amd64
    Found initrd image: /boot/initrd.img-3.10-2-amd64
    Found linux image: /boot/vmlinuz-3.2.0-4-amd64
    Found initrd image: /boot/initrd.img-3.2.0-4-amd64
    Found linux image: /boot/vmlinuz-3.2.0-3-amd64
    Found initrd image: /boot/initrd.img-3.2.0-3-amd64
    Found linux image: /boot/vmlinuz-3.2.0-2-amd64
    Found initrd image: /boot/initrd.img-3.2.0-2-amd64
    Found memtest86+ image: /boot/memtest86+.bin
    Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
    Found Windows 7 (loader) on /dev/sda2
    done
    
  5. Ora installa grub sull'MBR del tuo disco (ricorda di passare /dev/sdba qualsiasi disco su cui desideri installarlo)

    grub-install /dev/sdb
    grub-install --recheck /dev/sdb
    
  6. Esci da chroote smonta tutto per ripristinare il normale funzionamento del sistema in esecuzione:

    exit
    sudo umount /mnt/foo/dev/pts /mnt/foo/dev /mnt/foo/proc /mnt/foo/sys /mnt/foo
    
  7. Prova a fare il boot dal drive, questa volta dovresti avere un menu grub.


Su tuo suggerimento precedente, l'ho fatto esattamente seguendo le istruzioni su nooblab.com. E ha funzionato! Sul mio desktop, posso avviare Mint dal grub appena creato. Sfortunatamente, questo non ha risolto il problema del netbook, quindi cerca il post di follow-up.
the.keV.nc,

@ the.keV.nc cosa intendi con il mio precedente suggerimento? Hai usato qualcosa di diverso da unetbootin? Se hai seguito la procedura nella mia risposta per risolvere il problema, contrassegnalo come accettato in modo che gli altri possano vedere che è la soluzione giusta.
terdon

Voglio dire, mi hai chiesto se avevo installato grub. Sembra che non l'ho fatto, quindi ho seguito le istruzioni qui per reinstallare dal live boot di Mint. Ha funzionato e ora posso accedere a Mint 16 collegando l'HDD al mio desktop. Tuttavia, non funzionerà ancora sul mio netbook, da cui il follow-up. (E grazie per aver menzionato l'accettazione del marchio.)
the.keV.nc

Dalla update-grubpagina man - update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg. Quindi non c'è bisogno di fare grub-mkconfige update-grub. Penso che dopo grub-installsia l'ora corretta (se fa la differenza), quindi in pratica non è necessario il passaggio 4 (anche se probabilmente è possibile spostare l'output al passaggio 5 poiché sarà lo stesso).
Graeme,

1
@Graeme in realtà, ho rimosso del update-grubtutto, è una cosa Debian e, come hai detto, solo uno script di shell che viene eseguito grub-mkconfigdopo l'uso set -xper il debug. Nessun punto, il grub-mkconfigdovrebbe essere sufficiente.
terdon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.