Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

update-grub : fichier souvent pas adapté

23 réponses
Avatar
andre_debian
Bonjour =E0 tous,

Chez moi,
# update-grub
ne cr=E9=E9 pas un fichier adapt=E9 =E0 la configuration des partitions
du ou des disques durs.
Exemple, sur une partition de sauvegarde, sda7, clone de sda5=3DWheezy,
il s'escrime =E0 chaque fois =E0 mettre deux UIDD diff=E9rents :
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
set=3Droot <UIDD de sda7> =3D OK
root=3DUUID=3D<UIDD de sda5> quiet splash vga=3D0x318 =3D PAS OK !
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Je suis oblig=E9 d'=E9diter "grub.cfg" et de le corriger =E0 la mano,
sinon, =E7a boote pas ou sur une autre partition.

Que fait-il faire pour avoir un "grub.cfg" conforme aux partitions
du disque dur, donc bien bootable ?

Merci.

Andr=E9

10 réponses

1 2 3
Avatar
didier gaumet
si sda7 est un vrai clone de sda5, le comportement de grub me paraîtrait
plutôt logique.

par contre il n'est pas recommandé d'éditer grub.cfg: tu vas perdre tes
modifs à chaque fois que le fichier sera automatiquement régénéré.
il vaudrait mieux pour ton usage soit modifier éventuelement
/etc/grub.d/10_linux soit plutôt créer une entrée qui te convient dans
/etc/grub.d/40_custom
Avatar
andre_debian
On Tuesday 18 August 2015 17:46:09 didier gaumet wrote:
si sda7 est un vrai clone de sda5, le comportement de grub me paraîtrait
plutôt logique.



sda7 est un clone de sda5, mais adapté pour être bootable (/etc/fstab),
en cas de crash de sda5.

Normalement, "update-grub" devrait mettre correctement les infos
pour la partition sda7.

par contre il n'est pas recommandé d'éditer grub.cfg: tu vas perdre t es
modifs à chaque fois que le fichier sera automatiquement régénér é.
il vaudrait mieux pour ton usage soit modifier éventuelement
/etc/grub.d/10_linux soit plutôt créer une entrée qui te convient d ans
/etc/grub.d/40_custom



J'ai 40_custom et 41_custom
Voici le contenu de 40_custom :
========
menuentry "TOUTOU on /dev/sda2" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set
739beb24-02e0-4794-9273-2248dcea6b8d
linux /toutou/vmlinuz root=/dev/sda2 ro single
initrd /boot/initrd.gz
}
========
sda2 est une partition w7 et je n'ai aucun système "TOUTOU"
sur ce PC...

André
Avatar
Christophe
Hello,

Le 18/08/2015 19:43, a écrit :
Voici le contenu de 40_custom :
========
menuentry "TOUTOU on /dev/sda2" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set
739beb24-02e0-4794-9273-2248dcea6b8d
linux /toutou/vmlinuz root=/dev/sda2 ro single
initrd /boot/initrd.gz
}
========
sda2 est une partition w7 et je n'ai aucun système "TOUTOU"
sur ce PC...




Étonnant !

Hypothèse : une clé USB branchée comportant le dit système lors d 'un
dist-upgrade ?

@+
Christophe.
Avatar
didier gaumet
Le 18/08/2015 19:43, a écrit :

sda7 est un clone de sda5, mais adapté pour être bootable (/etc/fstab),
en cas de crash de sda5.

Normalement, "update-grub" devrait mettre correctement les infos
pour la partition sda7.



tu peux jeter un oeil aux scripts et à l'environnement de
linux-boot-prober du paquet os-prober

J'ai 40_custom et 41_custom
Voici le contenu de 40_custom :
======= > menuentry "TOUTOU on /dev/sda2" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set
739beb24-02e0-4794-9273-2248dcea6b8d
linux /toutou/vmlinuz root=/dev/sda2 ro single
initrd /boot/initrd.gz
}
======= > sda2 est une partition w7 et je n'ai aucun système "TOUTOU"
sur ce PC...



normalement 40-custom n'est pas créé automatiquement, il est fait pour
que l'utilisateur puisse créer manuellement ses propres entrées
bootables dans grub, donc cette présence de Toutou Linux est étrange...

tu peux virer tout le bloc Toutou dans ce fichier et avec un éditeur, y
insérer le bloc de grub.cfg qui t'intéresse, tu le modifies comme tu le
faisais dans grub.cfg, tu renommes le bloc avec un nom clairement
identifiable pour apparaître dans le menu grub, puis tu fais un update-grub.
l'avantage est que tu ne perdras pas ta config si un update-grub est
lancé (automatiquement par un upgrade ou manuellement).
Avatar
andre_debian
On Tuesday 18 August 2015 20:20:52 didier gaumet wrote:
Le 18/08/2015 19:43, a écrit :
> sda7 est un clone de sda5, mais adapté pour être bootable (/etc/fst ab),
> en cas de crash de sda5.
> Normalement, "update-grub" devrait mettre correctement les infos
> pour la partition sda7.

tu peux jeter un oeil aux scripts et à l'environnement de
linux-boot-prober du paquet os-prober

> J'ai 40_custom et 41_custom
> Voici le contenu de 40_custom :
> ========
> menuentry "TOUTOU on /dev/sda2" {
> insmod part_msdos
> insmod ext2
> set root='(hd0,msdos1)'
> search --no-floppy --fs-uuid --set
> 739beb24-02e0-4794-9273-2248dcea6b8d
> linux /toutou/vmlinuz root=/dev/sda2 ro single
> initrd /boot/initrd.gz
> }
> ========
> sda2 est une partition w7 et je n'ai aucun système "TOUTOU"
> sur ce PC...

