GRUB (Français)

Grub (GRand Unified Bootloader), anciennement Grub2 est dérivé de PUPA qui était un projet de recherche pour étudier la prochaine génération de GRUB. Il a été réécrit à partir de 0 afin d'offrir modularité et portabilité.

Brièvement, le bootloader est le premier logiciel qui s'exécute lorsque l'ordinateur démarre. Il est responsable du chargement et du transfert de contrôle au noyau. Ce dernier initialise le reste du système d'exploitation. Le nom GRUB fait officiellement référence à la version 2 du logiciel. Voir Page Grub GNU. Si vous cherchez l'article sur la version héritée, consultez GRUB Legacy.

GRUB dispose de quelques limitations spécifiques au système de fichier racine:

Si votre partition racine se trouve sur un système de fichiers non pris en charge, vous devez créer une partition séparée /boot avec un système de fichiers pris en charge. Dans certains cas, la version de développement de GRUB possède une prise en charge native.

Notes pour les utilisateurs actuels de GRUB Legacy

  • Il y a des différences dans les commandes de GRUB Legacy et GRUB. (Commandes de GRUB)
  • Grub est modulaire. En conséquence, le bootloader est lui-même limité - les modules sont chargés depuis le disque dur si nécessaire pour étendre les fonctionnalités (LVM ou RAID par exemple).
  • Les disques sont toujours numérotés à partir de 0, alors que les partitions sont numérotées à partir de 1 au lieu de 0 et sont préfixées du type de table de partitions. Par exemple, serait appelée (MBR) ou (hd0,gpt1) (GPT).

Installation

Vous pouvez installer le paquet avec Pacman.

pacman -Syu grub

