Ceci est une ancienne révision du document !
Réparateur de Démarrage
Le Réparateur de Démarrage (Boot-Repair en anglais) est un petit outil qui propose :
- un bouton Réparation recommandée permettant de réparer la plupart des problèmes de démarrage (par exemple lorsque Ubuntu ne démarre plus suite à l'installation de Windows, lorsque le menu GRUB n’apparaît plus1) ou lorsque vous avez une erreur GRUB rescue> ou out-of-disk) ;
- un deuxième bouton permettant de créer un rapport Boot-Info en un clic (pour obtenir de l’aide via email ou forum) ;
- les options avancées permettant, entre autres, de :
- mettre à jour le menu de démarrage GRUB ;
- reconfigurer GRUB (ajouter des options de kernel, etc.) ;
- purger et réinstaller GRUB2 ;
- restaurer un MBR permettant de démarrer Windows en mode Legacy.
- répare aussi bien les PCs récents (UEFI) que les PCs anciens.
Boot-Repair est un logiciel libre (GNU-GPL).
Installation
Plusieurs possibilités :
Obtenir un disque avec Boot-Repair pré-installé
Par commodité, ou si votre PC en panne n’a pas de connexion internet, vous pouvez télécharger un disque avec Boot-Repair pré-installé, par exemple Boot-Repair-Disk (Live USB lançant automatiquement Boot-Repair au démarrage). Créez un liveUSB à partir de cette image ISO, puis démarrez votre ordinateur dessus.
Attention: si votre PC a Windows 8 ou 10 pré-installé, et/ou s'il démarre en mode EFI, ne gravez pas l'image sur DVD, mais sur clé USB via tout logiciel créant des clés compatibles EFI.
Installer Boot-Repair depuis une session live (DVD ou liveUSB) de Ubuntu
Si vous disposez d’un liveDVD (ou d'une liveUSB) de Ubuntu, et que votre PC en panne a une connexion internet, vous pouvez installer Boot-Repair temporairement :
- Choisir Essayer Ubuntu;
- Si ce n'est pas déjà fait, connecter internet;
- Dans tous les contextes, faire l'installation du logiciel:
Installation en une ligne de commande à passer dans un terminal (ne pas essayer de la taper ; utiliser le copier-coller) :sudo add-apt-repository -y ppa:yannubuntu/boot-repair && sudo apt update && sudo apt install -y boot-repair boot-info
Utilisation
Démarrage
lancez le Réparateur de Démarrage
- soit via le tableau de bord
- soit via le terminal de commande en tapant boot-repair
Créer un rapport Boot-Info
- cliquer sur Créer un rapport BootInfo, puis noter l’URL (adresse commençant par « http: » ) qui apparaît et indiquez cette URL sur une nouvelle discussion du forum ubuntu-fr en expliquant votre problème. Cela permettra aux personnes qui vous aident à déterminer si le souci que vous rencontrez est bien lié au démarrage, et le cas échéant si l'option "Réparation recommandée" de Boot-Repair est adaptée ou non.
Réparation standard
- cliquez sur Réparation recommandée
- une fois la réparation finie, redémarrez, et vérifiez si vous avez à nouveau accès à vos systèmes
Utilisation avancée
Le menu Options avancées propose de nombreuses options : sauvegarde de la table de partitions et du MBR sur clé USB, réinstallation de GRUB, réparation du système de fichier, restauration de MBR, etc. réparties dans plusieurs onglets.
Important : les paramètres par défaut sont ceux de la Réparation Recommandée. Les changer peut aggraver votre problème. Ne les modifiez pas sans avoir au minimum créé un rapport BootInfo et demandé des avis sur cette discussion.
Options principales
La grille des options principales est affichée pré-remplie avec certaines options.
- Reinstall GRUB
Cette option préremplie va réinstaller un grub. Certainement l'action la plus simple.
- Use the standard EFI file
Cette option préremplie va transférer les fichiers de boot de ubuntu dans les fichiers de boot officiels de l'EFI. Un certain nombre d'ordinateurs ont besoin de cette option.
- Back up and rename Windows EFI files
Cette option à choisir après réflexion, va dupliquer les fichiers de boot de ubuntu dans les fichiers de boot de microsoft. Quelques ordinateurs ont besoin de cette option.
- Unhide boot menu
Cette option permet de forcer l'affichage du menu GRUB. Certains ordinateurs ont besoin de cette option.
- Repair File systems
Cette option va examiner les partitions présentes dans l'ordinateur et les remettre en état. A n'utiliser qu'après avoir créé une copie de vos disques.
- Repair wubi file systems
Cette option permet de réparer l'accès à certains fichiers wubi.
Onglet 'Emplacement de GRUB'
La grille des options principales est affichée pré-remplie avec certaines options paramétrables par menu déroulant.
- Le système à booter par défaut. Si vous sélectionnez un Linux, Boot-Repair va installer son GRUB. Si vous sélectionnez Windows, Boot-Repair va installer GRUB et positionner Windows en choix par défaut.
- La partition de stockage du répertoire boot
Lorsque plusieurs partitions ext4 sont présentes, boot-repair informe de vérifier cette zone et de choisir ce qui convient le mieux. Il faut éviter autant que possible d'avoir une partition de boot séparée. Si elle est nécessaire, il est préférable d'en choisir une stockée sur le même disque. Si possible, celle qui était initialement prévue pour cet O.S.
- La partition de stockage du répertoire boot EFI
Lorsque plusieurs partitions fat32 ou autres partitions ayant le drapeau ESP sont présentes, il est préférable d'en choisir une stockée sur le même disque. Notons que les partitions formatée en EXT4 ayant le bon drapeau sont sélectionnables mais que l'installation se plantera.
Si vous n'avez pas sélectionné l'option /boot/efi et que vous disposez de plusieurs disques, vous verrez les options suivantes:
Onglet 'Options de GRUB'
Les options sont affichées ou non, sélectionnables ou pas, en fonction de votre système, et notamment la nature du bios (EFI ou LEGACY).
- SecureBoot
Il est maintenant possible de ne pas installer un boot securisé. Un certain nombre d'ordinateurs bloquaient au moment de cette installation. Il faudra certainement un peu de recul pour voir l'efficacité de cette nouveauté.
- Purge GRUB before reinstalling it
Cette option permet de complètement purger les paquets de GRUB, ce qui est nécessaire dans certains cas. Provoque l'ouverture d'une grille demandant de copier quelques commandes, d'ouvrir un autre terminal et de les exécuter.
La grille peut ressembler à ceci
Ou à cela
Selon l'état de votre système, certaines commandes peuvent générer des erreurs. Ce n'est pas obligatoirement gênant à ce stade.
Après validation de la suppression, une nouvelle grille s'affiche et demande de copier une commande et de l'exécuter dans le terminal déjà ouvert.
Il est totalement possible d'ajouter des options ( –no-nvram) à cette commande. Il est aussi possible de faire exécuter des commandes supplémentaires C'est probablement la fin des réparations en mode chroot.
- Upgrade GRUB to its most recent version
Si sélection de cette option, un message d'avertissement apparaît. "Warning: this will install necessary packages from Ubuntu-20.10 repositories. Please backup your data before this operation.
- Reset extra space after MBR
Cette option n'est évidemment pas disponible en mode EFI. Elle est destinée à éliminer des boots 'pirate' qui s'installent de façon non standard.
- Uncomment GRUB_GFXMODE
Force la résolution d'affichage du fichier de choix du boot des O.S. en 640x480. Nécessaire pour afficher GRUB sur certains systèmes.
- ATA disk support
- Add a kernel option
Permet d'ajouter des options prédéfinies dans la liste déroulante dans le boot du grub.
Il est possible d'ajouter une option non prévue dans cette liste, via le bouton 'Modifier le fichier de configuration de GRUB' qui se trouve en bas de l'onglet.
- Purge kernels and reinstall last kernel
Cochée par défaut dans certaines situations. Permet de réinstaller le dernier noyau de ubuntu en éliminant auparavant tous les noyaux existants dans le UBUNTU sélectionné. Elle peut s'utiliser lorsque le démarrage du grub se plante dans le traitement du fichier initramfs car il sera reconstruit. Opération risquée, il semble préférable de la désactiver en première intention.
A utiliser lorsque le contenu du répertoire /boot semble incorrect. Aussi utilisable si ce répertoire n'existe plus. Il sera alors refabriqué.
A noter que cette option vous demandera d'exécuter un paquet de commandes dans un terminal pour faire l'épuration puis un autre pour installer le logiciel puis elle continuera sur la génération du fichier /boot/grub/grub.cfg.
Devrait aussi fonctionner si, par accident, tous les noyaux ont été supprimés.
NOTA: Les seules options ajoutables au noyau sont:
- nomodeset
- acpi=off
- acpi_osi=
- edd=on
- i815modeset=1
- i915modeset=0
- i915modeset=0 xforcevesa
- noapic
- nodmraid
- nolapic
- nomodeset radeon mode=0
- nomodeset radeon mode=1
- rootdelay=90
- vga=771
- xforcevesa
'Options de MBR' pour le boot non EFI (Legacy)
Cet onglet est inaccessible si vous avez coché l'option /boot/efi.
Restauration d’un MBR Windows (pour démarrer directement sur Windows) :
Options diverses
La grille des options diverses est affichée avec toutes les options validées. Elles peuvent toutes être invalidées.
- Repair windows boot-files
Cette action est utile pour certains systèmes Windows, et sans effet pour les autres.
- Create a boot-info summary
Crée un rapport boot-info suite à la réparation.
- Upload the report to a pastbin
Il est aussi possible de faire un copier/coller de ce qui est affiché à l'écran directement dans la discussion ubuntu à condition de ne pas oublier de faire la mise en forme.
- Participe to statistics of use
- chech internet connection
A décocher si jamais vous avez connecté internet mais que Boot-Repair ne le détecte pas.
Remplacer grub par Refind
La grille présente au paragraphe 3.3 montre comment purger grub et le réinstaller. Le fonctionnement est fait en deux séquences qui donnent la main à l'utilisateur, la première pour purger, la seconde pour réinstaller. Nous allons utiliser cette fonctionnalité pour purger et installer rEFInd
Environnement
Nécessité de booter en technique EFI.
Le mode secure du EFI doit être déactivé: Il est très compliqué d'installer un refind sécurisé qui refuse d'utiliser le logiciel windows pour se certifier auprès des ordinateurs EFI. La séquence de certification existe. Elle est complexe.
Les logiciels libres doivent être installés dans des partitions EXT4. Le pilote BTRFS existe mais il faut l'ajouter. Le pilote ZFS n' existe pas.
Les motivations
La principale raison est certainement le fait que certains ordinateurs refusent que leur NVRAM soit modifiée: L'installation du grub est alors plantée. L'installation de ubuntu se termine sans aucun moyen de l'utiliser. Il est nécessaire d'utiliser des moyens manuels pour fabriquer un structure de boot. Il est actuellement encore impossible d'utiliser boot-repair car il s'appuie pour l'essentiel sur la même séquence d'installation.
Lorsque plusieurs logiciels libres sont installés dans le même ordinateur, ils veulent tous être responsable du démarrage. L'utilisateur doit bien maîtriser: Utiliser une autre façon de booter résout ce problème de hiérarchie.
Le choix des logiciels proposés au boot par refind est exactement ce qui est présent dans l'ordinateur. Il n'y a aucun travail de préparation en amont. Le choix de boot est possible en utilisant la souris et même le doigt si présence d'écran tactile. L'ajout d'une photo d'arrière-plan est facile.
Le logiciel de refind est intégralement dans la partition de boot EFI. Il n'y a donc aucun risque qu'il en manque un morceau. Cela arrive avec le grub si la partition contenant le second morceau n'est pas disponible souvent suite à une suppression non maîtrisée d'une partition.
Installation.
Après avoir lancé l'application boot-repair et choisi "options avancées", il faut remplir la grille présentée au chapitre 3.1
Valider seulement la case réinstaller grub. Décocher les autres options et ouvrir l'onglet emplacement de grub.
Il est nécessaire de sélectionner le UBUNTU retenu, l'éventuelle partition de boot qui est présente notamment dans les cas d'installation chiffrée et la partition EFI qui sera appelée par la suite ESP-N puis il faut ouvrir l'onglet option de grub.
Cocher la case purger le grub avant de le réinstaller si elle ne l'est pas . Cliquer sur "appliquer". Le logiciel va inspecter ce qui est présent et fournir une liste de commandes à exécuter.
Ouvrer un terminal et exécuter-les. A titre d'exemple, voici la première et la dernière de la liste.
sudo chroot "/mnt/boot-sav/sdaNN" dpkg --configure -a sudo chroot "/mnt/boot-sav/sdaNN" apt-get purge -y grub*-common shim-signed
à condition que l'installation du grub ne pas soit bloquée!
Il est possible d'en profiter pour mettre à jour le logiciel en cas d'installation incomplète.
sudo chroot "/mnt/boot-sav/sdaNN" apt update sudo chroot "/mnt/boot-sav/sdaNN" apt upgrade
Lorsque ces commandes sont exécutées, il est nécessaire de persévérer avec la commande suivante:
sudo chroot "/mnt/boot-sav/sdaNN" apt install refind
Le téléchargement va se faire. Une grille va s'ouvrir. Le texte est en français. C'est prépositionné sur OUI. Il suffit d'accepter en validant. Refind est alors installé. Il est quasiment opérationnel. Cependant, il y a un bug lié à la technique "chroot" utilisée: Les deux premières lignes du fichier de paramétrage ne sont pas bonnes.
"Boot with standard options" "file=/cdrom/preseed/ubuntu.seed maybe-ubiquity quiet splash ---" "Boot to single-user mode" "file=/cdrom/preseed/ubuntu.seed maybe-ubiquity quiet splash --- single" "Boot with minimal options" "ro root=UUID=18b28382-0ec9-4bea-a0b3-24729bd90810"
Il faudrait penser à booter en choisissant la troisième ligne qui est bonne par appui sur la touche F2. Le plus simple est de supprimer les deux premières car ne pas avoir les options "quiet splash" au démarrage est un plus pour les premiers suivis, en revanche ne pas avoir les options "recovery nomodeset" est un point négatif. La commande suivante peut être faite pour éliminer le risque d'oubli.
sudo chroot "/mnt/boot-sav/sdaNN" sed -i '1,2d'/boot/refind_linux.conf
"booter en standard" "ro root=UUID=18b28382-0ec9-4bea-a0b3-24729bd90810 quiet slash fsck.mode=force" "booter en recovery" "recovery root=UUID=18b28382-0ec9-4bea-a0b3-24729bd90810" nomodeset fsck.mode=force fsck.repair=yes"
Le logiciel grub n'ayant plus besoin d'être utilisé, on va déactiver son utilisation .
sudo chroot "/mnt/boot-sav/sdaNN" chmod -x /etc/grub.d/30_os-prober sudo chroot "/mnt/boot-sav/sdaNN" chmod -x /usr/sbin/grub-install sudo chroot "/mnt/boot-sav/sdaNN" chmod -x /etc/kernel/postinst.d/zz-update-grub
Voila, c'est quasiment terminé pour l'installation. Il faut stopper boot-repair et ne pas lui dire de continuer ou de reculer. Dans les deux contextes, il réinstallerait le logiciel shim-signed! La solution est d'appuyer sur les touches Ctrl C Nous restons alors dans une live session afin de faire la prise en compte de la structure de boot.
Activation standard
Beaucoup d'ordinateurs standards permettent alors de choisir refind comme logiciel de boot et de le mettre prioritaire. C'est souvent par l'appui sur les touches F9 …. F12.
Certains ordinateurs (moins sécurisés?) permettent de mettre directement à jour la NVRAM en ligne de commande. Au moment de la mise en route de boot-repair nous avons sélectionné la partition de boot retenue pour installer l'EFI. C'est le moment de s'en souvenir pour exécuter la commande suivante pour mettre à jour la NVRAM:
sudo efibootmgr --create --disk /dev/ESP --part N --label "BootRepair" --loader "\EFI\refind\refind_x64.efi"
- Si la réponse est obtenue en quelques secondes, la commande a fonctionné. Refind est souvent prioritaire. Sinon il faut le faire manuellement.
- Si la réponse se fait attendre, il est possible d'attendre au moins 30 minutes. Dans ce contexte, la réponse sera explicite et dira que la NVRAM est interdite de modification. Si manque de patience, il est possible d'interrompre le process en frappant les caractères Ctrl C. Dans les deux cas, il faudra continuer en faisant tout ce qui décrit ci-après. Cela devrait faire gagner du temps.
Activation complémentaire pour EFI standard
Certains ordinateurs savent reconnaître une structure officielle de boot du logiciel Linux. Il est très rare que cette structure soit déjà présente. Nous allons la créer et prévoir quelques entrées standards. Il est nécessaire de "monter" la partition de boot que boot-repair a créée et d'y transférer la structure.
sudo mkdir -v /Repair sudo mount -v /dev/ESP-N /Repair sudo mkdir -v /Repair/EFI/Linux sudo cp -Rv /Repair/EFI/refind/* /Repair/EFI/Linux sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Linux/bootx64.efi sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Linux/grubx64.efi
Beaucoup d'ordinateurs savent reconnaître une structure officielle de boot identique à celle d'un support USB. Cette structure est déjà présente. Nous allons prévoir quelques entrées standards. La partition de boot est déjà montée. Peut-être faut-il sauver l'ancienne structure?
sudo cp -Rv /Repair/EFI/refind/* /Repair/EFI/Boot sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Boot/bootx64.efi sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Boot/grubx64.efi
installation complémentaire EFI Microsoft
Malheureusement, certains ordinateurs ne savent booter que grâce à la présence de windows.
- Si windows est encore présent, la solution la plus simple est certainement de lui demander de booter refind. Il est nécessaire de le lancer, de lancer le logiciel Windows PowerShell en mode administratif et de frapper la commande suivante sans se tromper dans le nom du fichier. Sinon, windows ne reboote pas. Suivant les versions de windows, la codification peut varier.
bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
Si refus d'utiliser la technique bcddedit, il est possible de demander à refind de se substituer au lanceur de microsoft en sauvant ce lanceur. Cependant, refind ne le proposera pas au boot.Il faudra faire une entrée manuelle. Voir la documentation refind.
- Si windows a été éliminé, il est nécessaire de refabriquer sa structure de boot et d'y transférer refind. Les commande seront
sudo mkdir -pv /Repair/EFI/Microsoft/Boot sudo cp -Rv /Repair/EFI/refind/* /Repair/EFI/Microsoft/Boot sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Microsoft/Boot/bootx64.efi sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Microsoft/Boot/grubx64.efi sudo cp -v /Repair/EFI/refind/refind_x64.efi /Repair/EFI/Microsoft/Boot/bootmgfw.efi
Conclusion.
Espérons que ce chapitre ne contienne pas trop d'erreurs et qu'il sera utile et se simplifiera au fil du temps.
Installation de la structure de boot EFI en lignes de commandes.
Il est nécessaire de booter avec la live USB de votre support d'installation. Vous choisissez d'essayer avant d'installer. Passez en mode terminal en frappant les caractères Ctrl Alt t Si votre clavier n'écrit pas en français, frapper les caractères suivants
setxkbmap fr
Il est nécessaire de connaître la partition qui contient la racine / (root) et la partition EFI. Il est probable que le boot-info vous les ait données. Sinon les commandes suivantes
sudo blkid | grep -Ei "ext4|vfat"
sudo parted -l | grep -Ei "ext4|fat32"
peuvent vous aider à les identifier. Dans la suite de cette réparation elle seront appelées SLASH (Cela sera par exemple sda7 ou mmcblkNp2). et EFI (Cela sera par exemple sda1 ou mmcblkNp1). Ces mots devront être remplacés par les vraies valeurs.
Il est maintenant nécessaire de préparer le grand saut dans la partition installée, Les commandes suivantes sont à faire.
sudo mount -v /dev/SLASH /mnt
sudo mount --bind /dev /mnt/dev
sudo mount -t proc /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo mount --bind /sys /mnt/sys
modprobe efivars
sudo mount --bind /run/resolvconf /mnt/run/resolvconf
sudo chroot /mnt
Vous êtes maintenant dans la session installée, Vous allez réparer le boot EFI avec les commandes suivantes:
mount -t devpts devpts /dev/pts
mkdir -p /boot/efi
mount -v /dev/EFI /boot/efi
Commande spécifique pour ordinateurs ayant un bios fonctionnant en 64 bits
grub-install
Commandes spécifiques pour ordinateurs ayant un bios fonctionnant en 32 bits
apt update
apt install grub-efi-ia32 grub-efi-ia32-bin
grub-install -v --target=i386-efi --efi-directory=/boot/efi
Maintenant, on finit le traitement:
update-grub
exit
shutdown -P now
Lorsque l'ordinateur a booté, il faut ajouter la ligne suivante au fichier /etc/fstab afin que les futures commandes grub-install se passent bien.
UUID=XXXX-XXXX /boot/efi vfat umask=0077 0 1
La valeur XXXX-YYYY étant à remplacer par ce qui aura été trouvé au retour de la commande en pensant à remplacer EFI par la bonne valeur
sudo blkid | grep EFI
Si, malgré toutes vos tentatives, la réparation n'a pas fonctionné, le forum est là pour vous aider.
Quelques options de boot-repair
Mode bavard
Il est possible de suivre l'évolution du fonctionnement de boot-repair en ouvrant un autre terminal et en suivant la fabrication du fichier d'audit avec cette commande
sudo boot-repair --verbose
Désinstallation
Pour supprimer cette application, il suffit de supprimer le paquet boot-repair. Si vous utilisez souvent Boot-Repair sur une session installée, vous pouvez supprimer le dossier de log /var/log/boot-repair en mode administrateur.
Voir aussi
- (fr) Site officiel
- (fr) Discussion "Boot-Repair : Réparer le démarrage du PC (GRUB, MBR) en 1 clic !" sur le forum Ubuntu-fr : pour toute remarque/question, etc.
Contributeurs principaux : YannUbuntu