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 08/12/2009, à 16:40

RaphAstronome

[RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Sur Ubuntu 9.10, chipset P45

Suite à une maj du noyau (2.6.31-16) cette après midi, grub ne trouve plus la liste des noyaux et me propose une console pour enter manuellement les commandes (celle de gurb pas celle de linux).
Dans la console je peux parcourir l'arborescence de ma partition racine.
Je me suis redu compte que le fichier /boot/grub/menu.lst était totalement vide

J'ai donc pris un livecd :
D'abord j'ai fait un fsck.ext4 qui n'a rien donné (le FS est ok)
Ensuite j'ai fait un chroot (avec le /dev configuré comme ça http://doc.ubuntu-fr.org/chroot )
J'ai du retirer les UUID de mon /etc/fstab pour mettre les /dev/sda6 et autres. Les UUID faisait des warnings dans update-grub.
Dans ce chroot j'ai donc fait un "update-grub" qui m'a généré ce menu.lst :

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
##      indomU=true
##      indomU=false
# indomU=detect

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

Remarquez qu'il n'y a que des commentaires et que Win XP n'apparait pas. Normal ? Automagic kernels ?

Toujours est t'il que j'ai rebooté et ça ne marche toujours pas !

Dans la commande gurb je peux lancer le dernier noyau avec (c'est peut être pas les commandes vraiment exactes) :

kernel /boot/vmlinuz-2.6.31-16-generic root=/dev/sda6 ro
initrd /boot/init.img-2.6.31-16-generic
boot

Dernière remarque : j'ai pas été sous Windows depuis longtemps, ça peux pas être dû à un de ses outils.

Dernière modification par RaphAstronome (Le 10/12/2009, à 19:15)

Hors ligne

#2 Le 08/12/2009, à 17:30

fabux

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Salut,

Supposition: ton menu.lst est peut-être commentée si la version de ton live-cd est antérieure à la 9.10.
Sur une installation 9.10 (donc pas une mise à niveau) par défaut c'est grub-pc donc plus de menu.lst mais grub.cfg (ce dernier n'étant pas a modifier cf la doc).

Tu peux essayer ça (ou peut-être même un simple sudo grub-install /dev/sdX)

Hors ligne

#3 Le 09/12/2009, à 19:16

RaphAstronome

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

J'ai fait ta manip : ça fait pareil
J'avais l'ancien grub, maintenant c'est grub-pc.
J'ai pas mis le chainloader je l'ai installé en remplaçant l'ancien, sinon c'est les options par défaut.

En plus j'ai pas l'accélération 3D mais ça c'est autre chose.

Je précise que je suis sur mon install que je lancer depuis le terminal grub, d'ailleurs la commande "kernel" à été changé en commande "linux".

menu.lst à été supprimé, pas de grub.cfg
$ less /boot/grub/grub.cfg
/boot/grub/grub.cfg: Aucun fichier ou dossier de ce type

Dernière modification par RaphAstronome (Le 09/12/2009, à 19:16)

Hors ligne

#4 Le 09/12/2009, à 20:54

fabux

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Normalement les tentatives de récupération de grub, tu les fais depuis un live.
Donc lances un live et

sudo grub-install /dev/sda

(en partant du principe que tu veux le mettre sur le mbr du 1er disque.)

Hors ligne

#5 Le 09/12/2009, à 21:13

RaphAstronome

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

C'est exactement ce que j'ai fait après son installation.

Hors ligne

#6 Le 09/12/2009, à 22:27

fabux

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Après son installation? je comprends pas, tu as fais quoi après l'installation de quoi (je comprend vite mais des fois faut m'expliquer longtemps tongue)

Par contre pour lire grub.cfg depuis le live il faut monter ta partition dans /media de là tu devrais pouvoir le voir dans /media/XXXX/boot/grub/grub.cfg ou XXXX est le point de montage que tu lui à défini.

Hors ligne

#7 Le 09/12/2009, à 23:12

RaphAstronome

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Bon j'ai régénéré le /boot/grub/grub.cfg avec "update-grub" il affiche une bonne liste donc il les a trouvés par contre maintenant il kernelpanique en disant qu'il ne trouve pas de partition racine correcte mad.

