GRUB "Beberapa modul mungkin hilang dari gambar inti" peringatan

12

satu HDD jatuh dari RAID saya dan saya menambahkan HDD baru.
Sekarang saya ingin menginstal GRUB ke HDD baru: with grub-install /dev/sdb. Saya mendapat peringatan ini:

Installing for i386-pc platform.
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
Installation finished. No error reported.

Pada update-grub2saya dapatkan:

Generating grub configuration file ...
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
Found linux image: /boot/vmlinuz-3.13.0-30-generic
Found initrd image: /boot/initrd.img-3.13.0-30-generic
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
done

Output dari cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sdb4[3] sda4[2]
      1847608639 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb2[3] sda2[2]
      524276 blocks super 1.2 [2/2] [UU]

md2 : active raid1 sdb3[3] sda3[2]
      1073740664 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb1[3] sda1[2]
      8387572 blocks super 1.2 [2/2] [UU]

unused devices: none

Saya menginstal ulang kedua kernel dengan apt-get install --reinstalltetapi kesalahan / peringatan ini masih ada.
Adakah yang tahu bagaimana saya bisa menyingkirkan mereka?

Memperbarui:

Karena itu hanya peringatan, bukan kesalahan (dan GRUB harus tetap di sda) saya me-restart sistem. Sistem boot dan peringatan hilang. Saya tidak tahu apa yang memicu peringatan itu.

pythonimus
sumber
Sepertinya Anda kehilangan sesuatu. Level RAID mana yang Anda gunakan? Setelah Anda menambahkan perangkat ke RAID, Anda tidak boleh menggunakannya secara langsung. Silakan posting hasil di cat /proc/mdstatsini.
maniaque
menambahkan output ke posting saya. Level RAID adalah 1. resync sudah dilakukan.
pythonimus
Jadi, semua disk dan perangkat md Anda sudah habis. Anda tidak boleh mencoba menginstal grub secara langsung - mdadm menyelaraskan isi hard disk secara otomatis. Jika Anda ingin menginstal grub ke perangkat md, jadi gunakan grub-install /dev/md1, tetapi Anda yakin Anda membutuhkan grub di perangkat md? Apakah Anda boot dari perangkat md?
maniaque
1
Saya sudah seperti yang disebutkan di sini. Langkah12: Instal ulang GRUB 2 ([...] Jangan tentukan nomor partisi) [...] Jika partisi sistem menggunakan perangkat lunak, instal GRUB 2 pada semua disk di RAID. [...] Atau di sini
pythonimus

Jawaban:

16

Punya hal yang sama hari ini. Ternyata itu disebabkan oleh grub-probemencoba mengakses partisi melalui /dev/sda, yang tidak koheren dengan cache /dev/sda1(dan sda2sebagainya).

Anda dapat memperbaikinya menggunakan

blockdev --flushbufs /dev/sda1

(ulangi untuk partisi lain seperlunya).

Buah
sumber
ini melakukannya untuk saya, itu sudah cukup untuk menjalankan ini di partisi / boot
lifeofguenter
15

Saya mengalami masalah yang sama ketika membangun kembali array SW-RAID yang rusak, dan tersandung ini di situs web lain:

Sumber grub-2.00 tempat peringatan muncul berada di ./grub-core/disk/diskfilter.c dan memiliki komentar ini:

/* TRANSLATORS: This message kicks in during the detection of
   which modules needs to be included in core image. This happens
   in the case of degraded RAID and means that autodetection may
   fail to include some of modules. It's an installation time
   message, not runtime message.  */

(Diambil dari https://bbs.archlinux.org/viewtopic.php?id=160785 )

Dengan kata lain, kesalahan aneh ini terjadi ketika Anda telah menurunkan array RAID, dan harus menghilang (yang terjadi dalam kasus Anda) setelah array Anda berfungsi dengan baik.

Ketika array RAID saya akhirnya selesai disinkronkan, kesalahan menghilang pada pembaruan-grub dan instalasi-grub.

Harald
sumber
1
Saya baru saja mengganti hard disk dan membangun kembali penggerebekan. Ketika saya menjalankan grub-install selama pembangunan kembali, saya mendapat peringatan ini. Saya dapat mengkonfirmasi bahwa ketika pembangunan kembali selesai dan saya menjalankan grub-install lagi, peringatan ini menghilang!
Vangelis Tasoulas
2
Tidak menghilang untuk saya selama 3 hari. Rebuild selesai ketika saya pertama kali mencoba grub-install.
pythonimus
3

Karena itu hanya peringatan, bukan kesalahan (dan GRUB harus tetap di sda) saya me-restart sistem.
Sistem boot dan peringatan hilang.
Saya tidak tahu apa yang memicu peringatan itu.

pythonimus
sumber
2

Menggunakan grub2-install saat bermigrasi dari satu disk ke raid1, saya memiliki gejala yang sangat mirip, menjadi beberapa garis peringatan sebagai berikut. Saya tidak mau reboot hanya untuk "menguji" apakah ini masalah fatal atau tidak. Dalam kasus saya, saya ingin meletakkan / mem-boot ke RAID1 4-disk sementara partisi lain akan dipisahkan RAID1 2-disk:

grub2-install: warning: Couldn't find physical volume ‘(null)’. Some modules may be missing from core image..

grub2-mkconfig juga menunjukkan banyak kesalahan dalam konfigurasi yang dihasilkan:

/usr/sbin/grub2-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..

Saya menemukan masalah adalah bahwa saya telah membuat array RAID tanpa menentukan versi metadata. Versi grub yang lebih lama membutuhkan --metadata = 0.90 saat membuat array. Setelah melakukan ulang bit ini pada partisi / boot, grub2-install bekerja 100%. Ingatlah bahwa partisi asli dengan / boot adalah / dev / sda1, karenanya mengapa perintah di bawah ini memiliki 3 disk + 1 yang hilang, bukannya semua 4 disk.

Sebelum:

$ mdadm --create --level 1 /dev/md2 --raid-devices=4 /dev/sd{b,c,d}1 missing

Setelah:

$ mdadm --create --level 1 /dev/md2 --raid-devices=4 --metadata=0.90 /dev/sd{b,c,d}1 missing

Terkait dengan peta perangkat, grub memiliki perintah "grub-mkdevicemap". Ini telah diganti dengan flag "--recheck" di grub2-install:

Tua:

$ grub-mkdevicemap -n
$ grub-install /dev/sda

Baru:

$ grub2-install --recheck /dev/sda

Juga harap diingat, jika menggunakan banyak disk, untuk mengulangi perintah pada semua disk. Ini mencegah situasi di mana Anda hanya menginstal grub pada satu disk tetapi disk tersebut kebetulan mati pada Anda (yang akan menghasilkan sistem yang tidak dapat di-boot):

$ for disk in sd{a,b,c,d} ; do grub2-install --recheck /dev/$disk ; done
Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
Installation finished. No error reported.
zTricky
sumber
1

Ini terjadi karena peta perangkat grub (/boot/grub/device.map) tidak benar lagi, setelah bertukar drive dari serangan. Cukup jalankan

grub-mkdevicemap -n

untuk memperbarui peta perangkat dan

grub-install

untuk perangkat yang sesuai.

Henrik
sumber