[Risolto] Cambiare sistema di default su Grub2

Salve a tutti,

condivido un vecchio laptop con la mia compagna e sopra ho installato windows xp (lentissimo), ubuntu 12 e ora ho installato fedora 17 kde.
Personalmente preferisco fedora ma la mia compagna trova ubuntu più facile, per cui vorrei modificare il grub in maniera tale da impostare ubuntu come sistema predefinito così quando lei utilizza il laptop non fa confusione e uò utilizzare sempre il suo SO preferito. Ho provato a farlo da ubuntu ma senza successo, esiste un programma simile a startup-manager anche per fedora? ho provato a seguire altre discussioni sul forum per vedere se trovavo una procedura particolare da seguire ma confesso di non aver capito molto (sono un principiante). Qualcuno può aiutarmi?

grazie mille!!

Se ho capito bene, il bootloader nell’MBR è quello di Fedora.

Ti basta quindi cambiare il valore di GRUB_DEFAULT del file /etc/default/grub.

Il parametro accetta valori numerici, e segue l’ordine delle voci del tuo Grub. Ricordo che parte da 0 (quindi, lo 0 corrisponderà alla prima voce, 1 alla seconda, 2 alla terza e così via).

Grazie per la risposta,

ho caricato il file che mi hai indicato e ho trovato queste righe

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=“Fedora”
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX=“rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0 KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet”
#GRUB_THEME="/boot/grub2/themes/system/theme.txt"

al posto di saved devo mettere il numero di ubuntu?

e come faccio a sapere qual è?

grazie mille per la pazienza!

Esatto, devi mettere il numero corrispondente alla voce di Ubuntu.

Vediamo il file di configurazione:

# cat /etc/default/grub

@arkanoid
scusa se ti correggo, ma ha già postato il suo /etc/default/grub
deve farci vedere un

# cat /boot/grub2/grub.cfg

allora ho fatto coem suggerito da yattatux e mi ha rimandato un file lunghissimo che non capisco

EDIT: output rimosso da Robyduck. Utilizza il tag code per renderlo più leggibile.

Ups, chiedo scusa io, intendevo proprio il file richiesto da Yattatux.

Chiedo gentilmente a Hermes di modificare l’ultimo suo post. Per migliorare la leggibilità, l’output dovrebbe essere racchiuso da un unico tag code e non da uno per riga.

Comunque, se ho ben visto, GRUB_DEFAULT deve essere impostato a 4.

chiedo scusa per il codice
lo ripubblico in maniera corretta (spero).

# cat /boot/grub2/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if  -s $prefix/grubenv ]; then
  load_env