Visiblement il lit (hd0,0) alors que ça devrait être /dev/sda6 ou (hd0,5) si j'ai bien compris.

Remarque (hd0,0) doit être la partition Windows qui d'ailleurs fonctionne normalement.

Hors ligne

#8 Le 10/12/2009, à 00:45

fabux

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Fais le voir justement ce grub.cfg

Hors ligne

#9 Le 10/12/2009, à 12:01

RaphAstronome

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Ok, j'étais sous Windows alors difficile d'avoir le grub.
Là j'utilise un liveCD de la dernière version d'Ubuntu.

Le voici :

#
# 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=(hd0,6)
search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
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=10
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/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-16-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-16-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-15-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-15-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-15-generic
}
menuentry "Ubuntu, Linux 2.6.31-15-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-15-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.31-15-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-14-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-14-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.28-16-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.28-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.28-16-generic
}
menuentry "Ubuntu, Linux 2.6.28-16-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.28-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.28-16-generic
}
### 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/30_os-prober ###
menuentry "Windows NT/2000/XP (on /dev/sda1)" {
	insmod ntfs
	set root=(hd0,1)
	search --no-floppy --fs-uuid --set aa201fcc201f9e7f
	drivemap -s (hd0) ${root}
	chainloader +1
}
### 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 ###

La premiere partition du disque est bien (hd0,1) ? Je pensais que ça commencais à 0.

UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 c'est bien ma racine.

Dernière modification par RaphAstronome (Le 10/12/2009, à 12:03)

Hors ligne

#10 Le 10/12/2009, à 13:05

fabux

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

Je pensais aussi que ça commençait bien à 0, mais j'ai vu un thread récemment (je remet pas la main dessus) que hd0 est bien le premier disque mais que les partitions commence à 1 (à priori valable pour grub-pc et pas grub). Donc je dirais que (hd0,6) correspond bien au 1er disque 6ème partition.

Tu es sûr de tes uuid ?

sudo blkid -g
sudo blkid

.

Sinon, peut-être essayer ce qui est indiqué à savoir

sudo grub-mkdevicemap

pour qu'il retrouve bien les supports de stockages.
J'ai vu aussi ici

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

mais comme tu viens de faire un grub-install (depuis le live on est d'accord) je doute.

Hors ligne

#11 Le 10/12/2009, à 18:50

RaphAstronome

Re : [RESOLU] Problème de grub qui ne trouve pas la liste des noyaux

sudo blkid -g
sudo blkid
Ne retourne rien (pas une ligne)

sudo grub-mkdevicemap
Génrère le device.map :

(fd0)   /dev/fd0
(hd0)   /dev/sda

grub-mkconfig -o /boot/grub/grub.cfg
M'a généré :

#
# 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=(hd0,6)
search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
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=10
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/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-16-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-16-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-15-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-15-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-15-generic
}
menuentry "Ubuntu, Linux 2.6.31-15-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-15-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.31-15-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-14-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.31-14-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.28-16-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.28-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro   quiet splash
	initrd	/boot/initrd.img-2.6.28-16-generic
}
menuentry "Ubuntu, Linux 2.6.28-16-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set d05ecebd-6d21-4d7f-aa99-6a28a2cd0041
	linux	/boot/vmlinuz-2.6.28-16-generic root=UUID=d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 ro single 
	initrd	/boot/initrd.img-2.6.28-16-generic
}
### 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/30_os-prober ###
menuentry "Windows NT/2000/XP (on /dev/sda1)" {
	insmod ntfs
	set root=(hd0,1)
	search --no-floppy --fs-uuid --set aa201fcc201f9e7f
	drivemap -s (hd0) ${root}
	chainloader +1
}
### 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 ###

Je vais voir ce que ça donne mais j'ai l'impression que c'est la même chose.

Remarques :
ls -l /dev/disk/by-uuid/
Donne bien d05ecebd-6d21-4d7f-aa99-6a28a2cd0041 pour la partition racine

J'ai aussi mis à jour le noyeau (il y avait un patch relatif à ext4)

--> Visiblement c'est ok big_smile, je vais voir si ça dure, merci

Dernière modification par RaphAstronome (Le 10/12/2009, à 19:33)

Hors ligne