RISOLTO Modificare Grub

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Zar Marco

Utente Attivo
Messaggi
501
Reazioni
108
Punteggio
53
Ciao ragazzi, mi scuso per la nubbiaggine, in questo caso, ma ho bisogno di voi.
La mia situazione è la seguente, attualmente nel mio pc ho installato 3 distro su due partizioni, con btrfs.
Sulla prima partizione ho gentoo ed arch, con il relativo subvol di root, sulla seconda ho void, sempre con la sua partizione.

Ho constatato che grub riesce a leggere solo un subvolume, allora decido di modificare manualmente grub. Su arch ho installato grub-customizer e sono riuscito a modificare correttamente le varie impostazioni.
Questo è il risultato
Codice:
╭─[gentoobook] as root in /                                                                                                                                                                                                         01-10 18:33:08
╰──➤  cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  7706867b-b5b4-4ff6-838a-d0b190c14f82
else
  search --no-floppy --fs-uuid --set=root 7706867b-b5b4-4ff6-838a-d0b190c14f82
fi
    font="/@arch/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=it_IT
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7706867b-b5b4-4ff6-838a-d0b190c14f82' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  7706867b-b5b4-4ff6-838a-d0b190c14f82
        else
          search --no-floppy --fs-uuid --set=root 7706867b-b5b4-4ff6-838a-d0b190c14f82
        fi
        echo    'Caricamento Linux linux...'
        linux   /@arch/boot/vmlinuz-linux root=UUID=7706867b-b5b4-4ff6-838a-d0b190c14f82 rw rootflags=subvol=@arch  quiet
        echo    'Caricamento ramdisk iniziale...'
        initrd  /@arch/boot/initramfs-linux.img
}
submenu 'Opzioni avanzate per Arch Linux' $menuentry_id_option 'gnulinux-advanced-7706867b-b5b4-4ff6-838a-d0b190c14f82' {
        menuentry 'Arch Linux, con Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-7706867b-b5b4-4ff6-838a-d0b190c14f82' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  7706867b-b5b4-4ff6-838a-d0b190c14f82
                else
                  search --no-floppy --fs-uuid --set=root 7706867b-b5b4-4ff6-838a-d0b190c14f82
                fi
                echo    'Caricamento Linux linux...'
                linux   /@arch/boot/vmlinuz-linux root=UUID=7706867b-b5b4-4ff6-838a-d0b190c14f82 rw rootflags=subvol=@arch  quiet
                echo    'Caricamento ramdisk iniziale...'
                initrd  /@arch/boot/initramfs-linux.img
        }
        menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-7706867b-b5b4-4ff6-838a-d0b190c14f82' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  7706867b-b5b4-4ff6-838a-d0b190c14f82
                else
                  search --no-floppy --fs-uuid --set=root 7706867b-b5b4-4ff6-838a-d0b190c14f82
                fi
                echo    'Caricamento Linux linux...'
                linux   /@arch/boot/vmlinuz-linux root=UUID=7706867b-b5b4-4ff6-838a-d0b190c14f82 rw rootflags=subvol=@arch  quiet
                echo    'Caricamento ramdisk iniziale...'
                initrd  /@arch/boot/initramfs-linux-fallback.img
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom_proxy ###
menuentry "Void kernel 4.19.13"{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  10e84314-ed7d-414a-869a-f9ee0e706e8c
        else
          search --no-floppy --fs-uuid --set=root 10e84314-ed7d-414a-869a-f9ee0e706e8c
        fi
        echo    'Caricamento Linux linux...'
        linux   /@void/boot/vmlinuz-4.19.13_1 root=UUID=10e84314-ed7d-414a-869a-f9ee0e706e8c rw rootflags=subvol=@void  quiet
        echo    'Caricamento ramdisk iniziale...'
        initrd  /@void/boot/intel-ucode /@void/boot/initramfs-4.19.13_1.img
}

