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.
Chroot environment
Chroot is a method to restrict various tasks to a restricted area e.g. package installation and other system maintenance tasks. Follow the link to read more about chroot on the Arch wiki.
Identify system partitions
From the above we assume you have identified the relevant partitions on your system and this document will refer the partitions as follows. Partitions not needed for this kind of maintenance has intentionally been left out (e.g. home, swap).
Partition | Usage | Comment |
---|---|---|
/dev/sdyA |
EFI system | Required for EFI system and mounted on /boot/efi |
/dev/sdyB |
boot | Optional but mounted on /boot The primary use is when GRUB cannot write to / (eg. f2fs) |
/dev/sdyC |
root | Required and for the root filesystem and mounted on / - usually formatted using ext4 |
Use manjaro-chroot
Manjaro deploys a script called manjaro-chroot
takes an optional argument which will search the visible devices - scan the partitions for signs of an operating system. If more than one Linux operating system is found you will get a choice of which system to chroot otherwise the file /etc/fstab from the system is used to mount the partitions and chroot into this system.This script is only available in live iso by default but you can get it in an installed system by installing manjaro-tools-base
package.
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.