Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
utilisateurs:frombenny:grub-usb [Le 03/06/2019, 23:19] frombenny créée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>boot tutoriel}} | ||
- | |||
- | ---- | ||
- | <note>Cette page est un tutoriel Grub2 dont la documentation principale est disponible sur les pages [[:grub-pc]] et [[:grub-uefi]].</note> | ||
- | |||
- | ====== GRUB sur une clé USB ====== | ||
- | |||
- | Le but de ce tutoriel est de créer un **Grub sur une clé USB bootable**. On pourra ainsi lancer des isos directement comme indiqué [[:tutoriel/grub2_lancer_des_images_iso|ici]]. | ||
- | |||
- | Dans ce tutoriel, le parti pris est d'utiliser des partitions en FAT32 pour qu'on puisse y avoir accès, aussi, depuis MS Windows. | ||
- | |||
- | ===== Pré-requis===== | ||
- | * Savoir si votre système boote en **mode uefi ou non**. <code>[ -d /sys/firmware/efi ] && echo "- - Session EFI - -" || echo "Session non-EFI"</code> | ||
- | * Avoir une clé USB d'**au moins 4 Go** (Attention, tout son contenu sera effacé !). | ||
- | * **Repérer son nom**.<code>sudo blkid</code> | ||
- | * Être **lancé sur une variante Ubuntu contenant [[:gparted]]** (ce n'est pas le même logiciel ni sur [[:Kubuntu]] ni sur [[:Lubuntu]]). | ||
- | * Avoir **à disposition un fichier iso** d'une des variantes Ubuntu. | ||
- | |||
- | La procédure pour faire la même chose depuis Windows n'est pas traitée ici. | ||
- | |||
- | ===== Pour un démarrage en mode "EFI" (ordinateurs récents) ===== | ||
- | ==== Partitionner la clé avec gparted ==== | ||
- | * **Se positionner** sur le bon disque (ici sdc),{{ :aller_sur_le_bon_device.jpg?direct&200 |cliquer sur la liste des périphériques dans gparted}} | ||
- | * Si une ou plusieurs **partitions** sont montées, la/les **démonter** par clic droit, | ||
- | * Créer une **nouvelle table de partitions** (remet la clé à zéro),{{ ::creer_une_table_de_partition.jpg?direct&250 |dans le menu "Périphérique" de gparted}} | ||
- | * **Créer 2 partitions** de type "FAT32" : | ||
- | * une de 64 Mo avec pour étiquette : **EFI-USB** (8 Mo minimum) | ||
- | * une avec l'espace restant, étiquette : **GRUB-SOS** | ||
- | |||
- | ==== Ce qu'il faut mettre sur EFI-USB ==== | ||
- | * **Fermer gparted** pour le moment, | ||
- | * **Ouvrir** la partition **EFI-USB** dans le gestionnaire de fichiers (objectif: que la partition soit montée) | ||
- | * Là où on a un **fichier iso** d'installation d'une variante Ubuntu, on l'**ouvre avec le gestionnaire d'archives** (par clic-droit) | ||
- | * On **extrait** les dossiers **"EFI"** et **"boot"** vers la partition EFI-USB | ||
- | {{ ::iso_de_xubuntu.jpg?direct&400 |}} | ||
- | | ||
- | ==== Fichiers de configuration ==== | ||
- | On utilisera **2 fichiers de configuration** : | ||
- | * sur **GRUB-SOS** : on copie le fichier **grub.cfg issu de l'iso xubuntu** dans un dossier /boot/grub. On en profite pour copier la **police par défaut** (certains grub cherchent font.pf2 d'autres unicode.pf2).<code>cd /media/$USER/GRUB-SOS/ | ||
- | mkdir boot && mkdir boot/grub | ||
- | cd boot/grub | ||
- | cp /media/$USER/EFI-USB/boot/grub/grub.cfg . | ||
- | cp /media/$USER/EFI-USB/boot/grub/font.pf2 . | ||
- | cp font.pf2 unicode.pf2</code> | ||
- | * sur **EFI-USB** : comme on n'aura plus accès à la partition lorsqu'elle sera bootable, on remplacera le contenu de /media/$USER/EFI-USB/**grub.cfg** par celui-ci qui **renvoie vers la partition GRUB-SOS** :<file txt grub.cfg>search.fs_label GRUB-SOS root | ||
- | set prefix=($root)'/boot/grub' | ||
- | configfile $prefix/grub.cfg</file> | ||
- | |||
- | ==== rendre bootable la partition EFI-USB ==== | ||
- | On relancera **[[:gparted]]** et par **clic-droit sur** la partition **EFI-USB**, on lui attribuera les **drapeaux "esp" et "boot"**. La clé est prête. A vous de modifier le fichier grub.cfg de GRUB-SOS pour lancer ce que vous souhaitez avec. | ||
- | |||
- | ===== Pour un démarrage en mode "legacy" (ordinateurs anciens) ===== | ||
- | ==== Partitionner la clé avec gparted ==== | ||
- | * Bien se **positionner** sur le bon disque (ici sdc), | ||
- | * Si une ou plusieurs **partitions** sont montées, la/les **démonter** par clic droit, | ||
- | * Créer une **nouvelle table de partitions** "msdos" (remet la clé à zéro) | ||
- | * Créer **1 partition** de type **"FAT32"** sur la totalité de la clé avec pour étiquette : **GRUB-LEGACY**. | ||
- | |||
- | ==== Ce qu'il faut mettre sur cette partition ==== | ||
- | * il faut d'abord être lancé sur un **système non-EFI**.<code>[ -d /sys/firmware/efi ] && echo "- - Session EFI - -" || echo "Session non-EFI"</code> | ||
- | * **ouvrir** la clé dans un gestionnaire de fichiers (objectif: que la partition soit montée), | ||
- | * **copier le dossier boot** du système sur lequel on est car il fonctionne :<code>mkdir /media/$USER/GRUB-LEGACY/boot | ||
- | cp /boot/grub /media/$USER/GRUB-LEGACY/boot/</code> | ||
- | |||
- | ==== Installer le grub dans le MBR pour rendre la clé bootable ==== | ||
- | * **vérifier** le nom de la clé (ici:sdc) :<code>sudo blkid</code> | ||
- | * la commande qui met **grub dans le MBR** :<code>sudo grub-install --root-directory=/media/$USER/GRUB-LEGACY /dev/sdc</code> | ||
- | * maintenant, modifiez le fichier /boot/grub/grub.cfg à votre guise. | ||
- | |||
- | ===== Personnaliser le menu Grub ===== | ||
- | ==== Préalable pour le menu en français ==== | ||
- | Dans le gestionnaire de fichiers, vous pouvez faire un copier/coller d'un dossier "locale" présent dans un /boot/grub d'un linux installé pour le mettre dans votre /boot/grub. Les paramètres 'locale_dir' et 'lang' permettront de l'activer dans le grub.cfg. | ||
- | |||
- | ==== Pour le thème utilisé dans l'exemple ==== | ||
- | Dans le grub.cfg exemple, le thème utilisé provient de [[https://www.gnome-look.org/p/1160963/|cette page]]. | ||
- | |||
- | ==== Exemple de fichier grub.cfg avec un thème ==== | ||
- | Comme les fichiers grub.cfg en service sont complexes à comprendre, voici un exemple pour un Grub sur clé USB : | ||
- | <file txt grub.cfg>insmod part_gpt | ||
- | insmod part_msdos | ||
- | insmod fat | ||
- | #insmod all_video | ||
- | insmod efi_gop | ||
- | insmod efi_uga | ||
- | insmod video_bochs | ||
- | insmod video_cirrus | ||
- | insmod gfxterm | ||
- | set gfxmode=1920x1080 | ||
- | set locale_dir=/boot/grub/locale | ||
- | set lang=fr_FR | ||
- | insmod gettext | ||
- | terminal_output gfxterm | ||
- | insmod gfxmenu | ||
- | loadfont /boot/grub/unicode.pf2 | ||
- | loadfont /boot/grub/themes/Crunchy-simple/ComicNeue_normal.pf2 | ||
- | loadfont /boot/grub/themes/Crunchy-simple/ComicNeue_title.pf2 | ||
- | set theme=/boot/grub/themes/Crunchy-simple/theme-fog.txt | ||
- | export theme | ||
- | insmod jpeg | ||
- | |||
- | menuentry ".. Xubuntu Disco 19.04 fr" { | ||
- | iso_path="/xubuntu-19.04-desktop-amd64.iso" | ||
- | loopback loop $iso_path | ||
- | linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/xubuntu.seed noprompt quiet splash -- | ||
- | initrd (loop)/casper/initrd | ||
- | }</file> | ||
- | |||
- | ===== Booter sur cette nouvelle clé ===== | ||
- | Selon le **BIOS** de votre ordinateur, vous avez peut-être une touche (F7, F11,..) pour **choisir le média de démarrage** ? | ||
- | |||
- | Sinon, il faut aller **dans le BIOS** (accès souvent avec touche Echap ou F2 selon les ordinateurs) pour changer l'**ordre de démarrage** des disques. | ||
- | |||
- | Sur certains BIOS, dans le dernier onglet, on a la liste des supports et on peut aller dessus et valider avec la touche entrée. | ||