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.

Réparateur de Démarrage

Boot-Repair est un logiciel libre (GNU-GPL).

Boot-Repair répare les problèmes de démarrage uniquement. Pas ceux d'affichage par exemple. Si vous ne savez pas quel type de problème vous avez, consultez la page diagnostic, et créez un rapport Boot-Info pour demander de l’aide sur le forum.
ATTENTION: Si votre ordinateur se plante en mode EMERGENCY en disant "il y a une erreur de fsck type error status 4", regarder l'état physique de votre disque et n'utilisez pas boot-repair.
Boot-repair ne sait pas reconstruire la structure de boot interne à windows qui doit se faire avec les outils windows (bcdedit /rebuild)
Si votre ordinateur est un ACER, il est fort probable que vous ayez oublié d'autoriser UBUNTU à booter. Ce n'est pas boot-repair qui le fera à votre place.

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 :

  1. Démarrer l’ordinateur sur le live CD (ou la liveUSB) Ubuntu ;
  2. Choisir Essayer Ubuntu;
  3. Si ce n'est pas déjà fait, connecter internet;
  4. 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

Démarrage

lancez le Réparateur de Démarrage

  • soit via le tableau de bord

Réparateur de Démarrage

  • 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

Réparateur de Démarrage

  • une fois la réparation finie, redémarrez, et vérifiez si vous avez à nouveau accès à vos systèmes

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.

22Septembre2017

  • 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:

Réparateur de Démarrage

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) :

Réparateur de Démarrage

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.

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 
La présence de ce fichier évite d'insérer manuellement des options classiques du grub pour son démarrage en les préparant. Un exemple de choix de paramétrage:
"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"
La codification est plus complexe si la partition contenant ubuntu est chiffrée. Il faut coder avec l'appel au logiciel de décodage crypt_root=

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.

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.

Options CLI

La liste complète et à jour des options accessibles en lignes de commandes, s'obtient en saisissant la commande:

man boot-repair

Il est par exemple possible de créer un rapport boot-info sans passer par l'interface graphique.

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.


Contributeurs principaux : YannUbuntu


  • boot-repair.1589387802.txt.gz
  • Dernière modification: Le 13/05/2020, 18:36
  • par YannUbuntu