Grub2 : Debian + = signature error

Bonjour à tous,

je sors de ma compilation de Funtoo.
Mais j’ai un problème de grub2 : il refuse le chargement de l’OS “error : invalid signature”.
Combien de forum ai-je fait ? je ne saurais le dire tellement j’ai lu d’infos.

Structure d’installation dans l’ordre :

  • OSX Snow Leopard
  • Debian Squeeze
  • Funtoo unstable

Le grub a été installé sur Debian :

[code]#

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

if [ -s $prefix/grubenv ]; then
load_env
fi
set default=“0"
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 {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}

insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)‘
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
set timeout=5

END /etc/grub.d/00_header

BEGIN /etc/grub.d/05_debian_theme

insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
insmod png
if background_image /boot/grub/moreblue-orbit-grub.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi

END /etc/grub.d/05_debian_theme

BEGIN /etc/grub.d/10_linux

menuentry ‘Debian GNU/Linux, with Linux 2.6.35.4’ --class debian --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
echo 'Loading Linux 2.6.35.4 …'
linux /boot/vmlinuz-2.6.35.4 root=UUID=3fec7f4b-1a58-4ab8-baf9-36875923dae6 ro
echo 'Loading initial ramdisk …‘
initrd /boot/initrd.img-2.6.35.4
}
menuentry ‘Debian GNU/Linux, with Linux 2.6.35.4 (recovery mode)’ --class debian --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
echo 'Loading Linux 2.6.35.4 …'
linux /boot/vmlinuz-2.6.35.4 root=UUID=3fec7f4b-1a58-4ab8-baf9-36875923dae6 ro single
echo 'Loading initial ramdisk …‘
initrd /boot/initrd.img-2.6.35.4
}
menuentry ‘Debian GNU/Linux, with Linux 2.6.32-5-686’ --class debian --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
echo 'Loading Linux 2.6.32-5-686 …'
linux /boot/vmlinuz-2.6.32-5-686 root=UUID=3fec7f4b-1a58-4ab8-baf9-36875923dae6 ro
echo 'Loading initial ramdisk …‘
initrd /boot/initrd.img-2.6.32-5-686
}
menuentry ‘Debian GNU/Linux, with Linux 2.6.32-5-686 (recovery mode)’ --class debian --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root=’(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3fec7f4b-1a58-4ab8-baf9-36875923dae6
echo 'Loading Linux 2.6.32-5-686 …'
linux /boot/vmlinuz-2.6.32-5-686 root=UUID=3fec7f4b-1a58-4ab8-baf9-36875923dae6 ro single
echo 'Loading initial ramdisk …'
initrd /boot/initrd.img-2.6.32-5-686
}

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

menuentry “Mac OS X (32-bit) (on /dev/sda2)” {
insmod part_gpt
insmod hfsplus
set root=’(hd0,gpt2)‘
search --no-floppy --fs-uuid --set 5146fc1c98c0fe7e
load_video
set do_resume=0
if [ /var/vm/sleepimage -nt10 / ]; then
if xnu_resume /var/vm/sleepimage; then
set do_resume=1
fi
fi
if [ $do_resume = 0 ]; then
xnu_uuid 5146fc1c98c0fe7e 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/devprop.bin ]; then
xnu_devprop_load /Extra/devprop.bin
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
}
menuentry “Mac OS X (64-bit) (on /dev/sda2)” {
insmod part_gpt
insmod hfsplus
set root=’(hd0,gpt2)'
search --no-floppy --fs-uuid --set 5146fc1c98c0fe7e
load_video
set do_resume=0
if [ /var/vm/sleepimage -nt10 / ]; then
if xnu_resume /var/vm/sleepimage; then
set do_resume=1
fi
fi
if [ $do_resume = 0 ]; then
xnu_uuid 5146fc1c98c0fe7e uuid
if [ -f /Extra/DSDT.aml ]; then
acpi -e /Extra/DSDT.aml
fi
xnu_kernel64 /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/devprop.bin ]; then
xnu_devprop_load /Extra/devprop.bin
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
}

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.

menuentry “Funtoo”{
set root=(hd0,5)
chainloader +1
}

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 ###[/code]

Egalement, le fstab de Debian :

[code]# /etc/fstab: static file system information.

proc /proc proc defaults 0 0

/dev/sda3 / ext3 errors=remount-ro 0 1

UUID=3fec7f4b-1a58-4ab8-baf9-36875923dae6 / ext3 errors=remount-ro 0 1

/dev/sda5 /home ext3 defaults 0 2

UUID=35cf4015-4a1a-4593-86b7-7ba41ef3f784 /home ext3 defaults 0 2

/dev/sda4 none swap sw 0 0

UUID=3fb5af48-b5b7-475b-9c42-068f16e4153b none swap sw 0 0

/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0

