Setiap kali update-grub
dijalankan semua hard drive dipindai. Setiap drive yang dalam kondisi siaga akan berputar untuk idle. Ini adalah pemborosan energi. Kami menggunakan pembaruan-grub versi 1.98:
# update-grub -v
grub-mkconfig (GRUB) 1.98+20100804-14+squeeze1
Regresi
Ada
GRUB_DISABLE_OS_PROBER=true
opsi di/etc/default/grub
file. Tapi itu sepertinya hanya bekerja dari versi 2 dan lebih tinggi. Setidaknya itu tidak berhenti memindai semua drive di versi kami 1.98.Ada
/etc/grub.d/20_linux_xen
skrip yang dapat dijalankan sebagai bagian dari pembaruan-grub. Setelah menghapus hak eksekusi untuk semua pengguna denganchmod a-x /etc/grub.d/20_linux_xen
semua drive masih berputar.
Bagaimana cara berhenti update-grub
memindai setiap hard drive?
/usr/sbin/grub-probe --target=device /
. Perintah itu juga menyebabkan semua drive berputar. Ini/usr/sbin/grub-probe
bukan skrip shell.update-grub
? Ini seharusnya hanya terjadi ketika Anda menginstal kernel baru, jadi siapa yang peduli?Jawaban:
Dalam file /etc/grub.d/30_os-prober baris
membuat semua drive berputar (siaga -> idle). Os-prober adalah utilitas untuk menemukan instalasi Linux di drive selain boot drive Anda. Itu
os-prober
yang perlu dinonaktifkan.apt-get --purge remove os-prober
.$ which os-prober
. Output akan terlihat seperti:/usr/bin/os-prober
. Hapus hak yang dapat dieksekusi untuk semua pengguna untuk file itu:# chmod a-x /usr/bin/os-prober
$ locate /30_os-prober
. Output akan terlihat seperti:/etc/grub.d/30_os-prober
. Hapus hak yang dapat dieksekusi untuk semua pengguna untuk file itu:# chmod a-x /etc/grub.d/30_os-prober
/etc/grub.d/30_os-prober
. Misalnya dengan membuatGRUB_DISABLE_OS_PROBER=true
opsi berfungsi di versi grub kami 1.98. Ini dapat dilakukan dengan memasukkan file/etc/grub.d/30_os-prober
kode di bawah barisset -e
:...
sumber
Bagi mereka yang bertanya-tanya apakah itu benar-benar sepadan dengan usaha, ya itu. Mungkin bukan untuk penghematan energi, tetapi hari ini saya menghadapi masalah dengan pembaruan-grub karena ingin menyelidiki baik / dev / sda (harddisk saya) dan / dev / sdc (USB-stick). Tanpa yang terakhir dimasukkan ke laptop saya, update-grub akan hang, meskipun sebenarnya tidak ada OS pada USB-stick saya yang dipasang atau apakah saya pernah boot dari stick ini. Ketika USB-stick baru-baru ini rusak, saya membutuhkan cara untuk memperbarui-grub untuk melanjutkan (hidup) tanpa itu. Untungnya,
GRUB_DISABLE_OS_PROBER=true
baru saja melakukan trik. :)sumber
(Apakah ini benar-benar sepadan dengan waktu dan upaya untuk memperbaikinya?)
Seperti yang Anda sebutkan, pemeriksaan mungkin terjadi saat
grub-mkconfig
panggilangrub-probe
. Anda dapat memodifikasigrub-mkconfig
hanya dengan melakukan hardcoding hasilgrub-probe
panggilan. Hal ini digunakan untuk mengisiGRUB_DEVICE
,GRUB_DEVICE_UUID
,GRUB_DEVICE_BOOT
,GRUB_DEVICE_BOOT_UUID
, danGRUB_FS
.sumber
Lihat solusi saya di sini untuk menonaktifkan partisi mana yang diperiksa
os-prober
dengan selektifpatch
.Konfigurasi
GRUB_OS_PROBER_SKIP_LIST="UUID@device_path"
dalam/etc/default/grub
:mengurangi jumlah perangkat yang
${OSPROBED}
digunakan oleh/etc/grub.d/30_os-prober
yang menghentikan cek dengan
${grub_probe} --target=fs_uuid --device
sumber
Saya tahu ini adalah posting lama, tetapi saya menemukan cara lain untuk mencapai hal ini yang tidak melibatkan perubahan pada skrip. di
/etc/grub.d/
saya mengganti nama file30_os-prober
menjadi.30_os-prober
(mulai dengan titik) dan dilewati selama pembaruan meskipun itu ditampilkan di tempat yang samals
jika Anda menggunakan-a
.sumber