#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)
RaphAstronome
https://www.astro5000.com/
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)
May linux be with you
Comment poster un message.
Je me présente dans la doc
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)
RaphAstronome
https://www.astro5000.com/
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.)
May linux be with you
Comment poster un message.
Je me présente dans la doc
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.
RaphAstronome
https://www.astro5000.com/
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 )
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.
May linux be with you
Comment poster un message.
Je me présente dans la doc
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 .
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.
RaphAstronome
https://www.astro5000.com/
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
May linux be with you
Comment poster un message.
Je me présente dans la doc
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)
RaphAstronome
https://www.astro5000.com/
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é là à 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.
May linux be with you
Comment poster un message.
Je me présente dans la doc
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 , je vais voir si ça dure, merci
Dernière modification par RaphAstronome (Le 10/12/2009, à 19:33)
RaphAstronome
https://www.astro5000.com/
Hors ligne