Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/11/2009, à 19:30

Bullit84

Modifier le Grub sur Ubuntu 9.10

Salut à tous

Je viens d'installer Ubuntu 9.10, et j'ai voulus comme avec les versions précédentes en éditant le menu.lst en root. J'ai constaté que ce fichier n'y été plus. Je me suis dirigé vers la doc du Grub2 mais je ne comprends franchement quedal.

Je voudrais renommer les entrées et mettre Windows 7 en 1er

Quelq'un pourrait-il m'aider ?

Merci de vos réponses

Hors ligne

#2 Le 04/11/2009, à 19:56

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

Salut

Tu peux montrer le contenu du fichier /etc/grub.d/30_os-prober ?


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#3 Le 04/11/2009, à 20:11

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

voila le fichier


#! /bin/sh -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

. ${libdir}/grub/grub-mkconfig_lib

found_other_os=

adjust_timeout () {
  if [ "x${found_other_os}" = "x" ] ; then
    if [ "x${GRUB_HIDDEN_TIMEOUT}" != "x" ] ; then
      if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
	verbose=
      else
	verbose=" --verbose"
      fi

      if [ "x${GRUB_HIDDEN_TIMEOUT}" = "x0" ] ; then
	cat <<EOF
if [ \${timeout} != -1 ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
	cat << EOF
if [ \${timeout} != -1 ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF
      fi
    fi
  fi
}

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
  adjust_timeout
  exit 0
fi

if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
  # missing os-prober and/or linux-boot-prober
  adjust_timeout
  exit 0
fi

OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
  # empty os-prober output, nothing doing
  adjust_timeout
  exit 0
fi

for OS in ${OSPROBED} ; do
  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
  BOOT="`echo ${OS} | cut -d ':' -f 4`"

  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi

  echo "Found ${LONGNAME} on ${DEVICE}" >&2
  found_other_os=1

  case ${BOOT} in
    chain)

      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

      case ${LONGNAME} in
	Windows\ Vista*|Windows\ 7*)
	;;
	*)
	  cat << EOF
	drivemap -s (hd0) \${root}
EOF
	;;
      esac

      cat <<EOF
	chainloader +1
}
EOF
    ;;
    linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"

      for LINUX in ${LINUXPROBED} ; do
        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"

        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi

        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" {
EOF
	save_default_entry | sed -e "s/^/\t/"
	prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
	cat <<  EOF
	linux ${LKERNEL} ${LPARAMS}
EOF
        if [ -n "${LINITRD}" ] ; then
          cat << EOF
	initrd ${LINITRD}
EOF
        fi
        cat << EOF
}
EOF
      done
    ;;
    macosx)
      OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
        cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
	save_default_entry | sed -e "s/^/\t/"
	prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
	cat << EOF
        insmod vbe
        do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             do_resume=1
           fi
        fi
        if [ \$do_resume == 0 ]; then
           xnu_uuid ${OSXUUID} uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           xnu_kernel /mach_kernel boot-uuid=\${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
           else
              xnu_kextdir /System/Library/Extensions
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devtree.txt ]; then
              xnu_devtree /Extra/devtree.txt
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
EOF
    ;;
    hurd|*)
      echo "  ${LONGNAME} is not yet supported by grub-mkconfig." >&2
    ;;
  esac
done

adjust_timeout

Edit : utilisez les balises code, svp

Dernière modification par xabilon (Le 04/11/2009, à 20:28)

Hors ligne

#4 Le 04/11/2009, à 20:15

yannpk

Re : Modifier le Grub sur Ubuntu 9.10

et si tu installes start up manager?

Hors ligne

#5 Le 04/11/2009, à 20:19

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

c'est à dire ?

Hors ligne

#6 Le 04/11/2009, à 20:19

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

start UpManager sur Windows ?

Hors ligne

#7 Le 04/11/2009, à 20:21

yannpk

Re : Modifier le Grub sur Ubuntu 9.10

ben non dans les dépots ubuntu,ce qui te permet de modifier tes options de démarage.Ordre de démarrage des distri,couleur..

Hors ligne

#8 Le 04/11/2009, à 20:26

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

Je vais tester ca je te tiens au courant

Hors ligne

#9 Le 04/11/2009, à 20:27

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

Euh ... désolé, je me suis planté ...

Bon, pour l'ordre de présentation des entrées, il faut que 30_os-prober soit lancé avant 10_linux, donc il faut renommer 30_os-prober :

sudo mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
sudo update-grub

Pour changer le nom, je sais pas encore, je me documente. Pour l'instant tu peux le faire directement dans le fichier /boot/grub/grub.cfg (même si ce n'est pas recommandé).
Si tu remets grub à jour, le nom redeviendra comme avant


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#10 Le 04/11/2009, à 20:31

yannpk

Re : Modifier le Grub sur Ubuntu 9.10

Bullit84 a écrit :

Je vais tester ca je te tiens au courant

Une fois installer tu vas dans système,administration,gestionnaire d'amorçage start up manager qui te proposera plusieurs options.

Hors ligne

#11 Le 04/11/2009, à 20:35

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

c'était franchement plus pratique le menu.lst

Hors ligne

#12 Le 04/11/2009, à 20:36

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

pas top startupmanager

Hors ligne

#13 Le 04/11/2009, à 20:37

yannpk

