Grub current su slackware 14.2 - da dualboot a singolo
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- joe
- Iper Master
- Messaggi: 3797
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: Grub current su slackware 14.2 - da dualboot a singolo
Guarda, mi sa che la cosa non sta precisamente così.
Nel mio ultimo messaggio evidentemente mi sono spiegato male. Ho fatto della confusione nella spiegazione, volendo raccontare come non aveva funzionato e come invece funziona...
Come funziona:
1. creare partizione "adhoc" per ospitare grub, nel mio caso /dev/sda4. Formattarla, io ho scelto ext2.
2. montarla in ad esempio /mnt/adhoc
3. re-installare grub con l'opzione --boot-directory=/mnt/adhoc. Viene creata una subdir chiamata "grub", proprio uguale a quella che troviamo solitamente in /boot. Inoltre viene installato anche il "bootloader" nella sua partizione EFI oppure BIOS-Boot a seconda.
4. infine aggiungere il file di configurazione. Non serve ri-generarlo se ne abbiamo già uno coerente con il nostro sistema e i kernel che vogliamo avviare. La cosa importante però è dove lo piazziamo. Volendo rendere autonoma la partizione adhoc, va messo in "/mnt/adhoc/grub/".
Così a me funziona.
In soldoni:
1- non serve una sovra-directory "boot". Qua sembra bastare "/mnt/adhoc/grub/"
2- grub-mkconfig ha un sistema di funzionamento difficile da "etichettare" senza conoscere di preciso la configurzione di grub in /etc. In alcuni casi può essere che vada a ravanare in boot/grub e si aspetti di trovare lì qualcosa.
Nel mio caso a dirla tutta, lavorando dalla liveslack ho preso il grub.cfg da /boot/grub della 14.2 e l'ho messo in /mnt/adhoc/grub, dir che avevo generato in precedenza dalla 14.2 all'atto dell'installazione grub-install.
Quindi non ho usato grub-mkconfig... Posso comunque provare a vedere cosa succede:
- elimino /boot/grub dalla 14.2
- lancio grub-mkconfig -o /mnt/adhoc/grub/grub.cfg
Così ci leviamo il dubbio.
Nel mio ultimo messaggio evidentemente mi sono spiegato male. Ho fatto della confusione nella spiegazione, volendo raccontare come non aveva funzionato e come invece funziona...
Come funziona:
1. creare partizione "adhoc" per ospitare grub, nel mio caso /dev/sda4. Formattarla, io ho scelto ext2.
2. montarla in ad esempio /mnt/adhoc
3. re-installare grub con l'opzione --boot-directory=/mnt/adhoc. Viene creata una subdir chiamata "grub", proprio uguale a quella che troviamo solitamente in /boot. Inoltre viene installato anche il "bootloader" nella sua partizione EFI oppure BIOS-Boot a seconda.
4. infine aggiungere il file di configurazione. Non serve ri-generarlo se ne abbiamo già uno coerente con il nostro sistema e i kernel che vogliamo avviare. La cosa importante però è dove lo piazziamo. Volendo rendere autonoma la partizione adhoc, va messo in "/mnt/adhoc/grub/".
Così a me funziona.
In soldoni:
1- non serve una sovra-directory "boot". Qua sembra bastare "/mnt/adhoc/grub/"
2- grub-mkconfig ha un sistema di funzionamento difficile da "etichettare" senza conoscere di preciso la configurzione di grub in /etc. In alcuni casi può essere che vada a ravanare in boot/grub e si aspetti di trovare lì qualcosa.
Nel mio caso a dirla tutta, lavorando dalla liveslack ho preso il grub.cfg da /boot/grub della 14.2 e l'ho messo in /mnt/adhoc/grub, dir che avevo generato in precedenza dalla 14.2 all'atto dell'installazione grub-install.
Quindi non ho usato grub-mkconfig... Posso comunque provare a vedere cosa succede:
- elimino /boot/grub dalla 14.2
- lancio grub-mkconfig -o /mnt/adhoc/grub/grub.cfg
Così ci leviamo il dubbio.
- joe
- Iper Master
- Messaggi: 3797
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: Grub current su slackware 14.2 - da dualboot a singolo
Codice: Seleziona tutto
# rm -r /boot/grub
# grub-install --modules=part_gpt --boot-directory=/mnt/hd /dev/sda
# grub-mkconfig -o /mnt/hd/grub/grub.cfg
/usr/bin/grub-editenv: errore: impossibile aprire "/boot/grub/grubenv.new": File o directory non esistente.
Generating grub configuration file ...
done
Però il grub.cfg che ha creato non è vuoto, sembra buono.
Anzi siccome avevo backuppato il precedente in /tmp posso confermare che è proprio identico:
Codice: Seleziona tutto
# diff /tmp/boot-grub.bk/grub.cfg grub/grub.cfg
#
Codice: Seleziona tutto
# cat /etc/grub.d/42_slackware
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Slackware 14.2 Stable | Kernel Generic' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
echo 'caricamento linux vmlinuz-generic...'
linux /boot/vmlinuz-generic root=/dev/sda3 ro
initrd /boot/initrd-generic.img
}
menuentry 'Slackware 14.2 Stable | Kernel Huge' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
echo 'caricamento linux vmlinuz-huge...'
linux /boot/vmlinuz-huge root=/dev/sda3 ro
initrd /boot/initrd-generic.img
}
Codice: Seleziona tutto
# grep \/boot /etc/grub.d/00_header
for dir in "${pkgdatadir}" "`echo '/boot/grub' | sed "s,//*,/,g"`" /usr/share/grub ; do
In /boot adesso non c'è la dir "grub" è tutto solo nella partizione adhoc. Vediamo cosa succede.
- joe
- Iper Master
- Messaggi: 3797
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: Grub current su slackware 14.2 - da dualboot a singolo
Rieccomi dopo il reboot.
Tutto liscio.
L'assenza /boot/grub non è determinante per grub-mkconfig.
Sì, ritorna un errore, ma in realtà produce grub.cfg corretto.
Inoltre alla prova pratica il sistema si avvia regolarmente.
Posso fare un'ulteriore prova a reinstallare con gub-install ma non dovrebbe centrare nulla la dir /boot, anche perché quando lo si lancia la prima volta non contiene nulla di inerente a grub... Come adesso nel mio caso.
Estremizzando prima di questo, si potrebbe fare anche la prova di rimozione di grub dalla BIOS boot partition. Ma non so come si fa, forse attraverso "dd" è sufficiente?
In modo da partire proprio da una tabula rasa, che non contenga una precedente installazione di grub. In questo modo si capisce se è realmente la nuova modalità ad essere in funzione e non si ha il dubbio che funzioni bene per merito della vecchia presenza di grub. Non so se mi sono spiegato...
Tutto liscio.
L'assenza /boot/grub non è determinante per grub-mkconfig.
Sì, ritorna un errore, ma in realtà produce grub.cfg corretto.
Inoltre alla prova pratica il sistema si avvia regolarmente.
Posso fare un'ulteriore prova a reinstallare con gub-install ma non dovrebbe centrare nulla la dir /boot, anche perché quando lo si lancia la prima volta non contiene nulla di inerente a grub... Come adesso nel mio caso.
Estremizzando prima di questo, si potrebbe fare anche la prova di rimozione di grub dalla BIOS boot partition. Ma non so come si fa, forse attraverso "dd" è sufficiente?
In modo da partire proprio da una tabula rasa, che non contenga una precedente installazione di grub. In questo modo si capisce se è realmente la nuova modalità ad essere in funzione e non si ha il dubbio che funzioni bene per merito della vecchia presenza di grub. Non so se mi sono spiegato...
-
- Iper Master
- Messaggi: 2492
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: Grub current su slackware 14.2 - da dualboot a singolo
@joe
Sì, hai ragione in entrambi i casi:
- non è necessario avere /boot nella partizione dedicata;
La ragione l'hai detta tu stesso: gli script che generano il config evidentemente non sono così "evoluti". Se togli il tuo personalizzato, vedrai che il config che ottieni lo puoi usare solo come fermacarte.
Poi certo: se hai un grub.cfg già generato e adatto al sistema in uso è sufficiente copiarlo.
L'importante è comunque che la faccenda funzioni.
Sì, hai ragione in entrambi i casi:
- non è necessario avere /boot nella partizione dedicata;
questo però vale solo nel tuo caso, perché hai uno script custom da cui prende ciò che ti serve per il boot e che hai inserito tu "a mano".
La ragione l'hai detta tu stesso: gli script che generano il config evidentemente non sono così "evoluti". Se togli il tuo personalizzato, vedrai che il config che ottieni lo puoi usare solo come fermacarte.
Poi certo: se hai un grub.cfg già generato e adatto al sistema in uso è sufficiente copiarlo.
L'importante è comunque che la faccenda funzioni.
- joe
- Iper Master
- Messaggi: 3797
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: Grub current su slackware 14.2 - da dualboot a singolo
Sì infatti, comunque l'errore che salta fuori, è il sentore che effettivamente grub si aspetta di essere posizionato in una dir chiamata "boot".
Non credo ci siano problemi ulteriori, però la cosa va valutata caso per caso perché appunto dipende dalla configurazione di grub che si fa a monte.
Metto due link in cui spiegano un po' meglio di me come e dove è posizionato GRUB-2 in base alla tipologia di partizionamento GPT/MBR e di scheda madre BIOS/UEFI.
Nella mia situazione ibrida BIOS/GPT grub viene spezzato praticamente in 3 parti:
- un pezzo sta nel MBR (o meglio, nella prima parte del disco) - lì questo pezzo lo chiama "stage 1"
- un altro pezzo viene posizionato nella partizione BIOS Boot Partition - e lì parla di "stage 1.5"
- il resto (non so se sia corretto parlare di "stage 2"...) viene posizionato nella partizione di "boot", oppure come visto nella mia prova, nella partizione in cui si è scelto di indirizzare l'installazione attraverso l'opzione "--boot-directory=".
https://askubuntu.com/questions/666602/ ... -partition
https://unix.stackexchange.com/question ... a-gpt-disk
Sono due link utili a capire un po' di più cosa bolle nella pentola grub2.
Mi resta il dubbio su come eliminare Grub da quelle posizioni, senza toccare la tabella partizioni GPT.
Credo si possa fare tranquillamente con "dd", ma si deve essere sicuri di quanti byte sovrascrivere "a zero".
Detto questo a me piaceva più LILO ma con GPT non credo funzioni più. C'è ELILO ho visto ma non ho capito se fuzniona anche in una soluzione ibrida come la mia su scheda madre con BIOS tradizionale.
Non credo ci siano problemi ulteriori, però la cosa va valutata caso per caso perché appunto dipende dalla configurazione di grub che si fa a monte.
Metto due link in cui spiegano un po' meglio di me come e dove è posizionato GRUB-2 in base alla tipologia di partizionamento GPT/MBR e di scheda madre BIOS/UEFI.
Nella mia situazione ibrida BIOS/GPT grub viene spezzato praticamente in 3 parti:
- un pezzo sta nel MBR (o meglio, nella prima parte del disco) - lì questo pezzo lo chiama "stage 1"
- un altro pezzo viene posizionato nella partizione BIOS Boot Partition - e lì parla di "stage 1.5"
- il resto (non so se sia corretto parlare di "stage 2"...) viene posizionato nella partizione di "boot", oppure come visto nella mia prova, nella partizione in cui si è scelto di indirizzare l'installazione attraverso l'opzione "--boot-directory=".
https://askubuntu.com/questions/666602/ ... -partition
https://unix.stackexchange.com/question ... a-gpt-disk
Sono due link utili a capire un po' di più cosa bolle nella pentola grub2.
Mi resta il dubbio su come eliminare Grub da quelle posizioni, senza toccare la tabella partizioni GPT.
Credo si possa fare tranquillamente con "dd", ma si deve essere sicuri di quanti byte sovrascrivere "a zero".
Detto questo a me piaceva più LILO ma con GPT non credo funzioni più. C'è ELILO ho visto ma non ho capito se fuzniona anche in una soluzione ibrida come la mia su scheda madre con BIOS tradizionale.
-
- Iper Master
- Messaggi: 2492
- Iscritto il: gio 10 mar 2011, 9:21
- Slackware: 15.0
- Kernel: 5.15.x-generic
- Desktop: Sway
- Distribuzione: Arch Linux
Re: Grub current su slackware 14.2 - da dualboot a singolo
Nel tuo caso basta cancellare i primi 440 byte, il resto sta nella partizione Bios0xEF02. Ricordo però anche il valore 446, ma forse era per piallare su Bios il loader di windows, dove il discorso è analogo(basta cancellare quei byte senza curarsi di altro).
Se ricordo bene, alcuni stage di GRUB2 sono "inglobati" nel "core.img", e quindi non vengono "sparsi" su altre posizioni. L'ultimo stage poi è nella directory (/boot)/grub di cui parlavamo.
Prendi tutto questo con le "pinze".