# [Grub2], Est-ce bien raisonnable?

## pepit

Boncesoir, je suis en forme pour mettre un coup de pied dans cette hum "vacherie"...

Il y a disons longtemps, j'avais boudé lilo pour son aspect très complexe, lourd à configurer, surtout pour un bricoleur comme moi fraichement sorti du joug dos/win.

J'utilisais tant bien que mal le bouteur de partition magic à l'époque jusqu’à ce que je tombe sur cette petite merveille de grub, pas parfait c'est vrai mais génial de simplicité.

Puis ça a commencé à se dégrader avec l'arrivée du 64 bits, grub legacy y a laissé quelques années d'évolutions et a finit par stagner à cause de son abandon au profil de grub2.

Grub2 la révolution! Une usine à gaz démoniaque totalement inutilisable par des gents normaux comme je pense être parfois.

J'ai essayé bricoler en "manuel" les divers et que trop complexes fichiers de config pour tenter de masquer cette horreur, mais rien n'y fait, ni même grub-customizer n'y arrive pas.

Lorsque je lit certain forumeur sur le net qui commence à conseiller  les quelques victimes de ce gâchis de plutôt utiliser Lilo car plus simple, ça m'irrite quelque peut.

Comme j'arrive à rien avec ce truc après déjà des heures de recherches et d’essais divers, et que j'ai pas envie de me faire c... plus longtemps pour un simple bouteur, il me reste deux solutions : je reste sous legacy plus supporté, ou je passe à syslinux qui semble ressembler un peu à grub. 

Ouf, ca fait du bien d'en parler....  :Twisted Evil: 

----------

## Magic Banana

Si tu écrivais ce que tu cherches à configurer, tu pourrais peut-être obtenir de l'aide !

----------

## xaviermiller

Pour ma part, je suis passé de GRUB 0.97 à EXTLINUX (syslinux), et je suis très content !

----------

## geekounet

grub-mkconfig (ou un nom du genre) est là pour faciliter la vie dans sa configuration, ça ne m'avait pas pris plus de 10 secondes. Mais ya des alternatives a Grub 2 pour booter un Linux avec un partitionnement GPT ?

----------

## Magic Banana

Et puis les choses "classiques" (sauf l'ordre et les noms des entrées, il faut bien l'admettre) se font très facilement. Il suffit, dans /etc/default/grub, d'éditer des variables Shell (documentées sur cette page), d'enregistrer et enfin d'exécuter 'update-grub'.

----------

## guilc

Effectivement je ne vois pas en quoi c’est compliqué…

Perso, j’ai juste mis mes entrées dans « /etc/grub.d/40_custom » :

```
# Current (0)

menuentry "Gentoo" {

    set root='(hd0,2)'

    linux /bzImage root=/dev/sda3 net.ifnames=0 zcache zswap.enabled=1

}

# Old (1)

menuentry "Gentoo old" {

    set root='(hd0,2)'

    linux /bzImage.old root=/dev/sda3 net.ifnames=0 zcache zswap.enabled=1

}

```

Puis « grub2-install /dev/sda »

Puis « grub2-mkconfig -o /boot/grub/grub.cfg »

Et c’est tout, ça juste marche sans prise de tête !

----------

## pepit

Les entrées, j'y ai pas touché : un seul disque, un seul système, je voulais juste masquer la chose et ça m'a pris des heures pour pas y arriver, alors Grub2 --> poubelle pour moi.

Si un truc si simple avec legacy, prend des heures avec lui, qu'est-ce que ça va être avec par exemple pour un joli fond d'écran avec des entrées personnalisées comme j'ai sur un autre PC. J'ai du mal à voir ou est l'évolution et beaucoup comme moi avais choisis Grub pour sa simplicité, du coup je me demande si les développeurs de grub  n'ont pas tué leur géniale invention.

Je ne sollicite aucune aide, car pas envie d'y passer plus de temps je teste syslinux, et si un jours j'entends dire que grub 2 se simplifie alors je retenterai un truc simple avec pour voir....

----------

## Magic Banana

 *pepit wrote:*   

> je voulais juste masquer la chose

 