Re : Modifier le Grub sur Ubuntu 9.10

il en faut pour tous les goût.

Hors ligne

#14 Le 04/11/2009, à 20:40

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

Merci pour ton début d'aide xabilon ça m'a mis les entrées dans l'ordre reste plus qu'a pouvoir les renommer

Hors ligne

#15 Le 04/11/2009, à 20:51

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

Grub2 n'est pas encore généralisé, et StartupManager ne prend pas en compte toutes les options de Grub2.
D'ici un certain temps, je pense que StartupManager sera mis à jour pour mieux s'occuper de Grub2.


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#16 Le 04/11/2009, à 20:52

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

ok merci si tu as du nouveau pour renommer les entrée n'hésite pas
Merci encore

Hors ligne

#17 Le 04/11/2009, à 21:22

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

En fait j'ai trouvé que 2 façons de changer le nom de l'entrée :

- Modifier directement le nom dans /boot/grub/grub.cfg
L'inconvénient c'est que à chaque fois qu'un update-grub sera fait (mannuellement, lors d'une mise à jour d'un noyau ou autre), le nom redeviendra comme avant.

- Désactiver la détection automatique de Windows, et faire ajouter une entrée pour Windows définie par l'utilisateur. L'inconvénients, c'est que si tu changes Windows de place, ou que tu installes d'autres Linux sur ton disque, ils ne seront pas détectés automatiquement.


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#18 Le 04/11/2009, à 21:36

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

Le problème c'est que je ne peux pas enregistrer mon grub.cfg après l'avoir modifier, il me dit que mon HDD est en lecture seul

Hors ligne

#19 Le 04/11/2009, à 21:53

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

Même si tu le modifies en root ?


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#20 Le 04/11/2009, à 21:55

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

oui ça m'étonne vu que c'est mon système de fichier

Hors ligne

#21 Le 04/11/2009, à 21:56

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

je peux modifier les autres fichiers mais pas celui la

Hors ligne

#22 Le 04/11/2009, à 21:57

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

Je crois avoir lu quelque chose sur la protection de grub.cfg ...

Bon, il reste la solution 2 ...
De toute façon, l'une ou l'autre, ce n'est pas "propre". Le mieux c'est de garder le nom actuel, et attendre  voir si ça évolue.

Sinon, montre le contenu de /boot/grub.cfg et de /etc/default/grub, entre des balises code pour faciliter la lisibilité


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#23 Le 04/11/2009, à 22:01

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

grub.cfg

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

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
  have_grubenv=true
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  saved_entry=${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry=
  save_env prev_saved_entry
fi
insmod ext2
set root=(hd1,1)
search --no-floppy --fs-uuid --set e6b55acb-6460-4e4b-915b-7818ca1858c5
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/09_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
	insmod ntfs
	set root=(hd0,1)
	search --no-floppy --fs-uuid --set 384d001f4cffd59a
	chainloader +1
}
### END /etc/grub.d/09_os-prober ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic-pae" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd1,1)
	search --no-floppy --fs-uuid --set e6b55acb-6460-4e4b-915b-7818ca1858c5
	linux	/boot/vmlinuz-2.6.31-14-generic-pae root=UUID=e6b55acb-6460-4e4b-915b-7818ca1858c5 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-14-generic-pae
}
menuentry "Ubuntu, Linux 2.6.31-14-generic-pae (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd1,1)
	search --no-floppy --fs-uuid --set e6b55acb-6460-4e4b-915b-7818ca1858c5
	linux	/boot/vmlinuz-2.6.31-14-generic-pae root=UUID=e6b55acb-6460-4e4b-915b-7818ca1858c5 ro single 
	initrd	/boot/initrd.img-2.6.31-14-generic-pae
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
	linux16	/boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### 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 ###

/etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"

Hors ligne

#24 Le 04/11/2009, à 22:15

xabilon

Re : Modifier le Grub sur Ubuntu 9.10

D'accord

D'abord, on remet tout comme c'était :

sudo mv /etc/grub.d/09_os-prober /etc/grub.d/30_os-prober

Ensuite tu copies/colles le paragraphe pour Windows de grub.cfg, à la fin du script /etc/grub.d/40_custom, en mettant le nom que tu veux entre les guillemets, à la place de "Windows 7 (loader) (on /dev/sda1)"
40_custom ressemblera donc à ça :

#!/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 "Le nom que tu veux mettre" {
    insmod ntfs
    set root=(hd0,1)
    search --no-floppy --fs-uuid --set 384d001f4cffd59a
    chainloader +1
}

Tu sauves et tu quittes.

Ensuite on désactive os-prober dans /etc/default/grub, en ajoutant cette ligne :

GRUB_DISABLE_OS_PROBER=true

Puis on met 40_custom à la même place qu'était 09_os-prober, pour avoir Win en premier :

sudo mv /etc/grub.d/40_custom /etc/grub.d/09_custom
sudo update-grub

Puis tu vérifies /boot/grub/grub.cfg pour voir si tout est correct


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#25 Le 04/11/2009, à 22:31

Bullit84

Re : Modifier le Grub sur Ubuntu 9.10

oui ça a modifié le grub.cfg merci

et y aurait-il une méthode pour renommer aussi les entrées d'Ubuntu ?

A force tu va dire que je suis chiant

Hors ligne