Coté jeu j’en ai fini avec need for speed heat, je me suis cassé les dents sur Forspoken, un jeu que je qualifie carrément d’injouable sur ma config sur linux malgré son statut « argent » sur protondb (moi c’est du moche qui plante retour sur le bureau toutes les x minutes)
Mais ce n’est pas le sujet de ce post, car le grub de manjaro s’est cassé plus moyen de la booter.
Je m’attendais a avoir ce souci quand j’ai upgradé le noyau/kernel de manjaro de 6.12 en 6.18 (j’avais pas compris que pour le kernel c’est pas automatique l’upgrade (sauf quand son support long expire?)). Mais cela a bien marché les quelques jours suivants donc cela avait surement fait le taf correctement. Donc pourquoi ? Y sait pas, en tout cas y marche pu 
Juste après le bios j’ai un magnifique
« Error: kern/fs.c:grub_fs_probe:122:unknown filesystem. »
(suivi de Entering rescue mode… et le probe du mode rescue)
Au départ j’ai vraiment cru que c’était lié au secure boot que j’avais reactivé pour aller sur windows 11 car j’avais oublié de l’enlever au boot suivant sur manjaro mais non plus moyen de booter manjaro même sans (je voulais que win11 arrive a finir son update du secure boot en CA2023, et cela l’a fait directement au boot suivant)
Bref ce coup-ci je le répare ce grub.
Il y a la méthode avec la commande chroot, cette commande permet de passer de l’environnement actif d’un linux à celui d’un environnement présent sur le stockage dans le terminal
Je pourrais vous dire qu’il y a une tonne de tuto à ce sujet mais comment dire, ils sont quasi tous obsolètes dans mon cas
nvme et pas sda(des disque sata)? : non pour la plupart
(u)efi? : non pour la plupart
le cas btrfs ? : non du tout
le cas root chiffré? : celui ci je n’ai pas à le faire et j’en suis content
le reste m’a suffit
Pour commencer 2 avertissements : je suis une quiche à ce sujet et j’ai quasi + de question que de réponse, mais au final j’écris ce texte sur manjaro c’est le principal
Déjà faut un linux qui marche, donc via une distrib lancée sur clé usb ou dans mon cas via ma ubuntu de secours (cela aurait peut être été plus simple sur cachyos (qui fonctionnait aussi) mais l’outil kde de « disque » est moins jolie/lisible/pratique que celui de gnome)
Bref, la premiere étape c’est de repérer ces petits : il nous faut une liste de jouet, la partition efi de manjaro (j’en fais une par OS, et pas touche a celle de windows) , sa partition root et vu que c’est btrfs, sa structure interne complète (j’y reviens après)
Je fais du reperage via disque sur mon ubuntu de secours
A gauche de la partition efi orange c’est l’univers windows, la orange c’est la efi de manjaro, puis a sa droite c’est la partition manjaro, suivi de 2 disques chiffrés (cadenas) de la efi de cachyos et de son root puis une ntfs pour les jeux windows
efi manjaro = /dev/nvme0n1p6
manjaro = pareil en p7
Sans le btrfs il suffirait presque de faire ces 2 là mais dans la partition manjaro on a
Cela ne marcherait probablement pas avec ces sous-volumes, root c’est dans l’arobase par exemple
on voit ici le dossier boot qui aura son importance
Il faut que la partition efi soit montée dans l’efi contenu dans boot
On peut retrouver ce type d’information via commande terminal, genre avec fdisk -l
ici avec un grep nvme pour n’avoir que les 2 nvme
Comment monter les sous volume btrfs, je me suis appuyé sur le fichier fstab de manjaro
Pas moyen de savoir comment il faut monter cela proprement donc ici prendre avec des pincettes
(faut il mettre le :1 à la suite de ztsd qui indique le niveau de compression sur 10?)
(est-ce que home cache et log sont necessaires en fait?)
Les plus observateurs veront que nvme1 et 0 ont echangé leur place apres un reboot suite à un premier essai malheureux (n’avais pas mis l’efi au bon endroit)

Le plus important c’est bien la premiere
mount -o noatime,compress=ztsd:1,subvol=@ /dev/nvme1n1p7 /mnt
j’ai un gros doute sur les suivantes home, cache et log (et j’ai oublié le :1), cela suit la même logique
@home va dans /mnt/home
/var/cache dans var/cache
/var/log dans var/log
et vu que l’on est en uefi, on la monte, et bien dans notre boot/efi (donc il faut peut être mieux le faire après le root)
mount /dev/nvme1p1p6 /mnt/boot/efi

Il y a peut être des étapes supplémentaires pour un « chroot » normal mais j’ai décidé d’arrêter de me faire du mal et de tenter via arch-chroot (l’erreur qui dit que la commande n’existe pas m’a donné la commande apt pour l’installer sur ubuntu)
Ce arch-chroot ferait le nécessaire pour que les /dev et autres soit « bind » correctement
sudo arch-chroot /mnt

Ici avec mes etapes de reperages
en rouge en bas : on est en root dans manjaro et plus dans un terminal d’ubuntu
un ls donne alors le même contenu que le ls /mnt au dessus qui était encore dans ubuntu
Je ne sais pas si cela a une importance, j’ai commencé par un os-prober qui permet de chercher les autres OS sur le nvme
Je me suis inquiété de ne pas voir manjaro mais je suis dans manjaro

un grub-install

J’ai pas precisé la plate forme, x86_64-efi est de toute facon la par defaut
Je viens de voir seulement maintenant le double grub-install (il était 23h00 passé), étonnant que cela ait marché en fait
grub-install --efi-directory=/boot/efi --bootloader-id=Manjaro
pour le --efi-directory c’est simple on l’a monté exprès au dessus dans /boot/efi
le bootloader-id j’ai été plus embêté, qu’est qu’il veut?, les tuto disent « GRUB » mais j’ai mis Manjaro dans l’idée de coller au nom présent dans l’efi (visible avec efibootmgr)
(J’ai ensuite refait un os-prober)
Puis le final update-grub
Il n’y a plus qu’a fait exit pour sortir de manjaro (j’ai dû redémarrer pour faire le umount le coup d’avant car était en cours d’utilisation, le coup ou les nvme étaient inversés ensuite)