9

Grub : ajouter une entrée au menu

Pour des raisons de besoin, il est possible d’ajouter au menu du Grub une entrée qui pointe sur une image de Live CD comme Gparted, System Rescue Cd ou toutes autres distributions GNU/Linux.

Pré-Requis

  • Vérification de la partition de boot :
  • Pour pouvoir ajouter des entrès au menu Grub, il faut connaître la partition de boot.
    Saisir dans un terminal :

    sudo fdisk -l
    

    Exemple de résultat :

    Disque /dev/sda : 232,9 GiB, 250059350016 octets, 488397168 secteurs
    Unités : secteur de 1 × 512 = 512 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d'E/S (minimale / optimale) : 512 octets / 512 octets
    Type d'étiquette de disque : dos
    Identifiant de disque : 0x0002e876
    
    Device     Boot     Start       End   Sectors   Size Id Type
    /dev/sda1  *         2048 184322047 184320000  87,9G 83 Linux
    /dev/sda2       469665790 488396799  18731010     9G  5 Extended
    /dev/sda3       184322048 469663743 285341696 136,1G 83 Linux
    /dev/sda5       469665792 488396799  18731008     9G 82 Linux swap / Solaris
    
    Les entrées de la table de partitions ne sont pas dans l'ordre du disque.

    Dans cet exemple de résultat, la partition avec le drapeau de boot est /dev/sda1, ce qui correspond en « langage » de Grub à (hd0,1).

  • Vérification de la ligne suivante, qui est bien commenté avec « # » :
  • sudo nano /etc/default/grub
    
    #GRUB_HIDDEN_TIMEOUT=0
    

Customisation du menu de Grub

Editer le fichier /etc/grub.d/40_custom

sudo nano /etc/grub.d/40_custom

Le modèle d’entrée est comme suit :

menuentry "[Titre du menu]" {
set isofile="[chemin de l'image ISO]"
loopback loop [Partiton du boot en langage Grub]$isofile
[Différentes spécifications à définir si besoin] arguments
}
  • Gparted live:
  • menuentry "System Rescue" {
    set isofile="/boot/gparted-live-0.20.0-2-i486.iso"
    loopback loop (hd0,1)$isofile
    loopback loop $isofile
    linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=${isofile}
    initrd (loop)/live/initrd.img
    }
    
  • System Rescue CD :
  • menuentry "SystemRescueCd (isoloop)" {
            loopback loop /boot/systemrescuecd-x86-4.4.1.iso
            linux (loop)/isolinux/rescue32 isoloop=/boot/systemrescuecd-x86-4.4.1.iso
            initrd (loop)/isolinux/initram.igz
    }
    

Prise en compte des modifications du Grub

Pour mettre à jour le Grub, saisir :

sudo update-grub

Et pour finir, rédémarer la machine :

sudo reboot

Gparted et System Rescue CD au menu de Grub

grub-custom

via xmodulo.com

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

9 commentaires

  1. peut-être penser aussi à ajouter un mot de passe sur ce type d entrée …

  2. oui … c était juste un rappel … après dans votre solution c’est un mot de passe global pour tout grub … je parlais plus d’un mot de passe pour cette entrée uniquement …

  3. Ah ok ! :-)
    oui effectivement car si on accès au Live CD on a donc accès à tout le PC … Merci pour le rappel.

  4. Pour des raisons de besoin?? comment çà

  5. Bonjour,

    J’ai bien suivi ce tutoriel et j’ai toujours l’erreur gparted… . iso not found alors que le chemin est bon.
    Je suis sous CentOS 7
    Merci pour votre aide.

  6. Bonjour Guillaume,
    pour moi cela à fonctionner pour Debian, Ubuntu et Manjaro. Il y a peut être une subtilité sous CentOS ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.