/dev/cdrom1 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sda6 /mnt/fun ext4 noatime 0 2
#j’avais mis “/” à la place de “/mnt/fun”, supprime egalement, mais meme resultat[/code]

On constate que pour le sda6, il n’y a pas d’UUID.

Ensuite vient le fstab de Funtoo :

proc /proc proc defaults 0 0 /dev/sda6 / ext4 noauto,noatime 1 0 /dev/sda4 none swap sw 1 2 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0

Je remarque que le /dev/sda6 n’est pas monté lorsque je fais fdisk -l sur Debian :

Device Boot Start End Blocks Id System /dev/sda1 1 26 204819+ ee GPT /dev/sda2 26 6105 48828128 af HFS / HFS+ /dev/sda3 * 6105 6956 6835938 83 Linux /dev/sda4 6956 7276 2572266 82 Linux swap / Solaris

Je suis complètement perdu. L’installation d’un grub sur le sda6 n’a rien changé.

J’aimerais bien que ma Funtoo se lance. La fatigue n’aidant plus, pouvez-vous m’aider ?

A bientôt

LeHibou

grub2 n’adopte pas le même décompte que l’ancien grub.
L’entrée (hd0,5) qui correspondait à /dev/sda6 en grub ancienne mode correspond à /dev/sda5 en grub2.

Changer (hd0,5) en (hd0,6) au démarrage -touche e comme edit- pour pointer sur /dev/sda6

menuentry "Funtoo"{ set root=(hd0,5) chainloader +1 }

Installe gdisk sur la debian et confronte son retour à celui de fdisk.

packages.debian.org/sid/gdisk

renvoie aussi le retour de

$ ls -l /dev/disk/by-uuid

Bonsoir,

Le retour de gdisk -l /dev/sda

[code]Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: present

Found valid GPT with hybrid MBR; using GPT.
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Disk identifier (GUID): A8D3A976-3560-439B-95BF-5AF0AB433875
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 234441614
Total free space is 5076 sectors (2.5 MiB)

Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 98065895 46.6 GiB AF00 SupSonicMaster
3 98065896 111737771 6.5 GiB 0700 DebianR
4 111737772 116882303 2.5 GiB 8200
5 116882304 198804374 39.1 GiB 0700 DebianH
6 198804375 234436544 17.0 GiB 0700
[/code]

et pour l’uuid :

lrwxrwxrwx 1 root root 10 Oct 12 20:35 22c5c6bb-06c2-4e02-aee1-102c10008740 -> ../../sda6 lrwxrwxrwx 1 root root 10 Oct 12 20:35 35cf4015-4a1a-4593-86b7-7ba41ef3f784 -> ../../sda5 lrwxrwxrwx 1 root root 10 Oct 12 20:35 3fb5af48-b5b7-475b-9c42-068f16e4153b -> ../../sda4 lrwxrwxrwx 1 root root 10 Oct 12 20:35 3fec7f4b-1a58-4ab8-baf9-36875923dae6 -> ../../sda3 lrwxrwxrwx 1 root root 10 Oct 12 20:35 70D6-1701 -> ../../sda1 lrwxrwxrwx 1 root root 10 Oct 12 20:35 938f86b4-1005-3604-9817-80dfc3df7dc0 -> ../../sda2

Je regrette de m’être laissé allé il y a peu : si c’était à refaire, je ferais une install clean de debi avec partitions séparées de boot var et tout le toutim.

Si tu as/on a besoin de quelque autre information… :wink:

Désolé, j’ai fait un rajout en éditant mon message précédent alors que tu avais déjà répondu.

gdisk te détecte /dev/sda6 et il est bien noté dans /dev/disk/by-uuid , tout va bien .

Je répète donc si tu ne m’as pas relu, change (hd0,5) en (hd0,6) au démarrage -touche e comme edit- pour pointer sur /dev/sda6 puis si ça marche retouche /etc/grub.d/40_custom et enfin mettre à jour grub.

tu as une table GPT.
Pour ton grub il devrait avoir une toute petite partition avec le drapeau bios_grub

Je viens de faire les modifications… cela ne fonctionne toujours pas.
En tout cas, jusqu’à présent, tu m’as été d’un grand soutien.

C’est vraiment étrange. Selon moi, ce doit être un problème de fstab à présent…
Mais où est l’erreur…

Aussi, après le boot-update, je n’ai pas installé grub sur la funtoo. Mais, même ici
http://www.gentoo-quebec.org/wiki/index.php/Funtoo#Installation_et_configuration_du_gestionnaire_d.27amor.C3.A7age_GRUB, ils déconseillent un nouveau grub, si multi-boot.

Debian a une forme particulière d’interprétation du chainloader ?

:confused: :wink:

Fixer /etc/fstab selon uuid sur Funtoo

/dev/sda6=UUID=22c5c6bb-06c2-4e02-aee1-102c10008740

Fixer /etc/fstab selon uuid sur Squeeze

Monter /dev/sda6 sur debian, auparavant, on le vérifie :

