A voir également:
- Initramfs au démarrage
- Initramfs problème de démarrage - Meilleures réponses
- Ubuntu initramfs au démarrage - Meilleures réponses
- Pc lent au démarrage - Guide
- Reinitialiser pc au demarrage - Guide
- Forcer demarrage pc - Guide
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
- Problème démarrage windows 10 - Guide
2 réponses
mamiemando
Messages postés
33532
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
12 février 2025
7 823
9 avril 2020 à 02:36
9 avril 2020 à 02:36
Bonjour,
Plusieurs élément de réponses.
Explication de l'erreur
Par rapport à l'erreur busybox : grub est le menu qui permet de choisir sur quel système (et pour linux, avec quel noyaux et quelles options) on démarre. Quand grub plante, tu vois typiquement un terminal "busybox". Il peut planter pour de multiple raison (typiquement, un disque dur manquant, un noyau pas trouvé, des partitions incohérentes par rapport à sa configuration, etc).
En pratique, busybox ne permet pas de faire grand chose. La plupart du temps, il faut passer par une réparation à l'aide d'une clé USB bootable. Depuis celle-ci il faut alors lancer un linux permettant de lancer un "vrai" terminal à partir, à partir duquel on pourra faire la réparation. En soit un disque (USB ou CD) d'installation linux suffit. Mais ça n'est pas évident quand on débute.
C'est pour cela que boot-repair a été créé. C'est un linux bootable sur une clé usb, mais celui-ci a été personnalisé pour un débutant à faire la réparation. Donc, tu es sur la bonne voie :)
Ensuite je ne sais pas qui t'a dit de faire un
Alors qu'est ce qu'un
Sous linux, il n'y a pas de notion de lecteur comme sous windows. Pas de C: ou autre. Il y a une arborescence, dont la racine est
Les devices en eux-mêmes ne sont pas directement lisibles. Il faut monter un device pour voir le contenu de la partition qu'il représente. C'est ce que fait la commande
En particulier, certains de ces devices seront monté (comme des poupées russes) de sorte à constituer le contenu exposé dans l'arborescence
Bref, comme
Ainsi, si tu démarres sur ton linux USB et que tu montes ton linux disque dur dans
Par contre, linux permet de "déplacer"
Réparer grub (en temps normal)
L'essentiel de la procédure indiquée dans boot-repair consistent à réaliser ce
Idéalement, il suffit alors de lancer dans l'environnement chrooté
Première question, que se passe-t'il dans ton cas ? (copie colle le résultat)
Dans ton cas
Si on regarde ton rapport boot repair, tu as des erreurs bizarre :
Ça c'est pas bon, ça veut dire qu'un disque RAID (logiciel ?) est bancale. Je ne sais pas si tu t'es amusé à configuré du RAID mais c'est mauvais signe ce genre d'erreur.
De plus, tu dis que tu as chiffré ton disque. Ce qui signifie que
Méthode 1 : la plus simple
Tu réinstalles, tu oublies le chiffrement et le RAID sauf si tu sais ce que tu fais.
Méthode 2 : si tu as du courage
Partitionnement supposé (à adapter dans ton cas)
Étape 1 : Monter le système
Maintenant on monte tout.
De là on peut lancer
Étape 2 : Réparer
On vérifie les paramètres de
1) Vérifier que la ligne concernant
Exemple : (attention, ces valeurs dépendent de ton système) :
2) Vérifier également
Exemple : (attention, ces valeurs dépendent de ton système) :
3) Si tout est référencé, on peut alors lancer :
4) Maintenant, on contrôle
Exemple : (attention, ces valeurs dépendent de ton système) :
GRUB_CMDLINE_LINUX="cryptopts=target=sda5_crypt,source=/dev/disk/by-uuid/8af9859f-9922-4ed3-9f9b-bc31f0c9aeb4,lvm=Ubuntu"
5) Enfin, on réinstalle grub
6) ... et on quitte proprement
Bonne chance :-)
Plusieurs élément de réponses.
Explication de l'erreur
Par rapport à l'erreur busybox : grub est le menu qui permet de choisir sur quel système (et pour linux, avec quel noyaux et quelles options) on démarre. Quand grub plante, tu vois typiquement un terminal "busybox". Il peut planter pour de multiple raison (typiquement, un disque dur manquant, un noyau pas trouvé, des partitions incohérentes par rapport à sa configuration, etc).
En pratique, busybox ne permet pas de faire grand chose. La plupart du temps, il faut passer par une réparation à l'aide d'une clé USB bootable. Depuis celle-ci il faut alors lancer un linux permettant de lancer un "vrai" terminal à partir, à partir duquel on pourra faire la réparation. En soit un disque (USB ou CD) d'installation linux suffit. Mais ça n'est pas évident quand on débute.
C'est pour cela que boot-repair a été créé. C'est un linux bootable sur une clé usb, mais celui-ci a été personnalisé pour un débutant à faire la réparation. Donc, tu es sur la bonne voie :)
Ensuite je ne sais pas qui t'a dit de faire un
fsck(filesystem check) mais je doute fortement que ça te débloque. En terminologie windows, cela correspond à un scandisk, mais ça n'est pas ça qui corrigera ta configuration grub pour la rendre cohérente avec ton ou tes disques durs. Des commandes telles que
sudo update-grub, lancées depuis ton linux "chrooté" ont beaucoup plus de sens.
Quelques pré-requis
Alors qu'est ce qu'un
chroot.
Sous linux, il n'y a pas de notion de lecteur comme sous windows. Pas de C: ou autre. Il y a une arborescence, dont la racine est
/qui contient tout. La notion la plus proche est ce qu'on appelle sous linux les "devices" (voir /dev). Sur les linux modernes, les disques ont typiquement un nom qui suit cette nomenclature :
-
/dev/sda
identifie le premier disque (USB, disque dur, autre...) -
/dev/sdb
identifie le second disque (USB, disque dur, autre...) -
/dev/sda1
identifie la 1ere partition du disque sda. -
/dev/md0
désigne un disque RAID
Les devices en eux-mêmes ne sont pas directement lisibles. Il faut monter un device pour voir le contenu de la partition qu'il représente. C'est ce que fait la commande
mount.
En particulier, certains de ces devices seront monté (comme des poupées russes) de sorte à constituer le contenu exposé dans l'arborescence
/. Typiquement :
-
/
contient (si on omet les éléments qui suivent) la partition du système linux sur lequel tu as démarré -
/home
contient la partition linux contenant tes documents - les éventuels périphériques, partitions windows, partages distants, etc sont généralement montées dans un sous-dossier de
/media
ou de/mnt
.
Bref, comme
/correspond au système linux sur lequel tu as démarré, il n'a pas le même sens quand tu démarres sur un linux USB ou sur le linux de ton disque dur.
/correspond au système sur lequel tu as démarré. Mais par contre, si tu démarres sur ton linux USB, tu peux monter la partition du linux du disque dur dans un répertoire (disons
/media/linux).
Ainsi, si tu démarres sur ton linux USB et que tu montes ton linux disque dur dans
/media/linux, la configuration de grub sera à ce stade dans
/media/linux/etc/default/grubet non
/etc/default/grub.
Par contre, linux permet de "déplacer"
/(sous certaines conditions), dans mon exemple, au niveau de
/media/linux. C'est ce qu'on appelle faire un
chroot.. Donc si tu fais en sorte que dans ce répertoire, tout le nécessaire soit présent et que tu te chrootes dedans, alorstout se passera dès lors dans ce terminal "comme si" tu avais démarré sur le linux du disque dur. Et de là, en particulier tu pourras réinstaller/reconfigurer tout ce qui est cassé.
Réparer grub (en temps normal)
L'essentiel de la procédure indiquée dans boot-repair consistent à réaliser ce
chroot. Vu que tu es arrivé à faire un rapport boot repair, c'est que tu y es arrivé.
Idéalement, il suffit alors de lancer dans l'environnement chrooté
sudo update-grubce qui doit ressembler à ceci :
(mando@aldur) (~) $ sudo update-grub
[sudo] Mot de passe de mando :
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-5.4.0-4-amd64
Found initrd image: /boot/initrd.img-5.4.0-4-amd64
Found linux image: /boot/vmlinuz-5.4.0-3-amd64
Found initrd image: /boot/initrd.img-5.4.0-3-amd64
Found linux image: /boot/vmlinuz-5.3.0-3-amd64
Found initrd image: /boot/initrd.img-5.3.0-3-amd64
Found linux image: /boot/vmlinuz-4.19.0-6-amd64
Found initrd image: /boot/initrd.img-4.19.0-6-amd64
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
Première question, que se passe-t'il dans ton cas ? (copie colle le résultat)
Dans ton cas
Si on regarde ton rapport boot repair, tu as des erreurs bizarre :
ERROR: pdc: reading /dev/dm-0[Input/output error]
ERROR: pdc: reading /dev/dm-0[Input/output error]
ERROR: pdc: reading /dev/dm-0[Input/output error]
ERROR: pdc: reading /dev/dm-0[Input/output error]
ERROR: pdc: reading /dev/dm-0[Input/output error]
ERROR: pdc: reading /dev/dm-0[Input/output error]
Ça c'est pas bon, ça veut dire qu'un disque RAID (logiciel ?) est bancale. Je ne sais pas si tu t'es amusé à configuré du RAID mais c'est mauvais signe ce genre d'erreur.
De plus, tu dis que tu as chiffré ton disque. Ce qui signifie que
mountseul ne suffit pas, il faut d'abord déchiffrer la partition. L'idée reste la même mais ça complexifie légèrement car il y a du LVM et de LUKS qui s'en mêlent. Et dans ton cas probablement du RAID en prime...
Méthode 1 : la plus simple
Tu réinstalles, tu oublies le chiffrement et le RAID sauf si tu sais ce que tu fais.
Méthode 2 : si tu as du courage
Partitionnement supposé (à adapter dans ton cas)
-
/dev/sda1
is/boot
-
/dev/sda5
is an encrypted with LUKS containing a LVM partition, where reside/
and the swap.
Étape 1 : Monter le système
sudo -s mkdir -p /mnt/linux cryptsetup luksOpen /dev/sda5 sda5_crypt # This creates /dev/mapper/sda5_crypt # Enter the LUKS password apt-get install lvm2 modprobe dm-mod vgchange -ay lvscan # À ce stade on devrait voir /dev/Ubuntu/{root, swap_1} ACTIVE
Maintenant on monte tout.
mount /dev/mapper/Ubuntu-root /mnt/linux mount /dev/sda1 /mnt/linux/boot mount --bind /dev /mnt/linux/dev chroot /mnt/linux mount -t proc proc /proc mount -t sysfs sys /sys mount -t devpts devpts /dev/pts /etc/init.d/lvm2 start /etc/init.d/lvm2-lvmetad start /etc/init.d/lvm2-lvmpolld start
De là on peut lancer
update-grub(ouf).
Étape 2 : Réparer
grub
On vérifie les paramètres de
cryptsetupen se basant sur ce tutoriel.
1) Vérifier que la ligne concernant
sda5est présente dans
/etc/crypttab(on peut ouvrir ce fichier avec
nano /etc/crypttab, ctrl x pour sauver et quitter).
Exemple : (attention, ces valeurs dépendent de ton système) :
sda5_crypt UUID=8af9859f-9922-4ed3-9f9b-bc31f0c9aeb4 none luks,retry=1,lvm=Ubuntu
storage_crypt UUID=f4e689ec-fda1-450e-8787-61c081c0bee7 none luks
2) Vérifier également
/etc/initramfs-tools/conf.d/cryptroot.
Exemple : (attention, ces valeurs dépendent de ton système) :
CRYPTROOT=target=sda5_crypt,source=/dev/disk/by-uuid/8af9859f-9922-4ed3-9f9b-bc31f0c9aeb4
3) Si tout est référencé, on peut alors lancer :
update-initramfs -k all -c
4) Maintenant, on contrôle
/etc/default/grub.
Exemple : (attention, ces valeurs dépendent de ton système) :
GRUB_CMDLINE_LINUX="cryptopts=target=sda5_crypt,source=/dev/disk/by-uuid/8af9859f-9922-4ed3-9f9b-bc31f0c9aeb4,lvm=Ubuntu"
5) Enfin, on réinstalle grub
update-grub
6) ... et on quitte proprement
/etc/init.d/lvm2 stop
/etc/init.d/lvm2-lvmetad stop
/etc/init.d/lvm2-lvmpolld stop
umount /sys
umount /proc
umount /dev/pts
exit
umount /mnt/linux/boot
umount /mnt/linux/dev
umount /mnt/linux
reboot
Bonne chance :-)