[grub] réparation du grub nécessaire à chaque mise à jour
-
- Hankyu
- Messages : 19
- Inscription : mer. 25 mars 2020, 08:46
[grub] réparation du grub nécessaire à chaque mise à jour
Merci d'avance.
- benjarobin
- Maître du Kyudo
- Messages : 17563
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Il va nous falloir beaucoup plus d'information, et surtout avec les messages d'erreurs exactes pour tout ce que tu rencontres. Peux-tu donner aussi exactement les commandes que tu réalises.
Par exemple, que sous-entends-tu par "réinstaller linux filesystem" ?
Peux-tu donner aussi la sortie de :
Code : Tout sélectionner
cat /etc/fstab
sudo blkid
sudo fdisk -l
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
-
- Hankyu
- Messages : 19
- Inscription : mer. 25 mars 2020, 08:46
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Code : Tout sélectionner
cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=fa1c05a0-86d4-430d-b768-5c7d0a0688e2 / ext4 rw,relatime,data=ordered 0 1
# /dev/sda1
UUID=CB99-9562 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
# /dev/sda3
# UUID=24d7ddcf-b89c-4d48-b7db-7e0433242616 none swap defaults 0 0
#documents
UUID=7e9443ad-d2f0-4547-af70-63b8bf79e3af /mnt/Documents ext4 defaults 0 0
#Trucs en vrac
UUID=5ec2e189-b156-4dd8-bfea-1fcb6a3adb29 /mnt/Trucs\040en\040vrac ext4 defaults 0 0
#Media
UUID=072d3c08-bfd0-401e-9274-8d3efe666db8 /mnt/Media ext4 defaults 0 0
#mariadb
/home/mrx/Media/.mysql /var/lib/mysql bind ,x-systemd.requires=/mnt/Media,defaults,bind 0 0
Code : Tout sélectionner
sudo blkid
/dev/loop1: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sdb2: UUID="5ec2e189-b156-4dd8-bfea-1fcb6a3adb29" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="cbe9671f-02"
/dev/sdb3: UUID="072d3c08-bfd0-401e-9274-8d3efe666db8" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="cbe9671f-03"
/dev/sdb1: UUID="7e9443ad-d2f0-4547-af70-63b8bf79e3af" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="cbe9671f-01"
/dev/loop4: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop2: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop0: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sdc2: SEC_TYPE="msdos" LABEL_FATBOOT="MISO_EFI" LABEL="MISO_EFI" UUID="07BE-0A1D" BLOCK_SIZE="512" TYPE="vfat"
/dev/sdc1: BLOCK_SIZE="2048" UUID="2024-07-30-08-28-21-00" LABEL="MANJARO_XFCE_2405" TYPE="iso9660"
/dev/sda2: UUID="fa1c05a0-86d4-430d-b768-5c7d0a0688e2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a0051cfa-d486-0d43-b768-5c7d0a0688e2"
/dev/sda1: UUID="CB99-9562" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f6fc2850-4e60-1246-919a-3040937257a5"
/dev/loop5: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop3: BLOCK_SIZE="131072" TYPE="squashfs"
Code : Tout sélectionner
sudo fdisk -l
Disque /dev/sda : 465,76 GiB, 500107862016 octets, 976773168 secteurs
Modèle de disque : CT500MX500SSD1
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
Identifiant de disque : E062D943-3EC1-4C17-8F41-B86FAF580937
Périphérique Début Fin Secteurs Taille Type
/dev/sda1 2048 1050623 1048576 512M Système EFI
/dev/sda2 1050624 976773119 975722496 465,3G Système de fichiers Linux
Disque /dev/sdb : 931,51 GiB, 1000204886016 octets, 1953525168 secteurs
Modèle de disque : ST1000DM010-2EP1
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xcbe9671f
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdb1 2048 512002047 512000000 244,1G 83 Linux
/dev/sdb2 512002048 1024002047 512000000 244,1G 83 Linux
/dev/sdb3 1024002048 1953523711 929521664 443,2G 83 Linux
Disque /dev/loop0 : 55,66 MiB, 58363904 octets, 113992 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/loop1 : 91,69 MiB, 96141312 octets, 187776 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/loop2 : 4 KiB, 4096 octets, 8 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/loop3 : 38,83 MiB, 40714240 octets, 79520 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/loop4 : 164,82 MiB, 172830720 octets, 337560 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/loop5 : 55,66 MiB, 58363904 octets, 113992 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/sdc : 14,91 GiB, 16013852672 octets, 31277056 secteurs
Modèle de disque : USB Flash Drive
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x00000000
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdc1 * 64 6921339 6921276 3,3G 0 Vide
/dev/sdc2 6921340 6929531 8192 4M ef EFI (FAT-12/16/32)
sdb est un disque dur de stockage découpé en trois partitions et monté dans différents répertoire de /home/mrx.
sdc est un cléf usb.
Après la mise à jour du système, le pc ne boote pas et me renvoie des messages d'erreurs concernant le montage de certaines partitions de sdb que je n'ai malheureusement pas eu la présence d'esprit de clairement noter...
Lors de la réparation du grub depuis une clef usb, la commande
Code : Tout sélectionner
mkiniticpio -p linux
Code : Tout sélectionner
lib/modules/x.x.-x-ARCH is not a valid kernel module directory
Code : Tout sélectionner
sudo pacman -S filesytem linux
- benjarobin
- Maître du Kyudo
- Messages : 17563
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Tu ne donnes malheureusement pas toutes les informations : Ce que tu fais depuis ton live USB, les commandes sont depuis un chroot (comment entres-tu dans ce chroot), ... ?
Est-ce que tu montes bien la partition de boot/ESP depuis le live USB quand tu essayes de réparer (je pense que non) ?
Je pense savoir où est le problème, mais, sans les informations, il est difficile d'aider (c'est classiquement un problème de partition de boot, erreur réalisée durant l'installation).
Je suppose que tu as Grub d'installé comme tu le cites ? Comment celui-ci est installé (ligne de commande utilisée) ? Est-ce un boot UEFI (je suppose) ou un boot legacy/MBR ?
Quel est le contenu du grub.cfg ? Vérifie qu'il y a bien un seul grub.cfg (voir question ci-dessous).
Quel est le contenu de la partition de boot/ESP ? Quel est le contenu du dossier /boot si la partition de boot/ESP n'est pas montée ?
Depuis un chroot, quelle est la version du kernel linux installé (
pacman -Q linux
), et quel est le contenu de : ls -l /usr/lib/modules
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
-
- Hankyu
- Messages : 19
- Inscription : mer. 25 mars 2020, 08:46
Re: [grub] réparation du grub nécessaire à chaque mise à jour
ls -l /usr/lib/modules
me retourne
Code : Tout sélectionner
total 28
drwxr-xr-x 3 root root 4096 30 déc. 2022 6.0.12-arch1-1
drwxr-xr-x 3 root root 4096 6 janv. 2023 6.1.1-arch1-1
drwxr-xr-x 3 root root 4096 12 janv. 2023 6.1.3-arch1-1
drwxr-xr-x 3 root root 4096 18 janv. 2023 6.1.4-arch1-1
drwxr-xr-x 3 root root 4096 22 janv. 2023 6.1.6-arch1-3
drwxr-xr-x 6 root root 4096 4 nov. 08:26 6.11.6-arch1-1
drwxr-xr-x 3 root root 4096 4 nov. 08:11 6.6.59-1-lts
LE boot est bien un boot EFI.
la partition de boot contient les fichiers suivants:
Code : Tout sélectionner
EFI grub initramfs-linux-fallback.img initramfs-li
Voilà ce que contient grub.cfg :
Code : Tout sélectionner
#
# 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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
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 {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 fa1c05a0-86d4-430d-b768-5c7d0a0688e2
else
search --no-floppy --fs-uuid --set=root fa1c05a0-86d4-430d-b768-5c7d0a0688e2
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=fr_FR
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-fa1c05a0-86d4-430d-b768-5c7d0a0688e2' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 CB99-9562
else
search --no-floppy --fs-uuid --set=root CB99-9562
fi
echo 'Chargement de Linux linux…'
linux /vmlinuz-linux root=UUID=fa1c05a0-86d4-430d-b768-5c7d0a0688e2 rw loglevel=3 nvidia_drm.modeset=1 quiet
echo 'Chargement du disque mémoire initial…'
initrd /intel-ucode.img /initramfs-linux.img
}
submenu 'Options avancées pour Arch Linux' $menuentry_id_option 'gnulinux-advanced-fa1c05a0-86d4-430d-b768-5c7d0a0688e2' {
menuentry 'Arch Linux, avec Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-fa1c05a0-86d4-430d-b768-5c7d0a0688e2' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 CB99-9562
else
search --no-floppy --fs-uuid --set=root CB99-9562
fi
echo 'Chargement de Linux linux…'
linux /vmlinuz-linux root=UUID=fa1c05a0-86d4-430d-b768-5c7d0a0688e2 rw loglevel=3 nvidia_drm.modeset=1 quiet
echo 'Chargement du disque mémoire initial…'
initrd /intel-ucode.img /initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-fa1c05a0-86d4-430d-b768-5c7d0a0688e2' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 CB99-9562
else
search --no-floppy --fs-uuid --set=root CB99-9562
fi
echo 'Chargement de Linux linux…'
linux /vmlinuz-linux root=UUID=fa1c05a0-86d4-430d-b768-5c7d0a0688e2 rw loglevel=3 nvidia_drm.modeset=1 quiet
echo 'Chargement du disque mémoire initial…'
initrd /intel-ucode.img /initramfs-linux-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/15_ostree ###
### END /etc/grub.d/15_ostree ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
insmod bli
fi
### END /etc/grub.d/25_bli ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
fwsetup --is-supported
if [ "$?" = 0 ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
fi
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###
### 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 ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
Voilà ce que je fait depuis ma clef usb quand une mise a jour du noyau plante le démarrage :
Code : Tout sélectionner
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
manjaro-chroot /mnt
mkinitcpio --p linux
lib/modules/6.11.6-1-ARCH is not a valid kernel module directory
.Je poursuis avec
Code : Tout sélectionner
pacman -S filesystem linux
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Archlinux
- benjarobin
- Maître du Kyudo
- Messages : 17563
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Le fichier grub.cfg que tu donnes ne peux pas fonctionner avec un montage de la partition de boot en tant que /boot/efi...
Hum, c'est un peu le désordre... Je ne suis pas sûr de comprendre comment cela tombe en marche...
Tu n'as pas répondu à ces questions :
- Quel est le contenu de la partition de boot/ESP ? => Tu m'as donné une partie de la sortie. Peux tu donner le contenu complet, par exemple via la commande : find /boot
- Quel est le contenu du dossier /boot si la partition de boot/ESP n'est pas montée ? => Non répondu.
---
Bon, le plus simple est de tout nettoyer (méthode bourrin) et de tout réinstaller.
Alors tu dois faire ceci depuis le live USB (je fais l’hypothèse qu'il n'y a pas d'autres OS d'installé) :
Code : Tout sélectionner
efibootmgr
Tu dois supprimer toutes les entrées en lien avec Grub/Arch Linux. Donc pour chaque entrée
BootXXXX
que tu veux supprimer :
Code : Tout sélectionner
efibootmgr -b XXXX -B
Code : Tout sélectionner
mount /dev/sda2 /mnt
rm -rf /mnt/boot/*
mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
rm -rf /mnt/boot/efi/*
rm -rf /mnt/usr/lib/modules/*arch1*
Tu peux éditer le fichier à la main, ou utiliser cette commande :
Code : Tout sélectionner
sed -i "s|/boot|/boot/efi|" /mnt/etc/fstab
Code : Tout sélectionner
manjaro-chroot /mnt
pacman -S linux grub
# En fonction de ton CPU
pacman -S amd-ucode
pacman -S intel-ucode
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Archlinux
grub-mkconfig -o /boot/grub/grub.cfg
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
-
- Hankyu
- Messages : 19
- Inscription : mer. 25 mars 2020, 08:46
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Merci pour ton aide. J'ai procédé comme tu me l'as indiqué, le boot s'interrompt après avoir indiqué que sda2 était clean et renvoyé l'erreur
failed to start mariadb 11.5.2 database server
. Puis bien plus tard failed to start wait for network to be configured
et failed to start postgresql database server
J'ai constaté que je pouvais basculer sur les tty. J'ai essayé de démarrer avec les options fallback initramfs avec le même résultat.- benjarobin
- Maître du Kyudo
- Messages : 17563
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Je te rassure, bien que cela n'en a pas l'air, ton PC est presque totalement réparé, bien mieux qu'avant

Par contre, j'ai fait une petite bêtise / oubli, tu dois réinstaller tous les paquets qui fournissent des fichiers modules (dkms et autres).
Tu dois réinstallé tous les paquets des commandes suivantes :
Code : Tout sélectionner
pacman -Ql | grep -F "/lib/modules/" | awk '{print $1}' | sort -u
pacman -Qsq dkms
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
-
- Hankyu
- Messages : 19
- Inscription : mer. 25 mars 2020, 08:46
Re: [grub] réparation du grub nécessaire à chaque mise à jour

- benjarobin
- Maître du Kyudo
- Messages : 17563
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [grub] réparation du grub nécessaire à chaque mise à jour
Concernant les erreurs précédentes, peux tu donner la sortie de :
systemctl --fail --all
Et éventuellement le log complet d'un boot (via un site de type pastebin) :
journalctl -b
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum