Contenu | Rechercher | Menus

rEFind

rEFInd est un utilitaire Open-source, fork de rEFIt qui crée une interface graphique de démarrage sur Macintel permettant d'installer une distribution Linux comme Ubuntu ou d'utiliser Bootcamp sans appuyer sur la touche option au démarrage.

Pré-requis

Installation

Avec windows.

La bonne idée est d'installer REFIND , de vérifier qu'il fonctionne en l'utilisant, puis virer éventuellement windows au dernier moment en demandant à ubuntu d'utiliser la partition C: lorsque la taille disque est insuffisante pour installer un dual boot (en prenant le choix "autre chose"?). .

Il est d'abord nécessaire de connaître la version disponible pour windows. puis de la télécharger puis il faut dézipper le fichier.

Ce Document explique assez bien comment faire l'installation

Lancer windows powerShell(admin) .

Frapper la commande suivante mountvol S: /S afin de disposer de la partition de boot.

Se positionner dans le répertoire qui a reçu le dézippage ci-dessus.

Par exemple, il peut être sous C:/Utilisateurs/xxxxxxxxx/Téléchargements/Refind-bin-0.11.2/Refind-bin-0.11.2 . On frappera donc les commandes suivantes:

  • cd C:
  • cd users
  • cd Le_nom_de_l'utilisateur
  • cd Downloads
  • cd refind*
  • cd refind* (Il y en a bien deux à faire à cause de l'exemple fourni ) afin d'être bien positionné pour commencer la copie qu'on fera avec la commande suivante::
  • xcopy /E refind S:\EFI\refind\ surtout ne pas oublier de terminer par un anti-slash

Allons donc dans le répertoire ESP via la commande cd S:\EFI\refind puis faire la commande dir pour lister le contenu.. Je propose de ne supprimer aucun driver.

Fabriquer le fichier de paramétrage en conservant l'exemple avec la commande copy refind.conf-sample refind.conf .

Afin de conserver le gestionnaire de démarrage de windows, créer un nouveau gestionnaire avec la commande suivante:

bcdedit /copy "{bootmgr}" /d "Refind " 

Cela va retourner un GUID qu'il faut copier et mettre à la place de celui indiqué dans la commande qui suit. Remplacer aussi XXX par X64 ou IA32 suivant l'environnement et l'exécuter:

bcdedit /set "{GUID}" path \EFI\Refind\Refind_XXX.EFI 

Vérifier que le boot via SG2D est bien opérationnel.

Cette commande doit mettre une entrée dans la NVRAM si le bios EFi est de qualité.

Booter pour vérifier que refind a bien mis en route. Brancher alors la clé USB. Demander à refind de se rafraîchir par la commande esc et demander à refind de sélectionner le fichier de boot de la clé USB (boot Fallback boot loader) puis faire l'installation. Au boot suivant, refind saura proposer ubuntu.

Version UBUNTU EFI 32 bits

Procédure en cours de réalisation. Cette version 32 bits est souvent nécessaire pour faire booter des ordinateurs récents de petits prix qui ont un bios efi en 32 bits mais qui sont capables d'exécuter des applications 64 bits. Cette procédure va considérer que l'installation se fait uniquement avec le support d'installation.

Version 17.10

wget http://ppa.launchpad.net/rodsmith/refind/ubuntu/dists/artful/main/binary-i386/Packages.gz 
gunzip -k Packages.gz  

⇒ Ce qui donne le fichier à aller chercher Filename: pool/main/r/refind/refind_0.11.2-0ppa1_i386.deb

wget http://ppa.launchpad.net/rodsmith/refind/ubuntu/pool/main/r/refind/refind_0.11.2-0ppa1_i386.deb
 sudo apt install ./refind_0.11.2-0ppa1_i386.deb
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Note : sélection de « refind:i386 » au lieu de « ./refind_0.11.2-0ppa1_i386.deb »
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation : 

Les paquets suivants contiennent des dépendances non satisfaites :
 refind:i386 : Dépend: openssl:i386 mais ne sera pas installé
               Dépend: parted:i386 mais ne sera pas installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
 

===⇒ https://bugs.launchpad.net/ubuntu/+source/refind/+bug/1729563

Version 16.04. Lunbuntu en 32 bits http://ppa.launchpad.net/rodsmith/refind/ubuntu/pool/main/r/refind/refind_0.11.2-0ppa1_i386.deb . http://ppa.launchpad.net/rodsmith/refind/ubuntu/pool/main/r/refind/refind_0.11.2-0ppa1_amd64.deb .

wget http://ppa.launchpad.net/rodsmith/refind/ubuntu/dists/xenial/main/binary-i386/

La suite montre que c'est le même fichier à utiliser et que cela s'installe sans difficulté. Le tout va être de le faire dans le vrai répertoire EFI qui n'existe pas du support USB au lieu de l'installer dans le fichier casper…… Donc une solution.

  1. Telécharger une version 32 bits et faites une clé USB avec vous outils habituels (unetbootin liliusbcreator).
  2. Booter avec la clé USB sur un ordinateur capable de booter normalement en legacy puisqu'on dispose d'une version non EFI.
  3. Choisir "essayer avant d'installer".
  4. Mettre le clavier en français avec la commande setxkbmap fr .
  5. Démonter le support d'installation avec la commande sudo umount -vlrf /cdrom .
  6. Identifier la partition de la clé USB via la commande sudo blkid | grep vfat (exemple /dev/sdd1) .
  7. Créer le répertoire de montage via la commande sudo mkdir /boot/efi .
  8. Monter la partition afin de pouvoir écrire dedans via la commande sudo mount -v /dev/sdd1 /boot/efi .
  9. Créer le répertoire absent via la commande sudo mkdir /boot/efi/EFI .
  10. Se positionner dans ce répertoire via la commande cd /boot/efi/EFI .
  11. Télécharger le fichier nécessaire via la commande sudo wget http://ppa.launchpad.net/rodsmith/refind/ubuntu/pool/main/r/refind/refind_0.11.2-0ppa1_i386.deb .
  12. Installer l'application via la commande sudo apt install ./refind_0.11.2-0ppa1_i386.deb .
  13. Vérifier que l'installation s'est bien passée via la commande ls -Rls .
  14. Modifier le fichier de configuration de refind pour lui dire d'utiliser les fichiers de boot en legacy via la commande sudo gedit ./BOOT/refind.conf ,??????? y mettre le paramètre scanfor biosexternal,internal,external,optical,manual
  15. Quitter le répertoire via la commande cd / .
  16. Démonter la partition via la commande sudo umount /dev/sdd1 .
  17. Arrêter l'ordinateur via la commande shutdown now .

Il ne vous reste plus qu'à aller sur l'ordinateur cible de l'installation et à booter avec cette clé puis faire l'installation.

Attention je crains un gros problème ; Je ne sais pas comment on va trouver comment lancer cette installation.
CONSTAT: Refind ne liste que les fichiers de terminaison EFI présents dans le répertoire EFI\BOOT des partitions ESP (le drapeau) des partitions présentes dans le support USB

Lorsque l'installation est finie, il ne reste plus qu'à dupliquer le contenu de ce répertoire EFI dans le répertoire EFI de la machine. Il existe un script. Juste le temps de le retrouver.

Version UBUNTU EFI 64 bits

C'est la version standard.

A partir d'une live-usb

  1. Telécharger une version 64 bits et faites une clé USB avec vous outils habituels (unetbootin liliusbcreator).
  2. Bootez et choisissez "essayer avant d'installer".
  3. Mettre le clavier en français avec la commande setxkbmap fr.
  4. Démonter la structure de boot qui contient celle de l'ordinateur installé car ce n'est pas lui qui doit recevoir refind mais la clé USB via la commande sudo umount -v /boot/efi .
  5. Démonter le support d'installation avec la commande sudo umount -vlrf /cdrom .
  6. Identifier la partition de la clé USB via la commande sudo blkid | grep vfat (exemple /dev/sdb1) .
  7. Monter la partition via la commande suivante sudo mount -v /dev/sdb1 /boot/efi .
  8. Se positionner sur la structure EFI via la commande suivante cd /boot/efi/EFI .
  9. Installer le paquet avec les commandes suivantes sudo apt-add-repository ppa:rodsmith/refind && sudo apt update && sudo apt install refind .
  10. Vérifier que le package est bien installé avec la commande sudo ls -Rlt /boot/efi/EFI
  11. Ecraser le fichier de boot existant avec la fichier de boot de refind avec la commande suivante sudo cp -v /boot/efi/EFI/refind/refind_x64.efi /boot/efi/EFI/boot/bootx64.efi .
  12. Quitter le répertoire via la commande cd / .
  13. Démonter la partition via la commande sudo umount /dev/sdb1 .
  14. Arrêter l'ordinateur via la commande shutdown now .

Il ne vous reste plus qu'à aller sur l'ordinateur cible de l'installation et à booter avec cette clé puis faire l'installation.

  1. Au moment du boot, vous aurez une liste de tous les fichiers EFI disponibles sur la machine.
  2. Vous choisirez le fichier EFI\refind\refind-x64.efi de la partition FAT qui a une taille identique à celle de de la clé USB.
  3. Vous aurez alors une liste de fichiers présentés très classiquement par leur icône.
  4. Vous choisirez le fichier EFI\BOOT\grubx64.efi de la partition FAT qui a taille identique à celle de de la clé USB.
  5. Vous aurez alors le menu classique qui vous permet le choix d'essayer ou d'installer. Lorsque vos essais seront faits et que votre installation sera terminée, il ne faut pas arrêter mais il faut continuer pour installer l'application refind sur votre ordinateur à partir de cette clé USB d'installation. Pour cela, il est nécessaire de faire les actions suivantes.
  6. Démonter la structure EFI afin de pouvoir rejouer ce scénario via la commande suivante sudo umount -v /boot/efi
  7. Revérifier où sont les partitions EFI de la clé USB et du (des) disque(s) dur(s) via la commande sudo blkid | grep vfat
  8. Monter la partition EFI de la clé usb dans le répertoire /mnt via la commande sudo mount -v /dev/sdb1 /mnt (c'est sdb1 dans l'exemple).
  9. Monter une partition EFI d'un disque dur dans le répertoire /boot/efi via la commande sudo mount -v /dev/sda2 /boot/efi (c'est sda2 dans l'exemple).
  10. Copier l'application de la clé USB dans la partition ESP via la commande sudo cp -Rv /mnt/EFI/refind /boot/efi/EFI .
  11. Fabriquer l'entrée de boot EFI via la commande sudo efibootmgr –create –disk /dev/sda –part 2 –label "REFIND" – loader "\EFI\refind\refind_-x64.efi" .
  12. Vérifier via la commande sudo efibootmgr -v .
  13. Arrêter l'ordinateur via la commande shutdown now .
  14. Débrancher la clé et rebooter normalement.
  15. Il ne vous reste plus qu'à paramétrer le fichier de configuration.

A partir d'une session installée

Il vous faut :

Dans le version très récentes d'Ubuntu refind se trouve dans les dépôts officiels Mais il ne dispose plus des applications tools.

Si votre navigateur vous joue des tours, il est possible d'utiliser les lignes de commandes suivantes

 sudo apt-add-repository ppa:rodsmith/refind 
 sudo apt-get update
 sudo apt-get install refind

Personnalisation.

Si vous lisez le contenu du fichier /boot/efi/EFI/refind/refind.conf, vous constaterez qu'il y a de quoi avoir un "headhache" car il n'est pas écrit en français. En tout début de fichier, vous verrez la commande permettant de définir le temps d'attente avant le lancement du boot du dernier OS utilisé.

 timeout 30 

Vous pouvez le modifier et vous pouvez aussi ajouter immédiatement après, quelques options telles que les suivantes:

small_icon_size 32
big_icon_size 64

Ces commandes permettent de réduire la taille des icônes si elles elles vous semblent trop grandes.

enable_mouse

Cette commande permet d'utiliser la souris, si vous en avez une ( il est annoncé que cela peut ne pas fonctionner si le bios EFI ne gère pas la souris).

 dont_scan_volumes "WindowsRecovery" 

Cette commande permet de ne pas afficher le contenu de la partition de windows recovery. Assurez-vous que le nom de cette partition est bien celle indiquée.

dont_scan_dirs ESP:/EFI/boot,EFI/Dell,EFI/memtest86

Cette commande permet de ne pas afficher les programmes présents dans les répertoires indiqués de la partition de boot. Il ne doit pas y avoir que Dell qui fournit des fichiers.

dont_scan_files shimx64.efi,MokManager.efi,fwupx64.efi,mmx64.efi,bootmgr.efi,bkpbootx64.efi,grubx64.efi,bootx64.efi,memtest.efi

Cette commande permet de ne pas afficher ces programmes s'ils sont présents dans les partitions fat32.

fold_linux_kernels false

Cette commande permet de lister tous vos anciens noyaux encore présents que votre OS a oublié de supprimer lorsqu'il en a installé un nouveau. Vous pouvez avoir une liste très importante qu'il vous sera possible de réduire en frappant la commande sudo apt autoremove .

Comme vous avez décidé de vous affranchir du grub, vous pouvez éviter qu'il recherche les OS et qu'il se mette à jour en frappant les deux commandes Suivantes

sudo chmod -x   /etc/grub.d/30_os-prober
sudo chmod -x  /usr/sbin/grub-install 

Puisque vous avez décidé de ne plus utiliser le grub, pensez que vos prochaines installations de ubuntu vont détruire le boot refind si vous ne faites rien. Pour éviter cette situation, la solution est de détruire ou renommer shimx64.efi directement dans le support d'installation. Ce fichier est stocké à l'adresse suivante: /pool/main/s/shim-signed/shim-signed_xxxxxxxxxxxxxxxxxxx_amd64.deb

Démarrage en mode RECOVERY.

L'option de démarrage en mode recovery n'existe pas de façon standard. Cependant il est possible de l'utiliser. Cela semble moins compliqué que d'ajouter une option au noyau lors de l'installation. Voici la procédure à faire:

  1. Sélectionner le noyau que vous souhaitez utiliser.
  2. Lire en bas de l'écran la liste des touches possibles à utiliser pour modifier le noyau. Personnellement je retiens F2.
  3. Appuyer sur la touche F2.
  4. Constater qu'on dispose d'une grille de choix.
  5. Choisir le démarrage normal.
  6. Appuyer de nouveau sur la touche F2.
  7. Constater que la ligne qui s'affiche commence par "ro blablabla…."
  8. Se positionner et modifier pour que la ligne devienne " ro recovery nomodeset blabla….."
  9. Se positionner tout à la fin de la ligne. Ne pas rester sur nomodeset car la modification ne sera pas prise en compte!
  10. Faire entrée pour lancer le boot.

Aux dernières nouvelles, le concepteur va livrer l'option recovery.

Liens externes



Le contenu de ce wiki est sous licence : CC BY-SA v3.0