À chaque update-grub
exécution, tous les disques durs sont analysés. Chaque lecteur en état de veille tournera pour devenir inactif. C'est un gaspillage d'énergie. Nous utilisons la version 1.98 de update-grub:
# update-grub -v
grub-mkconfig (GRUB) 1.98+20100804-14+squeeze1
Régression
Il y a une
GRUB_DISABLE_OS_PROBER=true
option dans le/etc/default/grub
fichier. Mais cela ne semble fonctionner qu'à partir de la version 2 et plus. Au moins, cela n'arrête pas d'analyser tous les lecteurs de notre version 1.98.Il existe un
/etc/grub.d/20_linux_xen
script qui peut être exécuté dans le cadre de update-grub. Après avoir supprimé les droits d'exécution pour tous les utilisateurs avecchmod a-x /etc/grub.d/20_linux_xen
tous les lecteurs, ils continuent de tourner.
Comment arrêter update-grub
d'analyser chaque disque dur?
/usr/sbin/grub-probe --target=device /
. Cette commande entraîne également la rotation de tous les lecteurs. Ce/usr/sbin/grub-probe
n'est pas un script shell.update-grub
? Cela ne devrait se produire que lorsque vous installez un nouveau noyau, alors qui s'en soucie?Réponses:
Dans le fichier /etc/grub.d/30_os-prober la ligne
fait tourner tous les disques (veille -> inactif). Os-prober est un utilitaire pour trouver des installations Linux sur des lecteurs autres que votre lecteur de démarrage. C'est le
os-prober
qui doit être désactivé.apt-get --purge remove os-prober
.$ which os-prober
. Sortie pourrait ressembler à :/usr/bin/os-prober
. Le supprimer les droits exécutables pour tous les utilisateurs de ce fichier:# chmod a-x /usr/bin/os-prober
$ locate /30_os-prober
. Sortie pourrait ressembler à :/etc/grub.d/30_os-prober
. Le supprimer les droits exécutables pour tous les utilisateurs de ce fichier:# chmod a-x /etc/grub.d/30_os-prober
/etc/grub.d/30_os-prober
. Par exemple, en faisant fonctionner l'GRUB_DISABLE_OS_PROBER=true
option dans notre version grub 1.98. Cela peut être fait en insérant dans le fichier/etc/grub.d/30_os-prober
le code sous la ligneset -e
:...
la source
Pour ceux qui se demandent si cela en vaut vraiment la peine, oui. Peut-être pas pour économiser de l'énergie, mais aujourd'hui j'ai rencontré un problème avec update-grub car il voulait sonder à la fois / dev / sda (mon disque dur) et / dev / sdc (une clé USB). Sans ce dernier inséré dans mon ordinateur portable, update-grub se bloquerait, même s'il n'y a en fait aucun système d'exploitation sur ma clé USB installé et que je n'ai jamais démarré à partir de cette clé. Comme la clé USB s'est récemment cassée, j'avais besoin d'un moyen pour update-grub de continuer (vivant) sans elle. Heureusement,
GRUB_DISABLE_OS_PROBER=true
vient de faire l'affaire. :)la source
(Cela vaut-il vraiment le temps et les efforts pour y remédier?)
Comme vous l'avez mentionné, le sondage se produit probablement lors des
grub-mkconfig
appelsgrub-probe
. Vous pouvez modifiergrub-mkconfig
simplement en codant en dur le résultat desgrub-probe
appels. Il est utilisé pour remplirGRUB_DEVICE
,GRUB_DEVICE_UUID
,GRUB_DEVICE_BOOT
,GRUB_DEVICE_BOOT_UUID
etGRUB_FS
.la source
Voir ma solution ici pour désactiver sélectivement les partitions qui sont vérifiées par
os-prober
un petitpatch
.La configuration de
GRUB_OS_PROBER_SKIP_LIST="UUID@device_path"
dans/etc/default/grub
:réduit le nombre d'appareils
${OSPROBED}
utilisés par/etc/grub.d/30_os-prober
qui arrête le chèque avec
${grub_probe} --target=fs_uuid --device
la source
Je sais que c'est un vieux post, mais j'ai trouvé un autre moyen d'y parvenir qui n'implique pas de modifier les scripts. dans
/etc/grub.d/
j'ai renommé le fichier30_os-prober
en.30_os-prober
(commencez par un point) et il est ignoré lors de la mise à jour même s'il apparaît au même endroitls
si vous utilisez-a
.la source