Étonnant !
Hypothèse : une clé USB branchée comportant le dit système lors d 'un
dist-upgrade ?> @+ Christophe :



Parfois j'utilise Toutou-Linux sur clé USB... ce qui pourrait en expliquer
sa présence.

normalement 40-custom n'est pas créé automatiquement, il est fait pour
que l'utilisateur puisse créer manuellement ses propres entrées
bootables dans grub, donc cette présence de Toutou Linux est étrange. ..

tu peux virer tout le bloc Toutou dans ce fichier et avec un éditeur, y
insérer le bloc de grub.cfg qui t'intéresse, tu le modifies comme tu le
faisais dans grub.cfg, tu renommes le bloc avec un nom clairement
identifiable pour apparaître dans le menu grub, puis tu fais un
update-grub. l'avantage est que tu ne perdras pas ta config si un
update-grub est lancé (automatiquement par un upgrade ou manuellement) :



Est-ce que je peux coller dans "40_custom" tout le fichier "grub.cfg",
après avoir retiré tout son contenu actuel ?

André
Avatar
didier gaumet
désolé d'avoir d'abord répondu en privé, je me suis gourré de bouton :-(

Le 18/08/2015 20:51, a écrit :

Parfois j'utilise Toutou-Linux sur clé USB... ce qui pourrait en expliquer
sa présence.



ça paraît quand même bizarre: la détection automatique d'autres systèmes
d'exploitation est placée dans /etc/grub.d/30_os-prober pas dans
/etc/grub.d/40_custom

Est-ce que je peux coller dans "40_custom" tout le fichier "grub.cfg",
après avoir retiré tout son contenu actuel ?



non, seulement le bloc compris entre ces deux lignes:
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
que tu modifies selon tes besoins (passage de sda5 à sda7 si je me
souviens bien)
Avatar
andre_debian
On Tuesday 18 August 2015 21:34:13 didier gaumet wrote:
désolé d'avoir d'abord répondu en privé, je me suis gourré de b outon :-( :


Pas grave.

Le 18/08/2015 20:51, a écrit :
> Parfois j'utilise Toutou-Linux sur clé USB... ce qui pourrait en
> expliquer sa présence.

ça paraît quand même bizarre: la détection automatique d'autres s ystèmes
d'exploitation est placée dans /etc/grub.d/30_os-prober pas dans
/etc/grub.d/40_custom :



Tous mes autres PC ont eux aussi Toutou Linux...

> Est-ce que je peux coller dans "40_custom" tout le fichier "grub.cfg",
> après avoir retiré tout son contenu actuel ?

non, seulement le bloc compris entre ces deux lignes:
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
que tu modifies selon tes besoins (passage de sda5 à sda7 si je me
souviens bien)

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###


Entre ces deux lignes de grub.cfg => 40_custom ?

André
Avatar
didier gaumet
Le 18/08/2015 22:38, a écrit :
[...]
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###


Entre ces deux lignes de grub.cfg => 40_custom ?



oui
Avatar
Pascal Hambourg
a écrit :

# update-grub
ne créé pas un fichier adapté à la configuration des partitions
du ou des disques durs.
Exemple, sur une partition de sauvegarde, sda7, clone de sda5=Wheezy,
il s'escrime à chaque fois à mettre deux UIDD différents :



UUID, pas UIDD.

============ > set=root <UIDD de sda7> = OK
root=UUID=<UIDD de sda5> quiet splash vga=0x318 = PAS OK !
============


La variable "root" de GRUB et l'option "root" des paramètres du noyau
n'ont pas du tout la même signification, il n'est pas anormal que leurs
valeurs diffèrent. La première indique à GRUB dans quel volume il doit
chercher les fichiers d'amorçage (image du noyau, initrd...) ; la
seconde indique au noyau (ou plutôt à l'initramfs de nos jours) le
volume à monter comme racine.

sda7 est un clone de sda5, mais adapté pour être bootable (/etc/fstab),
en cas de crash de sda5.



Quid de /boot/grub/grub.cfg sur sda7 ? update-grub s'en sert pour créer
les entrées de démarrage des autres systèmes Linux qu'il trouve.
Avatar
andre_debian
On Friday 21 August 2015 22:23:11 Pascal Hambourg wrote:
a écrit :
> # update-grub
> ne créé pas un fichier adapté à la configuration des partitions
> du ou des disques durs.
> Exemple, sur une partition de sauvegarde, sda7, clone de sda5=Wheezy,
> il s'escrime à chaque fois à mettre deux UIDD différents :

UUID, pas UIDD.


errare humanus est...

> =============
> set=root <UUID de sda7> = OK
> root=UUID=<UIDD de sda5> quiet splash vga=0x318 = PAS OK !
> =============

La variable "root" de GRUB et l'option "root" des paramètres du noyau
n'ont pas du tout la même signification, il n'est pas anormal que leurs
valeurs diffèrent. La première indique à GRUB dans quel volume il d oit
chercher les fichiers d'amorçage (image du noyau, initrd...) ; la
seconde indique au noyau (ou plutôt à l'initramfs de nos jours) le
volume à monter comme racine.

> sda7 est un clone de sda5, mais adapté pour être bootable (/etc/fst ab),
> en cas de crash de sda5.

Quid de /boot/grub/grub.cfg sur sda7 ? update-grub s'en sert pour créer
les entrées de démarrage des autres systèmes Linux qu'il trouve.



update-grub n'a pas à mettre une entrée UUID différente,
dans set=root ... et root=UUID=....
Pour moi, c'est un bug de Grub.

set=root <UUID de sda7>
root=UUID=<UIDD de sda7> (et pas sda5)

André
1 2 3