expert:grub2
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | expert:grub2 [2018/11/17 12:53] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | =====Grub2, le chargeur d' | ||
+ | |||
+ | Grub est le chargeur d' | ||
+ | |||
+ | |||
+ | ==== Réécriture complète du code ==== | ||
+ | |||
+ | Le code de Grub " | ||
+ | Le code de Grub2 a fait l' | ||
+ | |||
+ | Le design de Grub2 est modulaire, l' | ||
+ | |||
+ | Au cœur du fonctionnement de Grub2 on trouve l' | ||
+ | |||
+ | La configuration est également modulaire, basée sur des scripts entièrement modifiables. Il suffit de créer un script personnel basé sur les modèles fournis, de le déposer dans le répertoire correspondant (exp: / | ||
+ | Grub2 est également esthétiquement plus réussi que son prédécesseur, | ||
+ | Grub2 propose également un environnement " | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | Les touches utilisées sont indiquées entre crochets, exemple **[ctrl]** pour la touche " | ||
+ | |||
+ | ==== Installation, | ||
+ | |||
+ | Prenons l' | ||
+ | L' | ||
+ | |||
+ | Lors de l' | ||
+ | |||
+ | Si tout se passe bien, il est temps de totalement remplacer grub " | ||
+ | |||
+ | < | ||
+ | |||
+ | Après cela grub2 sera installé dans le secteur d' | ||
+ | |||
+ | Sur certaines distribution (testé Ubuntu Hardy) la procédure est un peu différente, | ||
+ | |||
+ | < | ||
+ | # update-grub2</ | ||
+ | |||
+ | À partir d' | ||
+ | |||
+ | |||
+ | ==== Premier contact avec la configuration ==== | ||
+ | |||
+ | |||
+ | Pour grub " | ||
+ | |||
+ | Avec grub2 on n' | ||
+ | Toute modification du grub.cfg faite directement sera écrasée très rapidement lors d'un appel à " | ||
+ | |||
+ | < | ||
+ | Les versions récentes de grub prennent également en charge d' | ||
+ | |||
+ | Les fichiers de configuration sur lesquels on peut intervenir sont:\\ | ||
+ | |||
+ | **/ | ||
+ | |||
+ | < | ||
+ | # aux fichiers " | ||
+ | |||
+ | # Entrée choisi automatiquement par défaut, " | ||
+ | GRUB_DEFAULT=0 | ||
+ | |||
+ | # Durée avant exécution du choix par défaut. | ||
+ | GRUB_TIMEOUT=4 | ||
+ | |||
+ | # Reconnaissance de la distribution. | ||
+ | GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` | ||
+ | |||
+ | # Chargement des modules additionnels, | ||
+ | # menu grub. Indispensable pour des partitions /boot ou / (root) sur raid. | ||
+ | GRUB_PRELOAD_MODULES=" | ||
+ | |||
+ | # Options supplémentaires à passer au noyau (resume=/ | ||
+ | # acpi=off...). Concerne aussi les entrées " | ||
+ | GRUB_CMDLINE_LINUX=" | ||
+ | |||
+ | # Options supplémentaires à passer au noyau, ne concerne QUE les entrées par défaut,pas | ||
+ | # les entrées " | ||
+ | GRUB_CMDLINE_LINUX_DEFAULT=" | ||
+ | |||
+ | # Décommenter pour inhiber le terminal graphique et forcer un terminal texte | ||
+ | # (grub-pc seulement). | ||
+ | # | ||
+ | |||
+ | # Résolution et type du terminal graphique (défaut 640x480, gfxgrub). Si une liste de résolution est | ||
+ | # donnée, elles serviront d' | ||
+ | GRUB_GFXMODE=" | ||
+ | GRUB_TERMINAL=gfxterm | ||
+ | GRUB_GFXPAYLOAD_LINUX=" | ||
+ | |||
+ | # Image de fond pour le menu grub | ||
+ | GRUB_BACKGROUND=/ | ||
+ | |||
+ | # Décommenter pour empêcher l' | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Les commentaires devraient suffirent à rendre compréhensible les variables courantes, celles plus spécifiques à grub2: | ||
+ | |||
+ | * **GRUB_PRELOAD_MODULES=** Cette variable permet d' | ||
+ | Concernant les options spécifiques au système de fichier, elles devraient être détectées correctement par grub2 grâce à la commande " | ||
+ | |||
+ | < | ||
+ | |||
+ | Ici on vérifie la détection de l' | ||
+ | |||
+ | < | ||
+ | |||
+ | pour s' | ||
+ | Plus intéressant, | ||
+ | |||
+ | < | ||
+ | |||
+ | Ici on utilise la forme courte de " | ||
+ | |||
+ | Les paramètres possibles à tester sont "fs, fs_uuid, drive, device, partmap, abstraction" | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour une liste complète des modules disponibles, | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | * **GRUB_CMDLINE_LINUX=** | ||
+ | |||
+ | * **GRUB_CMDLINE_LINUX_DEFAULT=** Cette variable permet de spécifier les options supplémentaires à passer au noyau (" | ||
+ | |||
+ | * **GRUB_GFXMODE=** | ||
+ | |||
+ | < | ||
+ | |||
+ | Le programme " | ||
+ | Pour être certain que la résolution sera disponible on peut passer dans un shell grub lors du démarrage (passer en mode édition avec la touche [e], puis [ctrl][c] pour passer sur le shell grub, [esc] pour en sortir). Dans le shell grub on tape :\\ | ||
+ | < | ||
+ | pour connaître la liste des résolutions effectivement disponibles.\\ | ||
+ | Si le matériel le supporte on pourra par exemple utiliser une résolution de 1280x1024 avec des couleurs codés sur 24bit: " | ||
+ | < | ||
+ | |||
+ | Attention, si vous utilisez une résolution élevée, supportée par votre matériel, et une image de résolution inférieure, | ||
+ | |||
+ | * **GRUB_GFXPAYLOAD_LINUX=" | ||
+ | |||
+ | * **GRUB_BACKGROUND=** permet de spécifier le chemin vers une image de fond pour grub, au format jpg, png ou tga. Pour un meilleur rendu utilisez une image à la même résolution que le menu. | ||
+ | |||
+ | * **GRUB_DISABLE_LINUX_UUID=true** | ||
+ | |||
+ | Les autres fichiers de configuration se trouvent dans le répertoire **/ | ||
+ | |||
+ | < | ||
+ | 00_header | ||
+ | 05_debian_theme | ||
+ | 10_hurd | ||
+ | 10_linux | ||
+ | 20_memtest86+ | ||
+ | 30_os-prober | ||
+ | 40_custom | ||
+ | </ | ||
+ | |||
+ | On remarque le préfixe numérique, à la manière des scripts des niveaux d' | ||
+ | |||
+ | **00_header** gère la plupart des variables contenues dans / | ||
+ | |||
+ | < | ||
+ | for i in ${GRUB_PRELOAD_MODULES} ; do | ||
+ | echo " | ||
+ | done | ||
+ | |||
+ | if [ " | ||
+ | if [ " | ||
+ | if [ " | ||
+ | |||
+ | cat << EOF | ||
+ | set default=${GRUB_DEFAULT} | ||
+ | set timeout=${GRUB_TIMEOUT} | ||
+ | EOF | ||
+ | [...]</ | ||
+ | |||
+ | Ce fragment de fichier montre que le script " | ||
+ | |||
+ | **05_debian_theme** sera spécifique à votre distribution, | ||
+ | |||
+ | < | ||
+ | # check for usable backgrounds | ||
+ | use_bg=false | ||
+ | if [ " | ||
+ | for i in {/ | ||
+ | [...] | ||
+ | </ | ||
+ | pour inclure le chemin vers une image différente (ici les images inclues dans le paquets " | ||
+ | |||
+ | < | ||
+ | # check for usable backgrounds | ||
+ | use_bg=false | ||
+ | if [ " | ||
+ | for i in {/ | ||
+ | [...] | ||
+ | </ | ||
+ | |||
+ | Pour modifier la couleur de la police: | ||
+ | |||
+ | < | ||
+ | # set the background if possible | ||
+ | if ${use_bg} ; then | ||
+ | prepare_grub_to_access_device `${grub_probe} --target=device ${bg}` | ||
+ | cat << EOF | ||
+ | insmod ${reader} | ||
+ | if background_image `make_system_path_relative_to_its_root ${bg}` ; then | ||
+ | set color_normal=black/ | ||
+ | set color_highlight=magenta/ | ||
+ | else | ||
+ | EOF | ||
+ | fi | ||
+ | [...]</ | ||
+ | |||
+ | Ne modifiez pas ce qui concerne le thème par défaut, il constitue le choix de secours si votre personnalisation ne fonctionne pas. | ||
+ | |||
+ | **10_hurd, 10_linux** | ||
+ | |||
+ | **20_memtest86+** | ||
+ | |||
+ | **30_os-prober** est issue du paquet " | ||
+ | |||
+ | **40_custom** | ||
+ | |||
+ | < | ||
+ | exec tail -n +3 $0 | ||
+ | # This file is an example on how to add custom entries | ||
+ | # | ||
+ | #Ubuntu Jaunty sur /dev/sdc1 | ||
+ | menuentry " | ||
+ | set root=(hd2, | ||
+ | linux / | ||
+ | initrd | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | On reviendra sur la syntaxe des entrées du grub.cfg dans le chapitre suivant.\\ | ||
+ | |||
+ | On peut également créer son propre script, et lui attribuer un préfixe libre afin de déterminer l' | ||
+ | |||
+ | |||
+ | ==== Le fichier grub.cfg ==== | ||
+ | |||
+ | |||
+ | Le remplaçant du fichier / | ||
+ | |||
+ | Un exemple de fichier grub.cfg: | ||
+ | |||
+ | < | ||
+ | # NE PAS ÉDITER CE FICHIER | ||
+ | # | ||
+ | # It is automatically generated by grub-mkconfig using templates | ||
+ | # from /etc/grub.d and settings from / | ||
+ | # | ||
+ | |||
+ | ### BEGIN / | ||
+ | if [ -s $prefix/ | ||
+ | load_env | ||
+ | fi | ||
+ | set default=" | ||
+ | if [ " | ||
+ | set saved_entry=" | ||
+ | save_env saved_entry | ||
+ | set prev_saved_entry= | ||
+ | save_env prev_saved_entry | ||
+ | set boot_once=true | ||
+ | fi | ||
+ | |||
+ | function savedefault { | ||
+ | if [ -z " | ||
+ | saved_entry=" | ||
+ | save_env saved_entry | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function load_video { | ||
+ | insmod vbe | ||
+ | insmod vga | ||
+ | insmod video_bochs | ||
+ | insmod video_cirrus | ||
+ | } | ||
+ | |||
+ | insmod raid | ||
+ | insmod mdraid | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root=' | ||
+ | search --no-floppy --fs-uuid --set 116eb616-a149-4427-800a-12992a1f9492 | ||
+ | if loadfont / | ||
+ | set gfxmode=1920x1080 1440x900 1280x720 | ||
+ | load_video | ||
+ | insmod gfxterm | ||
+ | fi | ||
+ | terminal_output gfxterm | ||
+ | insmod raid | ||
+ | insmod mdraid | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root=' | ||
+ | search --no-floppy --fs-uuid --set 116eb616-a149-4427-800a-12992a1f9492 | ||
+ | insmod tga | ||
+ | background_image -m stretch / | ||
+ | insmod raid | ||
+ | insmod mdraid | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root=' | ||
+ | search --no-floppy --fs-uuid --set 116eb616-a149-4427-800a-12992a1f9492 | ||
+ | set locale_dir=($root)/ | ||
+ | set lang=fr | ||
+ | insmod gettext | ||
+ | set timeout=3 | ||
+ | ### END / | ||
+ | |||
+ | ### BEGIN / | ||
+ | insmod raid | ||
+ | insmod mdraid | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root=' | ||
+ | search --no-floppy --fs-uuid --set 116eb616-a149-4427-800a-12992a1f9492 | ||
+ | insmod tga | ||
+ | if background_image / | ||
+ | true | ||
+ | else | ||
+ | set menu_color_normal=cyan/ | ||
+ | set menu_color_highlight=white/ | ||
+ | fi | ||
+ | ### END / | ||
+ | |||
+ | ### BEGIN / | ||
+ | menuentry ' | ||
+ | set gfxpayload=1920x1080 1440x900 1280x720 | ||
+ | insmod raid | ||
+ | insmod mdraid | ||
+ | insmod part_msdos | ||
+ | insmod ext2 | ||
+ | set root=' | ||
+ | search --no-floppy --fs-uuid --set 116eb616-a149-4427-800a-12992a1f9492 | ||
+ | echo ' | ||
+ | linux / | ||
+ | echo ' | ||
+ | initrd / | ||
+ | } | ||
+ | menuentry ' | ||
+ | set gfxpayload=1920x1080 1440x900 1280x720 | ||
+ | insmod raid | ||
+ | insmod mdraid | ||
+ | insmod ext2 | ||
+ | set root=' | ||
+ | search --no-floppy --fs-uuid --set 116eb616-a149-4427-800a-12992a1f9492 | ||
+ | echo ' | ||
+ | linux / | ||
+ | echo ' | ||
+ | initrd / | ||
+ | } | ||
+ | ### END / | ||
+ | |||
+ | ### BEGIN / | ||
+ | ### END / | ||
+ | |||
+ | ### BEGIN / | ||
+ | ### END / | ||
+ | |||
+ | ### BEGIN / | ||
+ | ### END / | ||
+ | |||
+ | ### BEGIN / | ||
+ | if [ -f $prefix/ | ||
+ | source $prefix/ | ||
+ | fi | ||
+ | ### END / | ||
+ | </ | ||
+ | |||
+ | Vous pouvez voir que le fichier est divisé en fonction des fichiers de configuration que nous venons de détailler. Il s'agit ici de démarrer un système Debian sur volumes raid, d' | ||
+ | Les scripts " | ||
+ | |||
+ | ==== Installer grub2 sur un disque ==== | ||
+ | |||
+ | Installer grub2 pour démarrer un système, en dehors de l' | ||
+ | |||
+ | * **grub-install**\\ | ||
+ | |||
+ | < | ||
+ | |||
+ | " | ||
+ | C'est la seule commande indispensable à connaître pour installer grub2 sur le secteur d' | ||
+ | d'un disque.\\ | ||
+ | Si votre système comporte un lecteur de disquette, et que celui-ci est listé dans le fichier / | ||
+ | On peut utiliser la notation "/ | ||
+ | |||
+ | |||
+ | * **grub-mkconfig** (update-grub)\\ | ||
+ | |||
+ | Pour des raisons de compatibilité la commande " | ||
+ | La syntaxe est la suivante: | ||
+ | |||
+ | < | ||
+ | |||
+ | Sans l' | ||
+ | |||
+ | C'est la commande dont l' | ||
+ | |||
+ | * **grub-setup**\\ | ||
+ | |||
+ | Sert à créer une image de démarrage qui se lancera depuis la partition indiquée (de la forme " | ||
+ | Cette commande ne s' | ||
+ | |||
+ | * **grub-mkdevicemap**\\ | ||
+ | |||
+ | Comme sont nom le laisse supposer, cette commande crée un fichier / | ||
+ | |||
+ | * **grub-mkrescue**\\ | ||
+ | |||
+ | Sert à créer un disque de démarrage, qui peut servir de disque de secours. Par défaut c'est un cdrom qui est créé, mais on peut également créé une disquette avec l' | ||
+ | |||
+ | < | ||
+ | |||
+ | L' | ||
+ | |||
+ | * **grub-probe**\\ | ||
+ | |||
+ | Permet de s' | ||
+ | On indique la cible du test avec l' | ||
+ | Les paramètres possibles à tester (" | ||
+ | Exemples d' | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | Son utilisation directe est peu courante en pratique, il est invoqué par " | ||
+ | |||
+ | ==Modification d'une entrée de menu lors du démarrage== | ||
+ | |||
+ | Lors du démarrage, vous pouvez sélectionner une entrée du menu, et entrer en mode d' | ||
+ | À partir du mode d' | ||
+ | |||
+ | ==== Démarrer windows ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour démarrer windows vous utiliserez le " | ||
+ | |||
+ | < | ||
+ | exec tail -n +3 $0 | ||
+ | |||
+ | #Windows sur /dev/sda1 | ||
+ | |||
+ | insmod ntfs | ||
+ | insmod chain | ||
+ | menuentry " | ||
+ | set root=(hd0, | ||
+ | chainloader (hd0,1)+1 | ||
+ | boot | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | On trouve plusieurs syntaxes pour l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | |||
+ | Voici un exemple d' | ||
+ | |||
+ | < | ||
+ | insmod ntfs | ||
+ | set root=(hd0, | ||
+ | search --no-floppy --fs-uuid --set 6a60fd8160fd53f3 | ||
+ | chainloader +1 | ||
+ | }</ | ||
+ | |||
+ | ==== Récupération en cas de problème ==== | ||
+ | |||
+ | |||
+ | Si une de vos manipulation vous laisse devant un écran désespérément vide au prochain démarrage, il reste en général un bon espoir de récupérer l' | ||
+ | |||
+ | ==Depuis le shell grub== | ||
+ | |||
+ | Pas de panique ! | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Vous voila au pied du mur (ou du shell plus exactement), | ||
+ | La première commande à essayer est **help**, ça ne fait pas vraiment viril mais ça renseigne sur les commandes disponibles dans cet environnement de récupération. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | La commande, **set** sans argument affiche les valeurs des variables actuellement définies. Ici on voit que la partition cible pour la configuration de grub (" | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | On utilise ensuite **ls** pour lister les disques et partitions reconnus par grub2. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Nous allons remettre de l' | ||
+ | |||
+ | On réutilise la commande **set** mais cette fois en lui passant en argument une variable et sa valeur. Remarquez l' | ||
+ | On fixe de la même façon la valeur de la partition " | ||
+ | | ||
+ | {{ : | ||
+ | |||
+ | Une fois ces valeurs fixées, la variable " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Vous pouvez voir la liste des modules déjà chargé avec **lsmod**.\\ | ||
+ | Vous pouvez également voir les modules disponibles en listant le contenu du répertoire /boot/grub avec **ls / | ||
+ | On active donc le mode normal avec la commande **normal** (original, non?). | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | En mode normal l' | ||
+ | Ça va mieux, on arrive sur le menu, on peut alors si besoin vérifier les entrées en passant en mode d' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Lorsque tout est en ordre on utilise les touches [ctrl] et [x] pour démarrer l' | ||
+ | Pour lister les choix possibles à n' | ||
+ | |||
+ | Une astuce si vous pensez que l' | ||
+ | < | ||
+ | |||
+ | Ensuite remplacer l' | ||
+ | |||
+ | < | ||
+ | devient | ||
+ | root=/ | ||
+ | \\ | ||
+ | {{ : | ||
+ | \\ | ||
+ | {{ : | ||
+ | |||
+ | Victoire ! Ça démarre. <color red> | ||
+ | |||
+ | **Résumé des commandes utilisées** | ||
+ | |||
+ | * **help** | ||
+ | * **ls** | ||
+ | * **set** | ||
+ | * **set prefix=** | ||
+ | * **set root=** | ||
+ | * **lsmod** | ||
+ | * **insmod** | ||
+ | * **normal** | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==Utiliser un " | ||
+ | |||
+ | Si vous n' | ||
+ | |||
+ | Vous devez donc démarrer sur un live-cd (ou utiliser un autre système installé si vous êtes en multi-boot), | ||
+ | |||
+ | < | ||
+ | |||
+ | Ensuite vous allez monter le système cible sur ce répertoire, | ||
+ | |||
+ | < | ||
+ | # parted -l</ | ||
+ | |||
+ | ou encore lancer un éditeur de partition comme [[util: | ||
+ | |||
+ | < | ||
+ | |||
+ | :!: **Si vous avez une partition /boot séparée** (ici on imagine qu'il s'agit de "/ | ||
+ | |||
+ | < | ||
+ | |||
+ | Évidemment si vous n'avez pas de partition /boot séparée, sautez cette étape.\\ | ||
+ | Si la partition "/ | ||
+ | |||
+ | Enfin vous devez rendre accessible au système cible l' | ||
+ | |||
+ | < | ||
+ | |||
+ | On peut également utiliser la notation "mount -o bind", le " | ||
+ | |||
+ | Idem pour /proc et /sys :\\ | ||
+ | |||
+ | < | ||
+ | # mount --bind /sys / | ||
+ | |||
+ | Voila, il ne vous reste plus qu'à exécuter le " | ||
+ | |||
+ | < | ||
+ | # chroot . ./ | ||
+ | |||
+ | À partir de maintenant les commandes exécutées dans la console agissent sur le système cible, et non plus sur le système en cours d' | ||
+ | |||
+ | < | ||
+ | |||
+ | N' | ||
+ | |||
+ | < | ||
+ | # grub-mkconfig -o / | ||
+ | |||
+ | Vous pouvez également éditer la configuration de grub2, par exemple si vous devez éditer le fichier / | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour quitter le " | ||
+ | |||
+ | Si par (excès de) sécurité vous voulez démonter les partitions du système cible avant de redémarrer, | ||
+ | |||
+ | < | ||
+ | # unmount / | ||
+ | # unmount / | ||
+ | # unmount / | ||
+ | # umount / | ||
+ | |||
+ | C'est fini, il ne vous reste qu'à redémarrer pour tester vos modifications, | ||
+ | |||
+ | ====grub2 et systèmes de fichiers " | ||
+ | |||
+ | Le système de fichier ext4, " | ||
+ | |||
+ | < | ||
+ | ====Utilitaires de récupération==== | ||
+ | |||
+ | |||
+ | [[autre: | ||
+ | [[ubuntu: | ||
+ | |||
+ | ====Compiler grub2 depuis les sources===== | ||
+ | |||
+ | Si vous rencontrez des bugs bloquant avec la version de grub fournie par votre distribution, | ||
+ | |||
+ | ===Récupérer les sources=== | ||
+ | |||
+ | Le code est disponible via un système de gestion de version " | ||
+ | |||
+ | < | ||
+ | $ bzr branch http:// | ||
+ | </ | ||
+ | |||
+ | Cette commande créera dans le répertoire courant un répertoire " | ||
+ | |||
+ | Alternativement, | ||
+ | |||
+ | Vous pouvez jeter un œil sur le journal des changements (" | ||
+ | |||
+ | < | ||
+ | 2011-04-17 | ||
+ | |||
+ | Identify RAID by its UUID rather than (guessed) name. | ||
+ | |||
+ | * grub-core/ | ||
+ | (grub_raid_open): | ||
+ | * grub-core/ | ||
+ | (get_mdadm_uuid): | ||
+ | (grub_util_get_grub_dev): | ||
+ | </ | ||
+ | |||
+ | Recherche avec [[commande: | ||
+ | |||
+ | < | ||
+ | |||
+ | 213: * grub-core/ | ||
+ | 611: * grub-core/ | ||
+ | 659: btrfs subvolume. | ||
+ | 681: * NEWS: Drop obsolete entry about probe-only btrfs support. | ||
+ | 689: * NEWS: Add btrfs support. | ||
+ | 694: BtrFS support. Written by me (Vladimir) with important bugfixes and | ||
+ | 698: * grub-core/ | ||
+ | 699: * grub-core/ | ||
+ | 732: * grub-core/ | ||
+ | 733: reserved_first_sector to 1. btrfs reserves plenty of space for boot | ||
+ | 1792: * grub-core/ | ||
+ | 2427: * grub-core/ | ||
+ | 4555: Basic Btrfs support (detection and UUID). | ||
+ | 4557: * grub-core/ | ||
+ | 4558: * Makefile.util.def (library): Register btrfs.c. | ||
+ | 8539: Add btrfs probing support, currently only in the single-device case. | ||
+ | </ | ||
+ | |||
+ | ===Dépendances=== | ||
+ | |||
+ | Liste des dépendances, | ||
+ | |||
+ | * bzr (pour récupérer le dernier code disponible) | ||
+ | * autogen | ||
+ | * autoconf | ||
+ | * bison | ||
+ | * flex | ||
+ | * libdevmapper-dev | ||
+ | * libfreetype6-dev | ||
+ | |||
+ | ===configuration et installation=== | ||
+ | |||
+ | < | ||
+ | $ ./configure --prefix=/ | ||
+ | |||
+ | [...] | ||
+ | ******************************************************* | ||
+ | GRUB2 will be compiled with following components: | ||
+ | Platform: i386-pc | ||
+ | With devmapper support: Yes | ||
+ | With memory debugging: No | ||
+ | efiemu runtime: No (explicitly disabled) | ||
+ | grub-mkfont: | ||
+ | ******************************************************* | ||
+ | </ | ||
+ | |||
+ | Les options indiquées ici le sont à titre d' | ||
+ | Quelques options supplémentaires que l'on peut (des)activer lors de la configuration.\\ | ||
+ | |||
+ | < | ||
+ | --disable-option-checking | ||
+ | --disable-FEATURE | ||
+ | --enable-FEATURE[=ARG] | ||
+ | --disable-dependency-tracking | ||
+ | --enable-dependency-tracking | ||
+ | --disable-nls | ||
+ | --disable-rpath | ||
+ | --disable-largefile | ||
+ | --disable-werror | ||
+ | --enable-efiemu | ||
+ | (default=guessed) | ||
+ | --enable-mm-debug | ||
+ | --enable-grub-emu-usb | ||
+ | with USB support (default=guessed) | ||
+ | --enable-grub-emu-sdl | ||
+ | with SDL support (default=guessed) | ||
+ | --enable-grub-emu-pci | ||
+ | with PCI support (potentially dangerous) | ||
+ | (default=no) | ||
+ | --enable-grub-mkfont | ||
+ | (default=guessed) | ||
+ | --enable-device-mapper | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | À ce stade vous devez désinstaller la version de grub qui est actuellement présente sur votre système, __avant__ de procéder à l' | ||
+ | |||
+ | < | ||
+ | # make install | ||
+ | </ | ||
+ | |||
+ | Une fois l' | ||
+ | |||
+ | Pour désinstaller grub utilisez :\\ | ||
+ | |||
+ | < | ||
+ | # make uninstall | ||
+ | </ | ||
+ | |||
+ | Et n' | ||
+ | |||
+ | < | ||
+ | |||
+ | Bon amusement. | ||
+ | |||
+ | ====Liens==== | ||
+ | |||
+ | * [[expert: | ||
+ | * [[zenwalk: | ||
+ | * [[zenwalk: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[autre: | ||
+ | * [[gent: | ||
+ | |||
+ | ---------------------------------------------------------- | ||
+ | Retour à la page [[expert: | ||
+ | |||
+ | [[http:// |
expert/grub2.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1