Dracut a encore fait des siennes, le sale garnement ! En fait, j'ai provoqué la bagarre pour comprendre. J'ai installé plusieurs systèmes GNU/Linux dans une machine virtuelle pour tester.
Le point de départ réside dans le fait qu'un jour, à l'issue d'une installation GNU/Linux, j'ai galéré comme un malade pour pouvoir redémarrer mes autres système d'exploitation. Dracut faisait la gueule en pointant vers une partition fantôme. J'avais pu dépanner Manjaro et Mageia 3 mais jamais Fedora 19. Le coupable présumé : Debian.
* SDA1 = Ext3 = Mageia 4
* SDA2 = Ext3 = Fedora 20
* SDA3 = Ext3 = Debian 7.1
* SDA5 = Ext4 = Manjaro 0.8.9
* SDA6 = Swap = Swap1
* SDB1 = Ext4 = Ubuntu 13.1
* SDB2 = Ext3 = openSUSE 13.1
* SDB3 = Swap = Swap2
* SDC1 = Ext3 = Home (home commun à tout le monde avec des noms utilisateurs différents)
A nouveau, c'est l'installation de Debian qui fout la zone. Pourquoi ? Comment ? Lors du choix des partitions cibles, la (les) partitions swap sont automatiquement et arbitrairement formatées, ce qui modifie l'UIDD. Au passage, non seulement, je n'ai pu désactiver ce formatage avec l'installateur Debian mais c'est aussi et surtout la seule distributions (de celles que j'ai testés du moins) qui se croit toute seule au monde !
Pour résumer, je sais déjà d'où vient le problème. A l'installation de Debian, je n'ai monté, et formaté, que la Swap1, soit /dev/sda6 puisque j'ai désactivé la Swap2 (soit /dev/sdb3).
Au redémarrage de la distribution principale (Mageia 4), j'obtiens le message suivant :
Comment ai-je procédé ?
Même si Gparted peut me donner les données UIDD (mais à faire alors partition par partition) la commande blkid donne les informations suivantes :
a) Le fichier /etc/dracut.conf.d/51-mageia-resume.conf contient la ligne suivante :
add_device+="UUID=4f6ae71d-4b65-4ec2-b84f-acccbefbf2d5"
Cette ligne pointe donc vers la swap2, soit SDB3, avec une référence UUID correcte.
b) Le fichier /etc/fstab est partiellement incorrect :
# Entry for /dev/sda6 :
UUID=a7ed7a37-282e-4c30-8e29-b775c9591c52 swap swap defaults 0 0
Je modifie avec la nouvelle UUID soit 9904ebb4-4c65-40b7-88d5-e84af7de6a42
c) Le fichier /boot/grub2/grub.cfg est correct.
d) Régénération de dracut avec la commande suivante (toujours dans le chroot) :
# dracut --regenerate-all --force
Et les autres systèmes ? Quelques paradoxes ! Certains systèmes démarrent correctement malgré que leurs fstab respectifs pointent vers la Swap1 avec une mauvaise UUID. Bizarre, comme c'est bizarre ! Citons :
* Ubuntu 13.10
* openSUSE 13.1
Pour les autres systèmes, je croit bien que je ne leur avait pas paramétré la bonne partition de swap, d'où des résultats assez partiels.
4f6ae71d-4b65-4ec2-b84f-acccbefbf2d5 à afac8672-3c6a-4d4e-bbf6-3aaffdbfb09c.
Suite à ces enfantillages, je redémarre l'un après l'autre chaque système. Dans la série des bizarreries, ajoutons :
* Fedora 20
* Debian 7.1
* Manjaro 0.8.9
En effet leur fstab contient l'entrée UUID obsolète et pourtant ces systèmes démarrent sans problème.
Seul Mageia 4 n'a pu démarré. Rebelote !! Par contre, je n'ai plus le même message d'erreur ! Les 3 premières lignes diffèrent :
Le point de départ réside dans le fait qu'un jour, à l'issue d'une installation GNU/Linux, j'ai galéré comme un malade pour pouvoir redémarrer mes autres système d'exploitation. Dracut faisait la gueule en pointant vers une partition fantôme. J'avais pu dépanner Manjaro et Mageia 3 mais jamais Fedora 19. Le coupable présumé : Debian.
1 - Vas-y : Casse tout !
J'ai donc recréé une machine VirtualBox avec 3 disques :* SDA1 = Ext3 = Mageia 4
* SDA2 = Ext3 = Fedora 20
* SDA3 = Ext3 = Debian 7.1
* SDA5 = Ext4 = Manjaro 0.8.9
* SDA6 = Swap = Swap1
* SDB1 = Ext4 = Ubuntu 13.1
* SDB2 = Ext3 = openSUSE 13.1
* SDB3 = Swap = Swap2
* SDC1 = Ext3 = Home (home commun à tout le monde avec des noms utilisateurs différents)
A nouveau, c'est l'installation de Debian qui fout la zone. Pourquoi ? Comment ? Lors du choix des partitions cibles, la (les) partitions swap sont automatiquement et arbitrairement formatées, ce qui modifie l'UIDD. Au passage, non seulement, je n'ai pu désactiver ce formatage avec l'installateur Debian mais c'est aussi et surtout la seule distributions (de celles que j'ai testés du moins) qui se croit toute seule au monde !
Pour résumer, je sais déjà d'où vient le problème. A l'installation de Debian, je n'ai monté, et formaté, que la Swap1, soit /dev/sda6 puisque j'ai désactivé la Swap2 (soit /dev/sdb3).
Au redémarrage de la distribution principale (Mageia 4), j'obtiens le message suivant :
dracut Warning: Could not boot.dracut Warning: /dev/disk/by-uidd/a7ed7a37-282e-4c30-8e29-b775c9591c52 does not existeGenerating "/run/initramfs/rdsosreport.txt"You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot after mounting them and attach it to a bug report.To get more debug information in the report, reboot with "rd.debug" added to the kernel command line.Dropping to debug shell.dracut:/#
2 - T'es content ?
La solution bête et méchante, ce serait la méthode bourrin utilisée massivement sous Windows. On rase tout et on réinstalle ! Sans même parler de l'aspect "finesse", avec plusieurs systèmes, ce sera tout aussi bien pas mal de temps passé. Solution qui ne permet pas de comprendre et donc de réparer intelligemment !Comment ai-je procédé ?
2.1 - Redémarrage en LiveCD sous PartedMagic
Ce LiveCD me simplifie un peu la tâche en étant immédiatement connecté avec les droits root, mais m'offre aussi tous les utilitaires utiles (un console, un éditeur de texte et Gparted éventuellement).Même si Gparted peut me donner les données UIDD (mais à faire alors partition par partition) la commande blkid donne les informations suivantes :
/dev/sda1: LABEL="Mageia" UUID="68848273-c07d-44bd-9600-0c135c570449" SEC_TYPE="ext2" TYPE="ext3"/dev/sda2: LABEL="Fedora" UUID="1f5313de-89e1-433d-b834-09f48e9e24a8" SEC_TYPE="ext2" TYPE="ext3"/dev/sda3: LABEL="Debian" UUID="19f228ec-a368-4b98-8028-9f829a615f23" SEC_TYPE="ext2" TYPE="ext3" PTTYPE="dos"/dev/sda5: LABEL="Manjaro" UUID="bcfd93ab-84d3-4207-9adf-8e7cfc171f15" TYPE="ext4"/dev/sda6: UUID="9904ebb4-4c65-40b7-88d5-e84af7de6a42" TYPE="swap"/dev/sdb1: LABEL="Ubuntu" UUID="77e88282-876a-483b-aec1-0423615d42b6" TYPE="ext4" PTTYPE="dos"/dev/sdb2: LABEL="openSUSE" UUID="a741c409-a92a-4395-8e15-25440cf5ea33" SEC_TYPE="ext2" TYPE="ext3" PTTYPE="dos"/dev/sdb3: UUID="4f6ae71d-4b65-4ec2-b84f-acccbefbf2d5" TYPE="swap"/dev/sdc1: LABEL="Home" UUID="210ba44b-fb57-4a0b-b965-41797be04f69" SEC_TYPE="ext2" TYPE="ext3"
2.2 - Chroot de Mageia 4 (SDA1)
Évidemment, Mageia 4 étant installé en 64 bits, j'ai préalablement pris soin d'utiliser un LiveCD 64 bits afin de pouvoir chrooter correctement !a) Le fichier /etc/dracut.conf.d/51-mageia-resume.conf contient la ligne suivante :
add_device+="UUID=4f6ae71d-4b65-4ec2-b84f-acccbefbf2d5"
Cette ligne pointe donc vers la swap2, soit SDB3, avec une référence UUID correcte.
b) Le fichier /etc/fstab est partiellement incorrect :
# Entry for /dev/sda6 :
UUID=a7ed7a37-282e-4c30-8e29-b775c9591c52 swap swap defaults 0 0
Je modifie avec la nouvelle UUID soit 9904ebb4-4c65-40b7-88d5-e84af7de6a42
c) Le fichier /boot/grub2/grub.cfg est correct.
d) Régénération de dracut avec la commande suivante (toujours dans le chroot) :
# dracut --regenerate-all --force
2.3 - Redémarrage
Je redémarre Mageia 4 et ..... tadam ! Yep ! La magie fonctionne !Et les autres systèmes ? Quelques paradoxes ! Certains systèmes démarrent correctement malgré que leurs fstab respectifs pointent vers la Swap1 avec une mauvaise UUID. Bizarre, comme c'est bizarre ! Citons :
* Ubuntu 13.10
* openSUSE 13.1
Pour les autres systèmes, je croit bien que je ne leur avait pas paramétré la bonne partition de swap, d'où des résultats assez partiels.
3 - On se le refait ?
Allons au bout de la folie ! Afin de bien voir la situation pour les autres distributions, dans un premier temps, j'ai démarré chaque système l'un après l'autre afin d'ajouter dans leur fstab une montée du Swap2 (SDB3) avec son UUID correspondante. Ensuite, sous PartedMagic (LiveCD), j'ai modifié cet UUID. Par conséquent, l'UUID de SDB3 est passé de :4f6ae71d-4b65-4ec2-b84f-acccbefbf2d5 à afac8672-3c6a-4d4e-bbf6-3aaffdbfb09c.
Suite à ces enfantillages, je redémarre l'un après l'autre chaque système. Dans la série des bizarreries, ajoutons :
* Fedora 20
* Debian 7.1
* Manjaro 0.8.9
En effet leur fstab contient l'entrée UUID obsolète et pourtant ces systèmes démarrent sans problème.
Seul Mageia 4 n'a pu démarré. Rebelote !! Par contre, je n'ai plus le même message d'erreur ! Les 3 premières lignes diffèrent :
dracut Warning: Cancelling resume operation. Device not found.dracut Warning: Coul not boot.dracut Warning: /dev/resume does not exist
Même procédure que toute à l'heure ! Cette fois, j'ai du modifier (car c'était l'ancienne UUID de SDB3) :
* le fichier 51-mageia-resume.conf
* le fichier fstab
* le fichier grub.cfg
Ensuite, j'ai régénéré dracut.
Le tutoriel inspiré de ce texte est librement disponible au format PDF (licence CC BY-NC-SA 4.0)
Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International
Note : L'idée et la solution de tout ceci a été initié par ce fil de discussion :
http://www.mageialinux-online.org/forum/topic-17710.php
* le fichier 51-mageia-resume.conf
* le fichier fstab
* le fichier grub.cfg
Ensuite, j'ai régénéré dracut.
Le tutoriel inspiré de ce texte est librement disponible au format PDF (licence CC BY-NC-SA 4.0)
Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International
Note : L'idée et la solution de tout ceci a été initié par ce fil de discussion :
http://www.mageialinux-online.org/forum/topic-17710.php
Commentaires
Enregistrer un commentaire