• [^] # Des entrées personnalisées, et qui ne sont pas modifiées par grub-mkconfig.

    Posté par . En réponse à la dépêche GRUB 2.00 est enfin sorti. Évalué à 3.

    L'équivalent du fichier menu.lst en v2 est grub.cfg, mais il ne faut pas le modifier directement ; il faut obligatoirement passer par les fichiers stockés dans grub.d, puis lancer un script qui va agglomérer le tout dans grub.cfg.

    Obligatoirement, obligatoirement, … il reste possible de modifier manuellement le fichier grub.cfg 😊 (même si ce n'est pas conseillé, je suis d'accord).

    Toutefois, votre distribution peut vous embêter en réalisant automatiquement des grub-mkconfig qui modifient le fichier grub.cfg à votre insu. Un palliatif à ce problème est (削除) de changer de distribution pour passer à Archlinux (削除ここまで) d'utiliser le fichier /etc/grub.d/40_custom. En effet, lors d'un grub-mkconfig, le contenu du fichier 40_custom est recopié tel quel dans grub.cfg, sans modification.

    Vous pouvez donc écrire une entrée personnalisé dans 40_custom, elle sera intégrée telle quelle dans grub.cfg. Pour écrire votre entrée personnalisée, inspirez-vous de celles créées automatiquement.

    Voici le contenu du fichier /etc/grub.d/40_custom chez moi :

    #!/bin/sh
    exec tail -n +3 0ドル
    # This file provides an easy way to add
    # custom menu entries. Simply type
    # the menu entries you want to add
    # after this comment.
    # Be careful not to change
    # the 'exec tail' line above.
    insmod keylayouts
    keymap /boot/grub/bepo.gkb
    menuentry 'Archlinux, boot dans l’initramfs' --class arch --class gnu-linux --class gnu --class os {
     load_video
     set gfxpayload=keep
     insmod gzio
     insmod part_gpt
     insmod ext2
     set root='(hd0,gpt2)'
     search --no-floppy --fs-uuid --set=root XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
     echo 'Chargement de Linux linux ...'
     linux /boot/vmlinuz-linux root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ro break=y
     echo 'Chargement du disque mémoire initial ...'
     initrd /boot/initramfs-linux.img
    }
    menuentry 'Archlinux, système de sauvegarde sur sda6' --class archlinux --class gnu-linux --class gnu --class os {
     load_video
     set gfxpayload=keep
     insmod gzio
     insmod part_gpt
     insmod ext2
     set root='(hd0,gpt6)'
     search --no-floppy --fs-uuid --set=root YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY
     echo 'Chargement de Linux linux ...'
     linux /boot/vmlinuz-linux root=UUID=YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY ro 
     echo 'Chargement du disque mémoire initial ...'
     initrd /boot/initramfs-linux.img
    }
    
    

    Vos entrées personnalisées seront affichées par Grub après les entrées auto-générées. Pour qu'une de vos entrées personnalisées soit sélectionnée par défaut, réglez correctement le paramètre GRUB_DEFAULT dans le fichier /etc/default/grub.

    Une dernière chose : pour régénérer manuellement le grub.cfg, la commande exacte est :
    grub-mkconfig -o /boot/grub/grub.cfg