Come posso modificare le voci del mio bootloader Grub (Nascondi, Rinomina, Rimuovi)? Preferibilmente farlo manualmente, e non con un programma


40

Quindi fondamentalmente ho un bootloader Grub piuttosto allagato, con versioni precedenti di Linux, 3 sistemi operativi e memtest. Quello che voglio è lasciare solo i sistemi operativi. Devo sapere come farlo manualmente e ho bisogno di qualcuno che mi dica di cosa dovrei essere consapevole quando verrà rilasciato un nuovo kernel. Grazie in anticipo.

Risposte:


12

Usa grub-customizer: https://launchpad.net/grub-customizer

Questa è una GUI che ti permetterà di nascondere voci di grub indesiderate.


In realtà questo è lo strumento che ho iniziato a usare e lo sto ancora usando. Mi dà tutte le funzionalità necessarie. Modificato questo per la migliore risposta!
Shahe Tajiryan,

Bada bing bada boom!
parole per il

Se mi trovo nella sfortunata situazione, che non riesco ad avviare Ubuntu (arrivando solo al prompt di grub, presumibilmente per le voci di grub incasinate) - c'è un avvio .iso-Immagine attorno ad anbd dovrei fare il boot da lì?
Frank Nocke,

@FrankNocke Penso che tu voglia creare un USB avviabile e fare un ripristino di grub, o qualcosa del genere.
parole anche il

25

Il post sul blog GRUB2 rivisitato ti fornirà una serie di istruzioni dettagliate su come modificare manualmente i file di configurazione di GRUB2. Se controlli le altre pubblicazioni della serie (filtrando su Categoria = GRUB) troverai anche informazioni sulla rimozione di vecchi kernel e cosa succede quando arriva un nuovo kernel come aggiornamento. Le pubblicazioni includono riferimenti a numerosi siti Web correlati.


18

Invece di modificare direttamente il file grub, dovresti ripulire i kernel che non vuoi.

Inizia con questo:

dpkg -l | grep linux-image

La update-grubsceneggiatura fa solo voci per tutto ciò che trova in /boot, per quanto io sappia, in modo da rimuovere il vecchio linux-image (e linux-headers) pacchetti tramite apt-get remove pulirà / boot e quindi ripulire il config di grub.

Questo è il modo "corretto" per farlo e quindi non richiederà alcuna azione speciale quando in futuro verranno rilasciati kernel più recenti, probabilmente dovrai ripulire ad un certo punto probabilmente :)


3

Configurazione di GRUB v2

Il file di configurazione è /boot/grub/grub.cfg, ma non è necessario modificarlo direttamente. Questo file è generato da update-grub (8) di grub v2, basato su:

Lo snippet di script in /etc/grub.d/

Il file di configurazione / etc / default / grub

Per configurare grub "v2", è necessario modificare / etc / default / grub, quindi eseguire update-grub. La configurazione avanzata si ottiene modificando gli snippet in /etc/grub.d/.

preso dalla configurazione di Debian .


4
Secondo me, questa non è una risposta utile. In realtà non contiene alcun passaggio su come nascondere / rinominare / spostare le voci del menu di GRUB ...
Byte Commander

3

Esegui sudo update-grubnel terminale in modo da includere eventuali opzioni di avvio "dimenticate".

Se non ti piacciono le righe di comando, puoi aprire il terminale, eseguire sudo nautiluse utilizzare Esplora file come root. ;)

Quindi, sempre nel terminale, vai alla cartella in cui è memorizzato il file di configurazione di grub. Di solito sudo cd /boot/grubdovrebbe fare il trucco, altrimenti trova il tuo file di configurazione di grub cercando grub.cfge cambiando la cartella.

GUI: fare clic su DISPOSITIVI-> COMPUTER-> avvio-> grub o cercare DISPOSITIVI-> COMPUTER per il file.

Dopo aver individuato la cartella e averla aperta, esegui sudo cp grub.cfg grubOldXX.cfgdove XX è un numero seriale di tua scelta.

GUI: copia incolla grub.cfg

Quindi, corri sudo gedit grub.cfg

GUI: fare clic con il tasto destro grub.cfge selezionare EDIT

Modifica le voci che non desideri e modifica l'ordine di avvio e l'opzione di avvio predefinita come desiderato (è abbastanza semplice). Ogni voce di menu è convenientemente preceduta dal termine menuentry. Elimina tutto menuentry, fino alla prima parentesi graffa di chiusura inclusa }.

SALVA IL TUO FILE ed ESCI DA GEDIT.

IMPORTANTE: fare casini con grub è un'attività che ha un'enorme possibilità di sbagliare catastroficamente. Se il tuo file di configurazione è incasinato, il tuo computer potrebbe non avviarsi.

Tieni sempre a portata di mano un DVD con una versione di Ubuntu (indipendentemente dalla versione). È sempre possibile eseguire l'avvio dal DVD o da altri supporti rimovibili in caso di problemi e, poiché è stata salvata una copia della versione originale (funzionante), rinominare i file ripristinandoli grubOldXX.cfgcome grub.cfg.


1

A seconda della grubversione, è possibile utilizzare l' applicazione StartUpManager per mantenere il menu di grub. Le Advancedimpostazioni della sua scheda consentono di selezionare / deselezionare una voce di avvio Memtest / Recovery e anche il numero di versioni del kernel. Con grub2, "le schede Appearancee Advancedcontengono attualmente meno voci e la Securityscheda non esiste con Grub 2 completamente installato." (vedere qui , "Grub 2 Note").

inserisci qui la descrizione dell'immagine


In anticipo, non ottengo nulla tranne le impostazioni di Resoultion. E creando un floppy di salvataggio.
Shahe Tajiryan,

@ShaheTajiryan: Scusa, ho sbagliato, non ho citato con precisione. Ora modificato. Sembra che tu lo stia utilizzando grub2, quindi StartUpManager non sarà di grande aiuto per te.
tohuwawohu,


-1

Installo Kali sul mio Mac e utilizzo rEfind come caricatore di grub, ma il montaggio di grub in modo errato /dev/sdaX, quindi alla fine ho ottenuto 2 voci di grub e 1 non funziona, mi ha portato al salvataggio di grub.

Dopo aver provato tutti i comandi per rimuoverlo senza successo, vado al gestore dell'utilità Mac per eliminare la biogrubpartizione che non funziona. Vola, ora ha lasciato solo quello praticabile.

Potrebbe essere necessario passare al terminale per digitare update-grub.


-2

Usando gedit, modifica il grub.cfgfile che si trova in /boot/grub.

Rimuovi quello che non funziona. Ad esempio, ci sono due voci situate su partizioni diverse /dev/sda3e /dev/sda4. Dovresti eliminare da menuentrya }(che significa chiudere).

Quindi premere Salva e voilà.

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
menuentry 'Windows 7 (loader) (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

Elimina /dev/sda3, dopo l'eliminazione sarà simile a questo

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

2
Il file viene creato automaticamente con ogni aggiornamento del kernel o durante l'esecuzione update-grub, perché dovresti modificarlo manualmente?
Braiam,
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.