Si vous utilisez LVM, RAID, une méthode de chiffrage ou tout autre système faisant appel au module , pensez à le charger (si ce n'est déjà fait) :

modprobe dm-mod

Instructions spécifiques concernant les tables de partitionnement GPT(GUID Partition Table)

Sur une configuration Bios/a mebibyte partition, une partition de démarrage du BIOS est requise. GRUB intègre son core.img dans cette partition.

Créez une partition de 1Mib (+ 1M avec fdisk ou gdisk) sur le disque sans système de fichiers et avec le type Biosboot. Sélectionnez BIOS boot et le type de partition numéro 4 pour fdisk, ef02 pour gdisk et bios_grub pour parted. Cette partition peut être dans n'importe quel ordre de position mais doit être sur les 2 premiers TiB du disque. Cette partition doit être créée avant l'installation de GRUB. Lorsque la partition est prête, installez le chargeur d'amorçage selon les instructions ci-dessous.

Si vous utilisez un schéma de partitionnement GPT, il est recommandé de créer une partition au début du disque avec pour type bios_grub () (), exemple :

parted /dev/disk set partition-number bios_grub on

Instructions spécifiques concernant les Master Boot Record (MBR)

L'espace post-MBR (après la région MBR de 512 octets et avant le début de la première partition) dans de nombreux systèmes partitionnés MBR (en) (ou «msdos») est de 31 KiB lorsque les problèmes d'alignement de cylindre de compatibilité DOS sont satisfaits dans la table de partition. Cependant, un écart après MBR d'environ 1 à 2 MiB est recommandé pour fournir suffisamment de place pour intégrer le core.img de GRUB (FS#24103). Il est conseillé d'utiliser un outil de partitionnement qui gère l'alignement de partition de 1 Mo pour obtenir cet espace.

Recommendations de partitionnement

(Source)

Que ce soit en partitionnement GPT ou en MBR, assurez vous que la première partition commence au minimum à partir du secteur 63 (31Ko), par exemple pour un partitionnement MBR :

Mise en place

Pour l'installer sur le disque  :

grub-install --target=i386-pc --no-floppy --recheck /dev/sda

Vous pouvez éventuellement juste générer un fichier core.img qui permet de chaîner depuis un GRUB Legacy :

grub-install --target=i386-pc --grub-setup=/bin/true --no-floppy --recheck /dev/sda

Il faudra passer à grub 0.x.

Vérifiez si vous avez GPT et un ESP

Une partition EFI System (ESP) est nécessaire sur chaque disque que vous souhaitez démarrer à l'aide d'EFI. GPT n'est pas strictement nécessaire, mais il est fortement recommandé et est la seule méthode actuellement prise en charge dans cet article. Si vous installez Arch Linux sur un ordinateur compatible EFI avec un système d'exploitation déjà opérationnel, comme Windows 8, par exemple, il est très probable que vous possédez déjà un ESP. Pour vérifier le GPT et pour un ESP, utilisez l'option partitionner en tant que root pour imprimer la table de partition du disque à partir duquel vous souhaitez démarrer.

# parted /dev/sdx print

Pour GPT, recherchez une table de partition gpt. Pour EFI, recherchez une petite partition (512 MiB ou moins) avec un système de fichiers vfat/fat32 et l'option "boot" activé, il devrait y avoir un répertoire nommé "EFI". Si ces critères sont respectés, c'est votre ESP. Notez le numéro de la partition. Vous devrez pouvoir l'identifiee, afin que vous puissiez le monter plus tard lors de l'installation de GRUB.

Tables de partition GPT

Au choix:

  • Utiliser GNU Parted/GParted: créer une partition FAT32. Activer l'option d'amorçage (boot flag) sur cette partition.
  • Utiliser GPT fdisk (aka gdisk): créer une partition avec gdisk de type "EF00". Puis formater cette partition en FAT32 en utilisant
Note: Modifier l'option d'amorçage avec parted d'une partition MBR la marque comme partition active, tandis que la même l'option d'amorçage d'une partition GPT la définit comme "partition système UEFI".
Tables de partition MBR

Deux possibilités:

  • Utiliser GNU Parted/GParted: créer une partition FAT32. Changer le code type de cette partition à 0xEF en utilisant fdisk, cfdisk ou sfdisk.
  • Utiliser fdisk: créer une partition de type 0xEF et la formater en FAT32 avec

x86_64 ou i386

Par la suite, on suppose que vous avez un EFI x86_64, dans le cas contraire, il suffit de remplacer par dans les commandes ci-dessous.

Mise en place

Installez les paquets (si ce n'est déjà fait) et efibootmgr. GRUB est le chargeur d'amorçage, efibootmgr crée des entrées de basculement .efi amorçables utilisées par le script d'installation GRUB.

La partition système UEFI devra être montée dans pour que le script d'installation de GRUB puisse la détecter:

mkdir -p /boot/efi
mount -t vfat /dev/sdXY /boot/efi

Créer le répertoire

mkdir -p /boot/efi/EFI

Installez l'application UEFI GRUB dans et ses modules dans à l'aide de :

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck

Le --bootloader-id est ce qui apparaît dans les options de démarrage pour identifier l'option de démarrage GRUB EFI; Assurez-vous que ce soit quelque chose que vous reconnaîtrez plus tard. L'installation créera un répertoire du même nom sous où le chargeur d'amorçage binaire EFI sera placé.

Astuce:

Si vous utilisez le démarrage en tant que votre bootloader-id, vous aurez la capacité supplémentaire de pouvoir démarrer à partir du lecteur dans le cas où les variables EFI sont réinitialisées ou vous déplacez le lecteur vers un autre ordinateur.

Habituellement, vous pouvez le faire en sélectionnant le lecteur lui-même de la manière dont vous utiliserez le BIOS. Si vous êtes en dual-boot avec Windows, soyez conscient que Windows a généralement un dossier appelé boot dans le dossier EFI de la partition EFI, mais le seul but de ce service est de recréer l'option de démarrage EFI pour Windows.

Une fois l'installation ci-dessus terminée, le répertoire GRUB principal se trouve à .

Vous pouvez maintenant être en mesure de démarrer votre système UEFI après création d'un fichier grub.cfg.

Générer le fichier de configuration principal

Après l'installation, le fichier de configuration principal doit être généré. Le processus de génération peut être influencé par une variété d'options dans /etc/default/grub et scripts dans ; Voir #Configuration.

Si vous n'avez pas fait de configuration supplémentaire, la génération automatique déterminera le système de fichiers racine du système à démarrer pour le fichier de configuration. Pour réussir, il est important que le système soit démarré ou chrooté.

Utilisez l'outil pour générer :

# grub-mkconfig -o /boot/grub/grub.cfg

Par défaut, les scripts de génération ajoutent automatiquement des entrées de menu pour Arch Linux à toute configuration générée. Voir cette page (en) et Dual Boot pour les entrées de menu personnalisées pour d'autres systèmes.

Configuration

Cette section ne couvre que l'édition du fichier de configuration /etc/default/grub. Trucs et Astuces Grub(en, traduction à venir) pour plus d'informations.

N'oubliez pas de toujours générer le fichier de configuration principal après avoir effectué des modifications dans /etc/default/grub.

Arguments supplémentaires

Pour passer des arguments supplémentaires personnalisés à l'image Linux, vous pouvez définir les variables GRUB_CMDLINE_LINUX + dans . Les deux sont ajoutés l'un à l'autre et passés au noyau lors de la génération d'entrées de démarrage régulières. Pour l'entrée de démarrage recovery, seul GRUB_CMDLINE_LINUX est utilisé dans la génération.

Par défaut, détermine l'UUID (en) du système de fichiers racine pour la configuration. Pour désactiver cela, décommenter:

GRUB_DISABLE_LINUX_UUID = true

Pour générer l'entrée recovery de GRUB, vous devez également commenter:

#GRUB_DISABLE_RECOVERY = true dans /etc default/grub

Vous pouvez également utiliser:

GRUB_CMDLINE_LINUX = "resume = UUID = uuid-of-swap-partition"

Voir les paramètres Kernel(en) pour plus d'informations.

Dual-boot

La meilleure façon d'ajouter d'autres entrées consiste à modifier le ou . Les entrées de ce fichier seront automatiquement ajoutées en lançant  :

# grub-mkconfig -o /boot/grub/grub.cfg

Entrée menu "Firmware setup"

<code>/etc/grub.d/40_custom</code> ou <code>/boot/grub/custom.cfg</code>
if [ ${grub_platform} == "efi" ]; then
  menuentry "Firmware setup" {
    echo "Starting UEFI Setup..."
    fwsetup
  }
fi

Entrée menu GNU/Linux

En supposant que cette autre distribution soit sur la partition :

Sinon, laissez grub rechercher la partition appropriée par UUID ou label:

Entrée menu FreeBSD

Les trois méthodes suivantes nécessitent que FreeBSD soit installé sur une seule partition avec UFS (v2). En supposant que la table de partition BSD imbriquée se trouve sur sda4:

Ce mode détermine l'emplacement du chargeur d'amorçage de Windows et le chainload après Grub une fois l'entrée du menu sera sélectionnée. La tâche principale ici est de trouver la partition EFI et d'exécuter le chargeur d'amorçage.

$ hints_string et sont obtenus avec les deux commandes suivantes. La commande détermine l'UUID de la partition EFI:

# grub-probe --target=fs_uuid $esp/EFI/Microsoft/Boot/bootmgfw.efi
1ce5-7f28

Sinon, on peut exécuter (en tant que root) et lire l'UUID de la partition EFI à partir de là.

La commande $ hints_string déterminera l'emplacement de la partition EFI, dans ce cas le hd0:

# grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.ef
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1

Ces deux commandes suppose que l'ESP windows et monté sur

Windows installed in BIOS-MBR mode
Note:

GRUB prend en charge l'amorçage de bootmgr directement et le chainload n'est plus nécessaire pour démarrer Windows dans une configuration BIOS-MBR.

Tout au long de cette section, on suppose que votre partition Windows est . Une partition différente changera toutes les instances de , . Tout d'abord, trouvez l'UUID du système de fichiers NTFS de la partition système de Windows où se trouve le et ses fichiers. Par exemple, si le de windows se trouve sur /media/SYSTEM_RESERVED/bootmgr:

Pour Windows XP:

Dans les deux exemples est l'UUID de partition qui peut être trouvé avec la commande lsblk --fs.

{{Note| Dans certains cas, si vous installez GRUB avant un Windows 8 propre, vous ne pouvrrz pas démarrer Windows vous aurez une erreur avec (code d'erreur). Vous pouvez le réparer grâce au Windows Recovery Console (cmd à partir du disque d'installation) et exécuter:

x:\> "bootrec.exe /fixboot" 
x:\> "bootrec.exe /RebuildBcd".
peut être utilisé comme modèle pour créer . Où  définit la priorité, indiquant l'ordre d'exécution des scripts. L'ordre scripts déterminent le placement dans le menu de démarrage de grub.

Dépannage

Restaurer GRUB

GRUB peut être installé directement depuis votre système ou depuis un live-cd via Chroot.

Il suffira de relancer les commandes selon votre système : BIOS ou EFI

grub-install échoue

Vous pouvez éventuellement lui rajouter l'option --debug afin d'avoir plus de précision sur la raison de l'échec.

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.