Tu veux dire masquer le menu ? Cela fait parti des choses extrêmement simples que l'on en éditant des variables Shell dans /etc/default/grub :

 *Simple configuration handling wrote:*   

> ‘GRUB_TIMEOUT’
> 
>     Boot the default entry this many seconds after the menu is displayed, unless a key is pressed. The default is ‘5’. Set to ‘0’ to boot immediately without displaying the menu, or to ‘-1’ to wait indefinitely.
> 
> ‘GRUB_HIDDEN_TIMEOUT’
> ...

 

----------

## pepit

Oui, oui, c'est limpide, juste 3 commandes qui se mordent la queue pour empêche le menu de s'afficher... Puis traduis en Francais ça donne quoi?

Bref, y a que la dernière que j'ai pas essayé les deux autre si et ben il s'affiche toujours quoi que je mette dedans.

Le pire c'est qu'il y en a une quatrième qui conditionne l'affichage car c'est beaucoup trop simple avec 3 : GRUB_DISTABLE_OS_PROBER

Mais encore?.....A chercher car chez moi rien ne marche et comme dit plus haut, même grub-customizer avec sa hum (ses) cases à cocher n'y arrive pas!

Je sait parfaitement comment le faire disparaître de ma vue en une seule commande: emerge --unmerge...  :Twisted Evil: 

----------

## Magic Banana

 *pepit wrote:*   

> Oui, oui, c'est limpide, juste 3 commandes qui se mordent la queue pour empêche le menu de s'afficher... Puis traduis en Francais ça donne quoi?

 

Je regrette mais c'est effectivement limpide. Il est écrit :

 *GRUB_TIMEOUT's documentation wrote:*   

> Set to ‘0’ to boot immediately without displaying the menu

 

Ce qui donne en français :

 *Documentation de GRUB_TIMEOUT wrote:*   

> Mettre à 0 pour démarrer immédiatement sans afficher le menu.

 

Je ne vois comment être plus clair !

Comme la documentation le dit, la variable GRUB_HIDDEN_TIMEOUT sert à régler le temps dont l'utilisateur dispose pour appuyer sur une touche et afficher le menu. Même si GRUB_TIMEOUT est à 0 (ce que tu veux). C'est même le cas normal et la documentation l'explique très bien :

 *Documentation de GRUB_HIDDEN_TIMEOUT wrote:*   

> We expect that most people who use GRUB_HIDDEN_TIMEOUT will want to have GRUB_TIMEOUT set to ‘0’ so that the menu is not displayed at all unless a key is pressed.

 

Ce qui donne en français :

 *Documentation de GRUB_HIDDEN_TIMEOUT wrote:*   

> La plupart des utilisateurs de GRUB_HIDDEN_TIMEOUT vondront avoir GRUB_TIMEOUT à 0 afin que le menu ne s'affiche que si une touche est enfoncée.

 

Encore une fois : je ne vois pas comment être plus clair !

La dernière variable n'est qu'un drapeau pour demander de ne pas afficher un compte à rebours (par défaut) durant le temps laissé pour enfoncer une touche. Je ne te fais pas la traduction mais, encore une fois, la documentation est limpide.

Je serais ravi de savoir quelle est ta solution pour permettre les mêmes choses en moins de trois variables.

 *pepit wrote:*   

> les deux autre si et ben il s'affiche toujours quoi que je mette dedans.

 

Vu la documentation, tu veux :

```
GRUB_TIMEOUT=0

GRUB_HIDDEN_TIMEOUT=3 # <- Par exemple. Pour te laisser trois secondes pour appuyer sur une touche.
```

 *pepit wrote:*   

> Le pire c'est qu'il y en a une quatrième qui conditionne l'affichage car c'est beaucoup trop simple avec 3 : GRUB_DISTABLE_OS_PROBER

 

Cette variable n'a strictement rien à voir avec le menu. Elle est liée à la découverte automatique des systèmes d'exploitations installés... comme son nom l'indique et comme la documentation le spécifie :

 *Simple configuration handling wrote:*   

> ‘GRUB_DISABLE_OS_PROBER’
> 
>     Normally, grub-mkconfig will try to use the external os-prober program, if installed, to discover other operating systems installed on the same system and generate appropriate menu entries for them. Set this option to ‘true’ to disable this.

 

