Page 1 sur 1
[Grub de Jessie] refuse les UUID (résolu)
Publié : ven. 15 mai 2015, 16:34
par mimile
Salut,
Ma Debian Wheezy venant en fin de vie et HS après avoir essayé de l'upgrader vers Jessie en utilisant le sources.list fourni par un membre du forum PCAstuces, j'ai installé Jessie sur des partitions prélevées sur mon second disque dur avec gparted.
Installation (netinstal) interminable mais sans problème et création d'un nouveau grub (multiboot : W7, Archlinux, Wheezy, Jessie).
Premiers essais : Tout va bien : les différents OS fonctionnent.
Cela dit, j'examine le grub.cfg de Jessie pour le rendre un peu plus attractif et, suivant en cela les conseils maintes fois répétés ici, je modifie manuellement l'adresse de la racine d'Arch (définie comment étant en /dev/sda6) et la remplace par l'UUID de la partition où elle se trouve (UUID fourni par blkid).
Redémarrage sur Arch et là, la panne !
Après quelques lignes, message signalant que l'UUID indiquée est introuvable (c'est pourtant la bonne, j'ai bien vérifié) encore deux ou trois lignes et là, j'ai un message qui me dit que /dev/sdc est introuvable.
Or, je n'ai pas de troisième disque qui bénéficierait de cette appellation (je n'ai que deux disques : /dev/sda et /dev/sdb).
Après cela, encore quelques lignes pour m'envoyer sur les roses et enfin, après avoir taper "exit", je me retrouve avec un prompt clignotant en attente de Dieu sait quoi.
la commande reboot ne fonctionne pas et je m'en sors en faisant ctrl+alt+del qui arrête tout et redémarre le PC.
Je retourne dans le grub.cfg de Jessie et je remplace l'UUID par /dev/sda6 comme il était indiqué à l'origine et là, plus de problème pour démarrer Arch.
Je prends bien soin d'ajouter "rw" en fin de ligne de boot et /boot/inter-ucode (initrd).
Je ne m'explique pas ça car, en ce qui concerne Jessie, c'est bien par son UUID qu'est renseignée sa partition racine.
Voyez-vous une explication à cette étrange comportement ?
Re: [Grub de Jessie] refuse les UUID
Publié : ven. 15 mai 2015, 16:40
par benjarobin
Bonjour,
Tu n'aurais pas tout simplement mal saisi l'UUID ou un problème de syntaxe ?
Peux tu donner la ligne actuelle et puis ce que tu as essayé de mettre à la place ?
Re: [Grub de Jessie] refuse les UUID
Publié : ven. 15 mai 2015, 16:42
par Xorg
Une explication à fournir, non car tu ne nous donnes pas assez d'éléments pour répondre à ta question. Mais il y a souvent une explication effectivement.
Ça bloque à quel moment au juste ? Grub qui n'arrive pas à trouver le disque, ou bien Arch qui ne connaît pas l'UUID après que Grub lui passe la main ?
Quelle est la sortie de la commande
blkid
?
Peux-tu nous donner le contenu du fichier
/etc/default/grub, ainsi que les modifications apportées aux fichiers dans
/etc/grub.d ?
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 11:27
par mimile
Voici la portion de grub.cfg qui concerne Arch :
Code : Tout sélectionner
menuentry 'Archlinux' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-122af965-b8c2-4a6b-bfec-304d66200641' {
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 122af965-b8c2-4a6b-bfec-304d66200641
else
search --no-floppy --fs-uuid --set=root 122af965-b8c2-4a6b-bfec-304d66200641
fi
linux /boot/vmlinuz-linux root=/dev/sda6 rw
initrd /boot/intel-ucode.img
initrd /boot/initramfs-linux.img
}
J'y ai ajouté comme il se doit "rw" et "initrd /boot/intel-ucode" et quand je boote, tout se passe bien.
A noter que les UUID (122af965-b8c2-4a6b-bfec-304d66200641) qui apparaissent au-dessus ont été indiquées spontanément par l'update-grub en fin d'installation. A croire qu'au boot, il ne trouve pas cette UUID et se rabat sur la ligne "linux /boot/vmlinuz-linux root=/dev/sda6 rw"
C'est d'ailleurs ce qui s'affiche quand je boote après avoir remplacé /dev/sda6 par 122af965-b8c2-4a6b-bfec-304d66200641 (not found)
Résultat de blkid (réduit à /dev/sda6) :
Code : Tout sélectionner
/dev/sda6: LABEL="Arch_root" UUID="122af965-b8c2-4a6b-bfec-304d66200641" TYPE="ext4" PARTUUID="8fdcbf73-06"
Quand à envisager une erreur de transcription de l'UUID, cela me semble impossible vu que j'ai simplement fait un copier/coller
/etc/defaut/grub :
Code : Tout sélectionner
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# 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 entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Je n'y ai apporté aucune modification
En ce qui concerne /etc/.grub.d, il contient une série de dossiers qui correspondent aux différents stades de grub.cfg
00_header, 05-debian-themes, 10-linux, etc...
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 11:37
par benjarobin
Tu n'as pas répondu à ma question.... Je vois très bien où est le problème, mais si tu ne répond pas à la question je ne peux pas t'aider !
Donc la ligne était celle-ci
et tu l'as remplacé par ????
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:00
par mimile
Ben, il me fallait le temps de rédiger ma réponse précédente, puis remplacer /dev/sda6 par :
Code : Tout sélectionner
linux /boot/vmlinuz-linux root=122af965-b8c2-4a6b-bfec-304d66200641 rw
(J'ai aussi essayé en mettant l'UUID entre guillemets, sans résultat).
puis redémarrer pour booter sur Arch avec le résultat suivant (recopié à la main ... c'est long) :
Code : Tout sélectionner
early console in decompressed_kernel
Booting the kernel
:: starting version 219
:: running hook [udev]
:: Triggering events
ERROR : device '122af965-b8c2-4a6b-bfec-304d66200641' not found - skipping fsck
You are dropped in an emergency shell
sh: can't access tty : job control turned off
[rootfs /] # error : /dev/sdc : no medium found
error : /dev/sdc/no medium found
(là j'ai sûrement loupé une ligne qui disait à peu près "tap exit te try to continue)
Je tape donc :
exit
Trying to continue (this will most likely fail) ...
:: mount : you must specify the filesystem type
you are now dropped into an emergency shell
sh : can't access tty : job control turned off
[rootfs /] # (avec le prompt qui clignote
Là, je ne sais pas quoi faire : j'ai essayé : reboot, restart, stop sans résultat
Plus d'autre choix que d'éteindre le PC à l'arraché et de rebooter sur jessie pour pouvoir poster ce qui précède.
J'en déduis que manifestement l'UUID 122af965-b8c2-4a6b-bfec-304d66200641 n'est trouvée ce qui explique en fin de compte, c'est grâce à la définition /dev/sda6 qui est prise en compte, les opérations précédentes ayant toutes échoué.
Sur un autre forum, on me conseille de modifier l'UUID d'Arch avec les commandes :
puis faire un update grub pour voir ce qui se passera
Qu'en pensez-vous ?
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:02
par benjarobin
Sauf que ce n'est pas la bonne syntaxe, j'avais deviné depuis le début... Ceci c'est mieux :
Code : Tout sélectionner
linux /boot/vmlinuz-linux root=UUID=122af965-b8c2-4a6b-bfec-304d66200641 rw
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:08
par Xorg
Voilà comment ça devrait être :
mimile a écrit :Voici la portion de grub.cfg qui concerne Arch :
Code : Tout sélectionner
menuentry 'Archlinux' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-122af965-b8c2-4a6b-bfec-304d66200641' {
insmod part_msdos
insmod ext2
insmod search_fs_uuid
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 122af965-b8c2-4a6b-bfec-304d66200641
else
search --no-floppy --fs-uuid --set=root 122af965-b8c2-4a6b-bfec-304d66200641
fi
linux /boot/vmlinuz-linux root=/dev/sda6 rw
initrd /boot/intel-ucode.img
initrd /boot/initramfs-linux.img
}
Tu n'as pas mis le module
search_fs_uuid
, c'est sans doute pour ça.
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:09
par benjarobin
@Xorg Ceci n'a strictement rien à voir sans être méchant...
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:13
par Xorg
Ah désolé, j'ai cru vu que j'ai lu ça dans le wiki.

Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:14
par benjarobin
@xorg Explication :
Cette ligne met la valeur par défaut de la partition contenant le dossier de boot set root='hd0,msdos6'
Puis les 2 lignes suivantes, commençant par search
permettent de trouver le vrai emplacement de cette partition via son UUID.
Si la recherche fonctionne la variable grub, vue plus haut, root
est mise à jour, attention à ne pas confondre avec le paramètre root
de la ligne kernel/linux
Une fois que grub à la variable root
, il ouvre le système de fichier de la partition, pointée par la variable boot
, à la recherche de /boot/vmlinuz-linux
et de /boot/initramfs-linux.img
...
Et finalement, après quelques étapes supplémentaire non décrite ici, lance le kernel, ce dernier à aussi des paramètres, dont un se nommant aussi root
, mais ce paramètre est fait pour trouver la partition racine
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:42
par mimile
benjarobin a écrit :Sauf que ce n'est pas la bonne syntaxe, j'avais deviné depuis le début... Ceci c'est mieux :
Code : Tout sélectionner
linux /boot/vmlinuz-linux root=UUID=122af965-b8c2-4a6b-bfec-304d66200641 rw
Bien vu : ça marche !
Ca n'explique toujours pas pourquoi les tentatives précédentes échouent car sauf erreur de ma part, ce n'est qu'en dernier recours que Arch peut démarrer.
Re: [Grub de Jessie] refuse les UUID
Publié : sam. 16 mai 2015, 12:54
par benjarobin
mimile a écrit :ce n'est qu'en dernier recours que Arch peut démarrer.
Il va falloir tout réexpliquer car je ne comprend pas ce que tu veux dire
Re: [Grub de Jessie] refuse les UUID (résolu mais ...)
Publié : sam. 16 mai 2015, 15:56
par mimile
A la réflexion, je retire ce que j'ai dit.
Je suppose que les opérations effectuées avant les dernières lignes (celles du boot) sont des préalables nécessaires (auxquels je ne comprends pas grand'chose ...)