Toda vez que update-grub
é executado, todos os discos rígidos são verificados. Cada unidade que está no modo de espera gira para ficar ociosa. Isso é um desperdício de energia. Usamos o update-grub versão 1.98:
# update-grub -v
grub-mkconfig (GRUB) 1.98+20100804-14+squeeze1
Regressão
Há uma
GRUB_DISABLE_OS_PROBER=true
opção no/etc/default/grub
arquivo Mas isso parece funcionar apenas a partir da versão 2 e posterior. Pelo menos, não para de verificar todas as unidades em nossa versão 1.98.Há um
/etc/grub.d/20_linux_xen
script que pode ser executado como parte do update-grub. Depois de remover os direitos de execução para todos os usuários comchmod a-x /etc/grub.d/20_linux_xen
todas as unidades, eles continuam girando.
Como parar update-grub
de verificar cada disco rígido?
/usr/sbin/grub-probe --target=device /
. Esse comando também faz com que todas as unidades girem. O/usr/sbin/grub-probe
não é um script de shell.update-grub
? Isso só deve acontecer quando você instala um novo kernel, então quem se importa?Respostas:
No arquivo /etc/grub.d/30_os-prober, a linha
faz todas as unidades girarem (espera -> ociosa). O Os-prober é um utilitário para encontrar instalações Linux em unidades que não sejam a sua unidade de inicialização. É o
os-prober
que precisa ser desativado.apt-get --purge remove os-prober
.$ which os-prober
. Saída pode parecer:/usr/bin/os-prober
. Remova os direitos executáveis de todos os usuários desse arquivo:# chmod a-x /usr/bin/os-prober
$ locate /30_os-prober
. Saída pode parecer:/etc/grub.d/30_os-prober
. Remova os direitos executáveis de todos os usuários desse arquivo:# chmod a-x /etc/grub.d/30_os-prober
/etc/grub.d/30_os-prober
. Por exemplo, fazendo aGRUB_DISABLE_OS_PROBER=true
opção funcionar em nossa versão do grub 1.98. Isso pode ser feito inserindo no arquivo/etc/grub.d/30_os-prober
o código abaixo da linhaset -e
:...
fonte
Para aqueles que se perguntam se realmente vale a pena o esforço, sim é. Talvez não seja para economizar energia, mas hoje encontrei um problema com o update-grub, pois ele queria pesquisar o / dev / sda (meu disco rígido) e / dev / sdc (um pendrive). Sem o último inserido no meu laptop, o update-grub travaria, mesmo que não haja realmente nenhum SO no meu pen drive instalado nem nunca inicializei nesse pen drive. Como o pen drive quebrou recentemente, eu precisava de um meio para o update-grub continuar (vivo) sem ele. Felizmente,
GRUB_DISABLE_OS_PROBER=true
apenas fiz o truque. :)fonte
(Isso realmente vale o tempo e o esforço para consertar?)
Como você mencionou, a investigação provavelmente está acontecendo quando
grub-mkconfig
chamadasgrub-probe
. Você pode modificargrub-mkconfig
simplesmente codificando o resultado dasgrub-probe
chamadas. Ele é usado para preencherGRUB_DEVICE
,GRUB_DEVICE_UUID
,GRUB_DEVICE_BOOT
,GRUB_DEVICE_BOOT_UUID
, eGRUB_FS
.fonte
Veja minha solução aqui para desativar seletivamente quais partições são verificadas
os-prober
com um pequenopatch
.A configuração de
GRUB_OS_PROBER_SKIP_LIST="UUID@device_path"
em/etc/default/grub
:reduz o número de dispositivos
${OSPROBED}
usados pelo/etc/grub.d/30_os-prober
que interrompe a verificação com
${grub_probe} --target=fs_uuid --device
fonte
Sei que este é um post antigo, mas encontrei outra maneira de fazer isso que não envolve fazer alterações nos scripts. em
/etc/grub.d/
I renomeado o arquivo30_os-prober
para.30_os-prober
(começar com um período) e é ignorada durante a atualização mesmo que ele mostra no mesmo lugar emls
que você usa-a
.fonte