Je me demande comment tu es parvenu à installer Gentoo sans savoir lire une documentation claire !

----------

## pepit

 *Magic Banana wrote:*   

> 
> 
>  *pepit wrote:*   Le pire c'est qu'il y en a une quatrième qui conditionne l'affichage car c'est beaucoup trop simple avec 3 : GRUB_DISTABLE_OS_PROBER 
> 
> Cette variable n'a strictement rien à voir avec le menu. Elle est liée à la découverte automatique des systèmes d'exploitations installés... comme son nom l'indique et comme la documentation le spécifie :
> ...

 

Doucement,  ça deviens personnel là, je ne met pas en doute tes capacités moi, je dénonce juste l'usine à gaz "limpide" qu'est grub2. Et si je lit bien sur le net je ne suis pas seul à ne pas comprendre cette doc si claire.

En theorie cette commande  n'a rien à voir en effet, mais en pratique si, car pendant que grub cherche ou trouve d'autre système le menu lui s'affiche, c'est ce que dit grub-customizer, donc pour empêcher cette recherche et garantir que grub ne s'affiche pas il faut mettre cette variable à 1 "true" je crois.

De toute façon même si j'arrive à le faire fonctionner, je prend pas un truc qui m'oblige à aller et à avoir autre chose à gerer que /boot/xxx/xxx.

Après tout c'est dans /boot que le démarrage est géré (ça oui c'est clair) alors pourquoi vouloir absolument ajouter des trucs à configurer de partout?

----------

## Magic Banana

 *pepit wrote:*   

> Doucement,  ça deviens personnel là

 

En relisant ma dernière phrase, je trouve en effet qu'elle est "agressive". Désolé.

----------

## El_Goretto

 *geekounet wrote:*   

> grub-mkconfig (ou un nom du genre) est là pour faciliter la vie dans sa configuration, ça ne m'avait pas pris plus de 10 secondes. Mais ya des alternatives a Grub 2 pour booter un Linux avec un partitionnement GPT ?

 

De mémoire, Grub "1" est patché pour supporter le GPT, il me semble.

----------

## Zoboulo

 *geekounet wrote:*   

> 
> 
> grub-mkconfig (ou un nom du genre) est là pour faciliter la vie dans sa configuration, ça ne m'avait pas pris plus de 10 secondes. Mais ya des alternatives a Grub 2 pour booter un Linux avec un partitionnement GPT ?
> 
> 

 

Oui !! Pour booter en UEFI il y a besoin de ... rien du tout ! 

En effet :

1) En utilisant l'option CONFIG_EFI_STUB du noyau et en écrivant les options de démarrage dans la conf du noyau grace à l'option CONFIG_CMDLINE, tu n'as plus besoin de bootloader externe (le "efi stub" est un bootloader tout à fait ok).

2) Les cartes mères UEFI fournissent un bootmanager plus ou moins bon et plus ou moins documenté. On peut bien sur utiliser un bootmanager uefi "externe" du genre rEFIT/rEFIND qui sera souvent meilleur ou en tout cas mieux documenté que celui de la CM. Moi personellement, je n'ai pas besoin d'un "vrai" bootmanager, puisque je n'ai pas de multi boot. Une gentoo et c'est tout. Donc tout ce dont j'ai besoin, c'est que l'uefi de ma CM soit capable de trouver le noyau (qui est une appli UEFI grace à UEFI_STUB). Là encore coté documentation et respect des spécifications UEFI c'est la croix et la banière selon les fabricants. Pour ma CM (Asrock H67) il suffit de placer le noyau à l'emplacement /efi/boot/bootx64.efi sur la partition de type "EFI System", et le tour est joué !

Conclusion : je boot sans avoir ni bootloader ni bootmanager externe, et c'est extremement simple (pas besoin de jouer avec les variables EFI et compagnie) après la galère initiale de comprendre le comportement de sa CM. Juste copier le noyau au bon endroit qui dépend de la CM, et tout marche sans rien configurer.

----------

## geekounet

J'ai juste parlé de GPT, pas d'UEFI. Je n'ai toujours qu'un bon vieux BIOS sur toutes mes machines.  :Smile: 

----------