fi
set default="0"

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_msdos
insmod ext2
set root='hd0,msdos7'
if  x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
else
  search --no-floppy --fs-uuid --set=root 9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora (3.5.3-1.fc17.x86_64)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos7'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
        else
          search --no-floppy --fs-uuid --set=root 9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
        fi
        echo 'Loading Fedora (3.5.3-1.fc17.x86_64)'
        linux   /boot/vmlinuz-3.5.3-1.fc17.x86_64 root=UUID=9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0  KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau
        echo 'Loading initial ramdisk ...'
        initrd /boot/initramfs-3.5.3-1.fc17.x86_64.img
}
menuentry 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos7'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
        else
          search --no-floppy --fs-uuid --set=root 9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
        fi
        echo    'Loading Linux 3.3.4-5.fc17.x86_64 ...'
        linux   /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=UUID=9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0  KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initramfs-3.3.4-5.fc17.x86_64.img
}
submenu 'Advanced options for Fedora Linux' $menuentry_id_option 'gnulinux-advanced-9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5' {
        menuentry 'Fedora Linux, with Linux 3.3.4-5.fc17.x86_64' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.x86_64-advanced-9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos7'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
                else
                  search --no-floppy --fs-uuid --set=root 9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
                fi
                echo    'Loading Linux 3.3.4-5.fc17.x86_64 ...'
                linux   /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=UUID=9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0  KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initramfs-3.3.4-5.fc17.x86_64.img
        }
        menuentry 'Fedora Linux, with Linux 3.3.4-5.fc17.x86_64 (recovery mode)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.x86_64-recovery-9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos7'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
                else
                  search --no-floppy --fs-uuid --set=root 9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5
                fi
                echo    'Loading Linux 3.3.4-5.fc17.x86_64 ...'
                linux   /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=UUID=9d196a9a-29b3-4c0c-b7f1-7eee29cff7f5 ro single rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0  KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initramfs-3.3.4-5.fc17.x86_64.img
        }
}
if  "x$default" = 'Fedora Linux, with Linux 3.3.4-5.fc17.x86_64' ]; then default='Advanced options for Fedora Linux>Fedora Linux, with Linux 3.3.4-5.fc17.x86_64'; fi;
### END /etc/grub.d/10_linux ###

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

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

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

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows XP Media Center Edition (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-0954-16DC' {
        insmod part_msdos
        insmod fat
        set root='hd0,msdos2'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  0954-16DC
        else
          search --no-floppy --fs-uuid --set=root 0954-16DC
        fi
        drivemap -s (hd0) ${root}
        chainloader +1
}
menuentry 'Ubuntu 12.04.1 LTS (12.04)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-6576fcdc-18c3-4407-9dd3-76c6328ca022' {
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos8'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  6576fcdc-18c3-4407-9dd3-76c6328ca022
        else
          search --no-floppy --fs-uuid --set=root 6576fcdc-18c3-4407-9dd3-76c6328ca022
        fi
        linux /boot/vmlinuz-3.2.0-30-generic root=UUID=6576fcdc-18c3-4407-9dd3-76c6328ca022 ro quiet splash $vt_handoff
        initrd /boot/initrd.img-3.2.0-30-generic
}
submenu 'Advanced options for Ubuntu 12.04.1 LTS (12.04)' $menuentry_id_option 'osprober-gnulinux-advanced-6576fcdc-18c3-4407-9dd3-76c6328ca022' {
        menuentry 'Ubuntu, con Linux 3.2.0-30-generic (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-30-generic--6576fcdc-18c3-4407-9dd3-76c6328ca022' {
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos8'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  6576fcdc-18c3-4407-9dd3-76c6328ca022
                else
                  search --no-floppy --fs-uuid --set=root 6576fcdc-18c3-4407-9dd3-76c6328ca022
                fi
                linux /boot/vmlinuz-3.2.0-30-generic root=UUID=6576fcdc-18c3-4407-9dd3-76c6328ca022 ro quiet splash $vt_handoff
                initrd /boot/initrd.img-3.2.0-30-generic
        }
        menuentry 'Ubuntu, con Linux 3.2.0-30-generic (modalità ripristino) (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-30-generic--6576fcdc-18c3-4407-9dd3-76c6328ca022' {
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos8'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  6576fcdc-18c3-4407-9dd3-76c6328ca022
                else
                  search --no-floppy --fs-uuid --set=root 6576fcdc-18c3-4407-9dd3-76c6328ca022
                fi
                linux /boot/vmlinuz-3.2.0-30-generic root=UUID=6576fcdc-18c3-4407-9dd3-76c6328ca022 ro recovery nomodeset
                initrd /boot/initrd.img-3.2.0-30-generic
        }
        menuentry 'Ubuntu, con Linux 3.2.0-29-generic (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-29-generic--6576fcdc-18c3-4407-9dd3-76c6328ca022' {
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos8'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  6576fcdc-18c3-4407-9dd3-76c6328ca022
                else
                  search --no-floppy --fs-uuid --set=root 6576fcdc-18c3-4407-9dd3-76c6328ca022
                fi
                linux /boot/vmlinuz-3.2.0-29-generic root=UUID=6576fcdc-18c3-4407-9dd3-76c6328ca022 ro quiet splash $vt_handoff
                initrd /boot/initrd.img-3.2.0-29-generic
        }
        menuentry 'Ubuntu, con Linux 3.2.0-29-generic (modalità ripristino) (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-29-generic--6576fcdc-18c3-4407-9dd3-76c6328ca022' {
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos8'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  6576fcdc-18c3-4407-9dd3-76c6328ca022
                else
                  search --no-floppy --fs-uuid --set=root 6576fcdc-18c3-4407-9dd3-76c6328ca022
                fi
                linux /boot/vmlinuz-3.2.0-29-generic root=UUID=6576fcdc-18c3-4407-9dd3-76c6328ca022 ro recovery nomodeset
                initrd /boot/initrd.img-3.2.0-29-generic
        }
}

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

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if  -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

allora lo modifico mettendo 4.

Geazie mille!

Aggiornamento: non me lo fa modificare. Mi dice che non ho i permessi per farlo e che ho aperto il file in sola lettura. Come mai?

Per modificare il file, lo devi aprire da root

# nano /etc/default/grub

Edit:
per loggarti come root, devi digitare su, premere invio, inserire la password e dare un altro enter

ora il file di configurazione è settato in questa maniera

GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=4 GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0 KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet" #GRUB_THEME="/boot/grub2/themes/system/theme.txt"

ma non funziona, all’avvio il sistema di default è sempre il primo (fedora). Come mai? ho sbagliato qualcosa?