Montage :

Mise à jour de grub2

ça ne marche toujours pas ?

Tant que ça marche sur /dev/sda3, on devrait y arriver …
Comment ? en démarrant le kernel de Funtoo copié sur la debian. Attention à ce que les noyaux de même nom/numéro de version ne soient effacés (fort improbable qu’il y ait coincidence).

[code]# cp /mnt/fun/boot/vmlinuz* /boot

cp /mnt/fun/boot/initrd* /boot

cp -R /mnt/fun/lib/modules/2.6* /lib/modules/ [/code]

Retoucher /etc/grub.d/40_custom en ajoutant
une entrée pour funtoo en dissociant

root de grub=/dev/sda3=UUID=3fec7f4b-1a58-4ab8-baf9-36875923dae6
et root de Funtoo=/dev/sda6=UUID=22c5c6bb-06c2-4e02-aee1-102c10008740

Bonjour,

Pour la première partie de solution, rien n’a changé.

L’idée que tu me donnes me met sur une nouvelle piste : une recompilation de kernel. Plutôt que de le récupérer sur kernel.org, je vais prendre celui déjà tout packagé de gentoo.

Je vais même tout formater (/dev/sda6) et tout remettre au propre. J’ai ma journée donc je donne les résultats aujourd’hui.

Si cela ne fonctionne toujours pas, je ferai la deuxième partie de ta solution.

A cet après-midi
(et http://www.vitrifolk.be/drapeaux/pays-basque-drapeau.gif)

Impossible d’enchaîner sur un chargeur qui n’est pas installé, il faut alors charger directement le noyau sans passer par une cascade vers un grub absent sur Funtoo.

Le chainloader n’a rien à enchaîner si tu n’as pas de chargeur d’amorce sur /dev/sda6.

Pour que l’entrée grub2 enchaîne en cascade

menuentry “Funtoo”{
set root=(hd0,6)
chainloader +1
}

il te faut grub ou autre amorceur sur sa partition racine /dev/sda6 (je dis bien sa partition; pas le MBR disque entier /dev/sda, tu risquerais de saboter ce qui marche) .

Lorsque tu réinstalles Funtoo force le à installer grub sur sa partition même si ça couine “blabla système risque de ne pas être démarrable, il est conseillé de l’installer sur le MBR”,
Ignore le allégrément, tu as déjà ce qu’il faut pour démarrer : grub à partir de /dev/sda3, ne l’escamote pas !

Il y a du nouveau :

A présent, plus d’invalid signature.
Mais une retombée en ligne de commande grub.

Fait marquant : grub indique que ma partition est en ext2 alors qu’elle est reconnue ext4 partout ailleurs.

De là, mes recherches ne m’ont pas permis d’aller plus loin.

J’ai tenté cela :
https://bbs.archlinux.org/viewtopic.php?pid=634214

sans succès puisque kernel est une commande inconnue.

Je continue mes recherches…

C’est bon !!!

tout fonctionne !!

Qu’est-ce qui n’allait pas ?

Pour la première installation : error : invalid signature :
tout a disparu lors de ma réinstallation. Mais je mets en doute le grub dont l’installation était corrompue :confused:

Pour la deuxième partie :
Dans Funtoo, le boot.conf.

ici, la config par défaut :
http://www.gentoo-quebec.org/wiki/index.php/Boot-update#D.C3.A9tails_de_.2Fetc.2Fboot.conf_par_d.C3.A9faut

La mienne :

[code]boot {
generate grub
default "Funtoo Linux"
timeout 3
}

“Funtoo Linux” {
kernel kernel[-v]
}

#“Funtoo Linux genkernel” {

kernel kernel-genkernel[-v]

initrd initramfs-genkernel[-v]

params += real_root=auto

#}

#“Funtoo Linux uvesafb” {

kernel bzImage-uvesafb[-v]

params += video=uvesafb:1440x900-8,mtrr=2

#}

#“Windows 7” {

type win7

params root=/dev/sda1

#}

#“Windows XP” {

type winxp

params root=/dev/sda4

#}[/code]

On soulignera que j’ai commenté certaines lignes
et SURTOUT, que j’ai remplacé bzImage par kernel
CAR mon image de kernel commençait par kernel.

Toutefois, pour les autres qui n’auront rien touché, leur image commencera bien par bzImage. Pas de changement pour eux.

Puis boot-update et hop !

Point essentiel : il faut avoir -au moins- deux grubs. Un principal sur la partition de votre choix (ou du choix de l’installateur :slightly_smiling: ) et un pour la nouvelle distri, sur point / ou /boot selon le cas choisi.

Je poste cette info ici car cela peut concerner tout utilisateur de Debian, et a fortiori, tout utilisateur Linux. Le but est de faire gagner du temps à l’avenir.

Et merci à toi etxeberrizahar, du temps que tu as accordé à mon souci,

A bientôt,

LeHibou