# 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 "Gentoo"{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  7706867b-b5b4-4ff6-838a-d0b190c14f82
        else
          search --no-floppy --fs-uuid --set=root 7706867b-b5b4-4ff6-838a-d0b190c14f82
        fi
        echo    'Caricamento Linux linux...'
        linux   /@gentoo/boot/vmlinuz-4.20.0-gentoo root=UUID=7706867b-b5b4-4ff6-838a-d0b190c14f82 rw rootflags=subvol=@gentoo  quiet
        echo    'Caricamento ramdisk iniziale...'
        initrd  /@gentoo/boot/initramfs-genkernel-x86_64-4.20.0-gentoo
}
submenu "Opzioni avanzate per Gentoo"{
menuentry "Gentoo kernel 4.19.10"{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  7706867b-b5b4-4ff6-838a-d0b190c14f82
        else
          search --no-floppy --fs-uuid --set=root 7706867b-b5b4-4ff6-838a-d0b190c14f82
        fi
        echo    'Caricamento Linux linux...'
        linux   /@gentoo/boot/vmlinuz-4.19.10-gentoo root=UUID=7706867b-b5b4-4ff6-838a-d0b190c14f82 rw rootflags=subvol=@gentoo  quiet
        echo    'Caricamento ramdisk iniziale...'
        initrd  /@gentoo/boot/initramfs-genkernel-x86_64-4.19.10-gentoo
}
}
menuentry "Void"{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  10e84314-ed7d-414a-869a-f9ee0e706e8c
        else
          search --no-floppy --fs-uuid --set=root 10e84314-ed7d-414a-869a-f9ee0e706e8c
        fi
        echo    'Caricamento Linux linux...'
        linux   /@void/boot/vmlinuz-4.20.0_1 root=UUID=10e84314-ed7d-414a-869a-f9ee0e706e8c rw rootflags=subvol=@void  quiet
        echo    'Caricamento ramdisk iniziale...'
        initrd  /@void/boot/intel-ucode.img /@void/boot/initramfs-4.20.0_1.img
}
submenu "Opziomni avanzate Void"{
menuentry "Void kernel 4.19.13"{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  10e84314-ed7d-414a-869a-f9ee0e706e8c
        else
          search --no-floppy --fs-uuid --set=root 10e84314-ed7d-414a-869a-f9ee0e706e8c
        fi
        echo    'Caricamento Linux linux...'
        linux   /@void/boot/vmlinuz-4.19.13_1 root=UUID=10e84314-ed7d-414a-869a-f9ee0e706e8c rw rootflags=subvol=@void  quiet
        echo    'Caricamento ramdisk iniziale...'
        initrd  /@void/boot/intel-ucode /@void/boot/initramfs-4.19.13_1.img
}
}
### END /etc/grub.d/40_custom_proxy ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/42_grub-customizer_menu_color_helper ###
### END /etc/grub.d/42_grub-customizer_menu_color_helper ###

decido di provare a impostare in void, modificando il file 40_custom in questa maniera https://paste.pound-python.org/show/IGMjcrc7iQjE3P0iRhl4/ ma quando vado a rigenerare grub ottengo questo risultato
Codice:
gentoobook:~saul # grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.20.1_1
Found initrd image: /boot/initramfs-4.20.1_1.img
Found linux image: /boot/vmlinuz-4.20.0_2
Found initrd image: /boot/initramfs-4.20.0_2.img
Found linux image: /boot/vmlinuz-4.20.0_1
Found initrd image: /boot/initramfs-4.20.0_1.img
Found linux image: /boot/vmlinuz-4.19.14_1
Found initrd image: /boot/initramfs-4.19.14_1.img
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Found Gentoo/Linux on /dev/nvme0n1p3
error: out of memory.
error: syntax error.
error: Incorrect command.
error: syntax error.
Syntax error at line 340
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.

mi dava lo stesso errore anche quando provai a modificarlo in gentoo.

Ho proprio bisogno di risolvere tale problema, senza l'ausilio di grub-customizer, ma non capisco in cosa sbaglio
 
Allora non so gentoo, ma quello che hai editato tu, è il file che genera automaticamente grub-mkconfig, quindi non è quello il file da editare. In molte distro il file da editare è /etc/default/grub e poi il comando grub-mkconfig -o /boot/grub/grub.cfg prenderà i template da /etc/grub.d e le configurazioni da /etc/default/grub.
 
Sì sì lo so che non è quel file modificabile, infatti ho postato anche un paste in cui è inserito il codice che ho messo in 40_custom in /etc/grub.d e che mi da l'errore presente nell'ultimo code
 
Ah ok non avevo visto il paste. Intanto una cosa banalissima che magari non ti è venuta col paste ma non vedo } alla fine del paste. In secondo luogo vedo che definisci tutto tramite UUID, e hai copiato quelli di arch linux, sei sicuro che combacino?

EDIT: No ok è proprio problema di sintassi quindi o è la parentesi, oppure un indenting errato da qualche parte.
 
Ultima modifica:
Grazie, mi ero totalmente non accorto di quella mancanza. E sì che l'ho ricontrollato innumerevoli volte. Sì sì gli UUID sono corretti. Grazie mille ancora
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top