Page 1 sur 2

[Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mar. 15 nov. 2016, 10:30
par Urania
Bonjour à tous,

sda1: EFI system
sda3: Swap
sda5: Linux LVM

J'ai un portable avec Archlinux depuis deux ans, je n'y ai pas touché pendant un peu plus de 6 mois et je me suis décidé hier à le mettre à jour .
Lors du boot, le portable étant chiffré ainsi que la swap je rentre les deux mots de passe (sda5 -> vgroup volume et sda3 -> openswap) et là:

Code : Tout sélectionner

Waiting 10s for device /dev/mapper/vgroup-root ....
Error: Device /dev/mapper/vgroup-root  not found ...
...
Drop to recovery shell



N'ayant pas tripoté (rectifié mes bêtises) d'Archlinux depuis un moment je ne connais plus la procédure à suivre pour monter toutes les partitions à partir du CD d'Archlinux ... Je me rappelle vaguement qu'il faut faire aussi un 'crypsetup' ...

Merci et bonne journée.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mar. 15 nov. 2016, 16:28
par Urania
J'ai réussi à faire un:

Code : Tout sélectionner

cryptsetup luksOpen /dev/sda5 lvm
J'ai dans /dev/mapper:

vgroup-root
vgroup-var
vgroup-home

...

J'ai ensuite "mounter" les trois "vgroup" cités ci-dessus dans /mnt/home, /mnt/var et /mnt/root.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mar. 15 nov. 2016, 16:42
par oktoberfest
Salut,

tu devrais donc pouvoir maintenant monter tes partitions :

Code : Tout sélectionner

mount /dev/mapper/vgroup-root /mnt
mount /dev/mapper/vgroup-var /mnt/var
mount /dev/mapper/vgroup-home /mnt/home

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mar. 15 nov. 2016, 17:07
par Urania
une fois fait, je fais un arch-chroot /mnt ....
Je tombe sur le shell, je retrouve toutes mes données ... Mais ensuite que dois je faire pour pouvoir rebooter correctement, tout en sachant que ma partition boot (sda1) est séparée ...

Merci

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mar. 15 nov. 2016, 20:53
par oktoberfest
Je n'ai pas de PC en UEFI, je ne pourrai pas trop t'aider là dessus.
Il te faut déjà certainement monter ta partition de boot (à voir si tu la montes dans /boot ou autre part, le wiki et le contenu de la partition t'aideront).

Ensuite ton problème de boot vient certainement d'un initramfs qui ne contient pas ce qu'il faut (LUKS, LVM...). Là encore je n'utilise pas luks, je ne peut pas t'aider plus.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mer. 16 nov. 2016, 07:59
par Urania
Merci tout de même pour ton aide :)

Sinon une fois toutes les partitions "mounté" ainsi que la pârtition boot -> mount /dev/sda1 /mnt/boot/efi et chrooté avec 'arch-chroot' j'ai fait un "pacman -S linux" suivi d'un "mkinitcpio -p linux" avec aucune erreur ....
J'ai aussi vérifié les fichiers suivant: "efistub-update.path" "efistub-update.service" ... Ils me semblent correctes ....
Et pourtant, je n'arrive toujours pas à boooter ... Même erreur ...

Sortie efibootmgr -v : No Bootloader is set; firmaware will attempt recovery (je suis en Chroot)

Merci

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mer. 16 nov. 2016, 08:48
par RoyalPanda
Bonjour,
Qu'y a t'il sur la partition sda2 ?
Quel est le bootloader ?
Quelle est la configuration du bootloader ? (sortie cat )
Quel est le contenu de mkinitcpio.conf ( sortie cat )
Quelle est le retour de la commande :

Code : Tout sélectionner

# sudo blkid

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mer. 16 nov. 2016, 09:51
par Urania
RoyalPanda a écrit :Bonjour,
Qu'y a t'il sur la partition sda2 ?
- Elle n'existe pas
Quel est le bootloader ?
- Gummiboot
Quelle est la configuration du bootloader ? (sortie cat )
- Attention, comme indiqué précédemment, j'ai installé tout ceci il y a deux ans, ma mémoire peut me jouer des tours :(

Code : Tout sélectionner

/boot/EFI/gummiboot
/boot/efi/EFI/gummiboot
/boot/efi/EFI/gummiboot/gummiboot.efi
/boot/efi/EFI/gummiboot/gummibootx64.efi
/var/lib/pacman/local/gummiboot-48-1
/usr/lib/gummiboot
/usr/lib/gummiboot/gummibootx64.efi
/usr/bin/gummiboot
/usr/share/man/man8/gummiboot.8.gz
Quel est le contenu de mkinitcpio.conf ( sortie cat )
MODULES="vfat ext4 reiserfs xfs dm_mod dm_crypt aes_x86_64"

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS="base udev autodetect block filesystems"
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS="base udev block filesystems"
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS="base udev block mdadm encrypt filesystems"
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev block lvm2 filesystems"
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keymap encrypt openswap lvm2 filesystems keyboard fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""
Quelle est le retour de la commande : # sudo blkid

Code : Tout sélectionner

/dev/sdb1: LABEL="RM-CM-)servM-CM-) au systM-CM-(me" UUID="022A0C742A0C674F" TYPE="ntfs" PARTUUID="589082e5-01"
/dev/sdb2: UUID="32E6101AE60FDCCB" TYPE="ntfs" PARTUUID="589082e5-02"
/dev/sda1: UUID="E187-CD76" TYPE="vfat" PARTUUID="4280635e-b85f-4242-91b7-7d3a3b72da44"
/dev/sda3: UUID="4fe8963a-4834-4eca-ae27-1518bec98ad6" TYPE="crypto_LUKS" PARTUUID="9f17cdf1-ddf7-4f63-9f20-5f98f8f5904a"
/dev/sda5: UUID="f4cd7109-d9f6-4070-b9c0-0e588bb69ff3" TYPE="crypto_LUKS" PARTUUID="e7fe0a72-cad8-4d0a-8481-be6135f8f17f"
/dev/sr0: UUID="2015-07-01-16-59-27-00" LABEL="ARCH_201507" TYPE="iso9660" PTUUID="60c53fdf" PTTYPE="dos"
/dev/loop0: TYPE="squashfs"
/dev/loop1: UUID="47f89855-8710-4fca-a395-913f70f7d94c" TYPE="ext4"
/dev/loop2: UUID="47f89855-8710-4fca-a395-913f70f7d94c" TYPE="ext4"
/dev/mapper/arch_airootfs: UUID="47f89855-8710-4fca-a395-913f70f7d94c" TYPE="ext4"
/dev/mapper/crypto: UUID="QeCIY0-GIka-PtNz-ug6l-cQ0x-01qC-Yvdd6B" TYPE="LVM2_member"
/dev/mapper/vgroup-root: UUID="4dd3828b-b2b1-44ac-a522-73fda6c89e7f" TYPE="ext4"
/dev/mapper/vgroup-var: UUID="49e569ac-f3c8-43ce-b5ff-1786d6c3fcb6" TYPE="reiserfs"
/dev/mapper/vgroup-home: UUID="47b4d6c6-27e6-4e36-bbed-832281a962e9" TYPE="xfs"
/dev/sdc1: LABEL="KINGSTON" UUID="925C-5E22" TYPE="vfat" PARTUUID="ed74ae23-01"

Merci pour votre aide.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mer. 16 nov. 2016, 10:47
par RoyalPanda
Pour la configuration du bootloader, il faudrait en fait le contenu des fichiers .conf situé dans le dossier loader de la partition de boot.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : mer. 16 nov. 2016, 14:37
par Urania
Dans le fichier "loader" du "/boot" (/boot/efi/loader) j'ai:

loader.conf:
default arch
timeout 5

Dans "/boot/efi/loader/entries/arch.conf"

title BlackArch
efi \EFI\arch\vmlinuz-linux.efi
options initrd=\EFI\arch\initramfs-linux.img cryptdevice=/dev/sda5:vgroup root=/dev/mapper/vgroup-root ro

Merci
ps: Gummiboot et Gummiboot-efi semblent ne plus exister ...

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : jeu. 17 nov. 2016, 16:27
par Urania
Bon ben ... Tjs pas :(

J'ai relu ce que j'avais fait: https://gist.github.com/jasonwryan/4618490
J'ai vérifié une énième fois les fichiers .... Je sèche :(

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 10:58
par RoyalPanda
Rien ne me saute aux yeux. Une chose est sûr, si tu arrive au shell de secours, la chaîne de boot est bonne.
Dans le shell de secours, quelle est la sortie de :

Code : Tout sélectionner

 # ls -l /dev/mapper/

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 11:38
par benjarobin
RoyalPanda a écrit :Une chose est sûr, si tu arrive au shell de secours, la chaîne de boot est bonne.
Euh, pas vraiment... Essaye de changer ta chaine de boot, tu verras tu tomberas sur le shell de secours...

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 15:03
par Urania
RoyalPanda a écrit :Rien ne me saute aux yeux. Une chose est sûr, si tu arrive au shell de secours, la chaîne de boot est bonne.
Dans le shell de secours, quelle est la sortie de :

Code : Tout sélectionner

 # ls -l /dev/mapper/

Code : Tout sélectionner

crw------- 10   0   10,236 Nov  18 control
lrwxrwxrwx 1 0 0 ....... swapDevice -> ../dm-1
lrwxrwxrwx 1 0 0 ....... vgroup -> ../dm-0
Merci

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 15:16
par RoyalPanda
benjarobin a écrit :
RoyalPanda a écrit :Une chose est sûr, si tu arrive au shell de secours, la chaîne de boot est bonne.
Euh, pas vraiment... Essaye de changer ta chaine de boot, tu verras tu tomberas sur le shell de secours...
Ben pour moi, la bootchain c'est jusqu'au boot kernel, hors le kernel est lancé.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 15:30
par RoyalPanda
Urania a écrit :

Code : Tout sélectionner

crw------- 10   0   10,236 Nov  18 control
lrwxrwxrwx 1 0 0 ....... swapDevice -> ../dm-1
lrwxrwxrwx 1 0 0 ....... vgroup -> ../dm-0
Merci
Hmmm, bon a priori c'est lvm qui fait pas son boulot, et qui n'étend pas vgroup. Une erreur provenant du hook openswap ?

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 16:05
par Urania
Comment je vérifie cela ? Je reinstalle "linux" et/ou mkinitciop" ??

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 17:46
par Loop_back
Bonjour,

Pour mon premier post sur ce forum, j'espère pouvoir t'aider Urania :)

Je me suis retrouvé dans la même situation le même jour. Mon système est en lvm et suite à une maj, impossible de démarré (même message d'erreur). Le problème ici vient clairement de lvm. Dans mon cas (ce qui devrait aussi être le tien), il y a aussi eu une maj de readline et, bizarrement, le hook lvm2 ne s'est pas construit.

Regarde dans la log pacman si tu n'a pas le message d'erreur suivant le jour de ta mise à jour:

Code : Tout sélectionner

ERROR: binary dependency 'libreadline.so.6' not found for binary '/usr/bin/lvm'
Si c'est le cas, chroot ton système et un petit mkinitcpio devrait suffire :)

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : ven. 18 nov. 2016, 20:09
par benjarobin
benjarobin a écrit :Euh, pas vraiment... Essaye de changer ta chaine de boot, tu verras tu tomberas sur le shell de secours...
RoyalPanda a écrit :Ben pour moi, la bootchain c'est jusqu'au boot kernel, hors le kernel est lancé.
Alors pour rappel un boot sous Arch Linux cela se passe comme ceci :
  • On lance le kernel avec l'initramfs ainsi que les paramètres kernel
  • L'initramfs est décompressé en mémoire vive par le kernel, il contient un système de fichier minimaliste à base de busybox
  • Le kernel lance /init (qui est donc à la racine de l'initramfs) qui est un script bash
  • Le script bash va lancer udev et chercher à monter la partition racine via le paramètre root= de la ligne kernel dans /new_root
  • Le script bash demande au kernel de faire un pivot/switch root vers la nouvelle racine /new_root
  • Le kernel lance /usr/lib/systemd/systemd en tant que nouveau processus d'init
  • systemd se lance...
Ici cela échoue dans le script bash de l'initramfs, qui lance donc un shell de secours (recovery shell). On se retrouve donc dans un environnement minimaliste à base de busybox. Le système de fichier étant en mémoire vive ici, toute modification sera perdu.

Re: [Récupération partition] Crash portable après maj ... LVM/Luks

Publié : sam. 19 nov. 2016, 08:48
par Urania
Loop_back a écrit :Bonjour,

Pour mon premier post sur ce forum, j'espère pouvoir t'aider Urania :)

Je me suis retrouvé dans la même situation le même jour. Mon système est en lvm et suite à une maj, impossible de démarré (même message d'erreur). Le problème ici vient clairement de lvm. Dans mon cas (ce qui devrait aussi être le tien), il y a aussi eu une maj de readline et, bizarrement, le hook lvm2 ne s'est pas construit.

Regarde dans la log pacman si tu n'a pas le message d'erreur suivant le jour de ta mise à jour:

Code : Tout sélectionner

ERROR: binary dependency 'libreadline.so.6' not found for binary '/usr/bin/lvm'
Si c'est le cas, chroot ton système et un petit mkinitcpio devrait suffire :)
Je viens de vérifier les logs ... Aucune erreur :(
J'ai aussi fait un petit "mkinitcpio -p linux" des fois que .... Même pb.