[quote=arkanoid]Se ho capito bene, il bootloader nell’MBR è quello di Fedora.

Ti basta quindi cambiare il valore di GRUB_DEFAULT del file /etc/default/grub.

Il parametro accetta valori numerici, e segue l’ordine delle voci del tuo Grub. Ricordo che parte da 0 (quindi, lo 0 corrisponderà alla prima voce, 1 alla seconda, 2 alla terza e così via).[/quote]
Secondo me non funziona: aggiornando il kernel di Fedora potrebbe cambiare il numero di voci, e siccome Ubuntu non è sicuramente la prima, il numero salvato in /etc/default/grub potrebbe non corrispondere più.
Io entrerei in Ubuntu, installerei da lì grub, e nel file /etc/default/grub di Ubuntu setterei la prima voce come default. Se grub è quello di Ubuntu, Ubuntu sarà sicuramente la prima voce.

Mi son dimenticato un altro passaggio (dannata vendemmia, lavorare mi fa male :D):

# grub2-mkconfig /etc/default/grub -o /boot/grub2/grub.cfg

Può darsi però che la prima voce “sparisca” e quindi invece di 4, devi impostare 3 a GRUB_DEFAULT.
Quindi, prima di eseguire il comando che ho appena scritto, cambia GRUB_DEFAULT a 3.

Edit:

[quote=marcomotta]
Secondo me non funziona: aggiornando il kernel di Fedora potrebbe cambiare il numero di voci, e siccome Ubuntu non è sicuramente la prima, il numero salvato in /etc/default/grub potrebbe non corrispondere più.
Io entrerei in Ubuntu, installerei da lì grub, e nel file /etc/default/grub di Ubuntu setterei la prima voce come default. Se grub è quello di Ubuntu, Ubuntu sarà sicuramente la prima voce.[/quote]

Se il file di grub viene ricostruito ad ogni yum update, l’ordine e il numero delle voci non dovrebbero cambiare. O sbaglio? :slight_smile:

[quote=Hermes]ora il file di configurazione è settato in questa maniera

GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=4 GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True rd.luks=0 KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet" #GRUB_THEME="/boot/grub2/themes/system/theme.txt"

ma non funziona, all’avvio il sistema di default è sempre il primo (fedora). Come mai? ho sbagliato qualcosa?[/quote]

Certo che non funziona.
Digita, da root

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

altrimenti il file di configurazione di grub non viene sovrascritto, e le tue opzioni di default modificate non vengono usate.

[quote=marcomotta]Secondo me non funziona: aggiornando il kernel di Fedora potrebbe cambiare il numero di voci, e siccome Ubuntu non è sicuramente la prima, il numero salvato in /etc/default/grub potrebbe non corrispondere più.
Io entrerei in Ubuntu, installerei da lì grub, e nel file /etc/default/grub di Ubuntu setterei la prima voce come default. Se grub è quello di Ubuntu, Ubuntu sarà sicuramente la prima voce.[/quote]
Quoto marcomotta.
Aggiungo anche che io personalmente preferisco sempre avere un solo boot loader anche se ho più distro installate per evitare confusione ad ogni aggiornamento del kernel. Come ho consigliato in http://forum.fedoraonline.it/viewtopic.php?id=18894&p=1 al post #14. In questo caso però è preferibile mantenere il grub di Ubuntu e cancellare quello di Fedora.
Ciao.

Grazie a tutti per l’aiuto e per la pazienza, adesso funziona!!!

solo una domanda, quando aggiornerò il kernel il grub rimarrà così o dovrò fare questa operazione ogni volta?

Arkanoid buona vendemmia!

[quote=Hermes]Grazie a tutti per l’aiuto e per la pazienza, adesso funziona!!!

solo una domanda, quando aggiornerò il kernel il grub rimarrà così o dovrò fare questa operazione ogni volta?

Arkanoid buona vendemmia![/quote]

Edit (il cellulare mi ha mangiato la mia risposta):

Ti ringrazio, è una faticaccia :D.

Comunque, ad ogni aggiornamento del kernel dovrai ridare il comando per ri-generare il file grub.cfg.

Ad esempio, per aggiornare, io concateno questi due comandi:

# yum update;grub2-mkconfig /etc/default/grub -o /boot/grub2/grub.cfg

Oppure puoi dare uno…

# yum check-update

…Controllare la lista dei pacchetti e, se è presente il kernel e vuoi aggiornare senza dover dare conferma, lanciare

# yum update -y;grub2-mkconfig /etc/default/grub -o /boot/grub2/grub.cfg