GRUB/Restaurer le programme de d'amorçage GRUB
Aperçu
Afin de charger le système d'exploitation, un chargeur d'amroçage compatible avec Linux, tel que GRUB, rEFInd ou Syslinux, doit être installé sur le Master Boot Record (MBR) ou le GUID Partition Table (GPT) du support contenant le système d'exploitation. Les installations créées à l'aide de Manjaro ISO utilisent par défaut GRUB.
Pour diverses raisons, il arrive que le chargeur de démarrage soit corrompu, effacé ou mal configuré, ce qui entraîne un écran noir avec un message d'échec au démarrage, du type No boot loaders found in /dev/.... Pour restaurer le fonctionnement du système sans réinstaller votre système d'exploitation ni perdre vos données, vous devez utiliser votre support d'installation Manjaro, tel qu'un CD/DVD ou une clé USB.
Préparation
Identifiez le type de système que vous tentez de sauver car les commandes impliquées sont légèrement différentes.
- Système BIOS/MBR/GPT
- Système EFI/GPT
Lancer le média d'installation de Manjaro
Identifier les partitions
Pour identifier vos partitions et leur utilisation prévue, vous devez exécuter un gestionnaire de partitions. Selon l'environnement, il existe différents outils. Les ISO basés sur GTK offrent GpartEd, les ISO basés sur QT offrent KParted et les outils CLI sont communs à tous.
.
Des informations plus complètes peuvent être trouvées en utilisant fdisk
. (nécessite le superutilisateur) et vous pouvez limiter le périphérique sondé, par exemple /dev/sda ou /dev/nvme0n1.
Les indices à rechercher sont mbr vs. gpt et la présence d'une petite partition - généralement la première - formatée avec le système de fichiers vfat suivie d'une plus grande partition formatée en ext4.
{{Important : ce document et son contenu ne doivent jamais être utilisés comme une ressource de copier/coller. Le reste de ce document utilisera des pseudo noms et une numérotation des partitions. Les périphériques seront désignés par /dev/sdy et les partitions par /dev/sdyA et vous devrez les remplacer par les valeurs réelles de votre système.}}
Utiliser le contexte root
Lorsque vous avez chargé l'ISO live - selon l'environnement - ouvrez un terminal et passez dans le contexte root. Utilisez la combinaison root:password mentionnée ci-dessus.
Environnement chroot
Chroot est une méthode pour restreindre diverses tâches à une zone restreinte, par exemple l'installation de paquets et d'autres tâches de maintenance du système. Suivez le [lien https://wiki.archlinux.org/index.php/Change_Root] pour en savoir plus sur le chroot sur le wiki Arch.
Identifier les partitions du système
De ce qui précède, nous supposons que vous avez identifié les partitions pertinentes sur votre système et ce document fera référence aux partitions comme suit. Les partitions non nécessaires pour ce type de maintenance ont été intentionnellement laissées de côté (par exemple, home, swap).
Partition ! ! Utilisation ! ! Commentaire | |||
---|---|---|---|
/dev/sdyA |
Système EFI | Requis pour le système EFI et monté sur /boot/efi. | |
/dev/sdyB |
Boot | Facultatif mais monté sur /boot/efi. | L'utilisation principale est lorsque GRUB ne peut pas écrire sur / (par exemple, f2). (ex. : f2fs) |
/dev/sdyC |
root | Obligatoire pour le système de fichiers racine et monté sur / - généralement formaté avec ext4. |
Utiliser manjaro-chroot
Manjaro déploie un script appelé manjaro-chroot
avec un argument optionnel qui va rechercher les périphériques visibles - scanner les partitions à la recherche de signes d'un système d'exploitation. Si plus d'un système d'exploitation Linux est trouvé, vous aurez le choix du système à chrooter, sinon le fichier /etc/fstab du système est utilisé pour monter les partitions et chrooter dans ce système. Ce script n'est disponible que dans l'iso live par défaut mais vous pouvez l'obtenir dans un système installé en installant le paquet manjaro-tools-base
.
Manual chroot
(Unnecessary if you have used manjaro-chroot
)
Mount the partitions using the designated temporary mountpoint and always start with root
Then - if applicable - mount boot
Then - if applicable - mount efi
Create the chroot environment and use bash as shell
Reinstall GRUB
One possible cause why you are reading this document - is an unfinished update - which in turn can be caused by several situations - situation we will not dive into. To fix what ever caused this you should run a full system update including grub to ensure everything is in place.
When the transaction as completed continue below using the section matching your system
BIOS System
On a BIOS/GPT system there is no MBR and therefore no place to store the loader. The GPT partition specification allows for an unformatted partition of the BIOS boot partition type (0xEF02). The size of this partition can be as small as 1 mebibyte. The Calamares installer uses a fixed size of 32 mebibyte. On a BIOS/MBR system a part of the bootloader is written to the Master Boot Record for the primary disk.
The device is the disk (not a partition)
Make sure the grub configuration is up-to-date
EFI System
Reinstall grub
Update the grub configuration
Verify the existance of an EFI system partition
Verify the efi filesystem is loaded
Exit chroot
Try loading the efi filesystem
Re-enter chroot
Then mount the efi filesystem
Verify the efi filesystem is loaded
If successfull re-run above installation commands
Troubleshooting
Arch Linux is not recognized
If Arch Linux wasn't recognized after an update-grub then probably your Arch installation is missing the package lsb-release.