GRUB-Warnung „Einige Module fehlen möglicherweise im Core-Image“

12

Eine Festplatte stürzte von meinem RAID ab und ich fügte eine neue Festplatte hinzu.
Jetzt wollte ich GRUB auf der neuen Festplatte installieren: mit grub-install /dev/sdb. Ich bekomme folgende Warnungen:

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.

Auf update-grub2bekomme ich:

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

Ausgabe von 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

Ich habe beide Kernel mit neu installiert, apt-get install --reinstallaber diese Fehler / Warnungen bleiben bestehen.
Weiß jemand, wie ich sie loswerden kann?

Aktualisieren:

Da es nur eine Warnung war, kein Fehler (und GRUB muss noch auf sda sein), habe ich das System neu gestartet. Das System wurde gestartet und die Warnungen sind verschwunden. Ich weiß nicht, was die Warnungen ausgelöst hat.

Pythonimus
quelle
Sieht so aus, als ob Ihnen etwas fehlt. Welchen RAID-Level verwenden Sie? Nachdem Sie das Gerät zu RAID hinzugefügt haben, sollten Sie nicht direkt damit arbeiten. Bitte posten Sie das Ergebnis cat /proc/mdstathier.
Maniaque
Ausgabe zu meinem Beitrag hinzugefügt. RAID-Level ist 1. Resync ist bereits durchgeführt.
Pythonimus
Alle Ihre Festplatten und MD-Geräte sind also aktiv. Sie sollten nicht versuchen, grub direkt zu installieren - mdadm synchronisiert den Festplatteninhalt automatisch. Wenn Sie grub auf einem md-Gerät installieren möchten, verwenden Sie es grub-install /dev/md1, aber sind Sie sicher, dass Sie grub auf einem md-Gerät benötigen? Booten Sie von einem MD-Gerät?
Maniaque
1
Ich schreibe es wie hier erwähnt. Schritt 12: GRUB 2 neu installieren ([...] Geben Sie keine Partitionsnummer an). [...] Wenn sich die Systempartitionen auf einem Software-RAID befinden, installieren Sie GRUB 2 auf allen Festplatten im RAID. [...] Oder hier
Pythonimus

Antworten:

16

Hatte heute das gleiche. Es stellt sich heraus, dass dies darauf zurückzuführen ist, dass grub-probeversucht wird, über Partitionen auf Partitionen zuzugreifen /dev/sda, was nicht mit dem Cache /dev/sda1(und sda2usw.) übereinstimmt .

Sie können es mit beheben

blockdev --flushbufs /dev/sda1

(Bei Bedarf für andere Partitionen wiederholen).

Obst
quelle
das hat es für mich getan, es war ausreichend, dies auf der / boot-Partition
auszuführen
15

Ich hatte das gleiche Problem beim Wiederherstellen eines verschlechterten SW-RAID-Arrays und bin auf einer anderen Website darüber gestolpert:

Die grub-2.00-Quelle, in der die Warnung angezeigt wird, befindet sich in ./grub-core/disk/diskfilter.c und hat diesen Kommentar:

/* 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.  */

(Entnommen aus https://bbs.archlinux.org/viewtopic.php?id=160785 )

Mit anderen Worten, dieser seltsame Fehler tritt auf, wenn Sie RAID-Arrays beeinträchtigt haben, und sollte verschwinden (was in Ihrem Fall der Fall war), sobald Ihre Arrays ordnungsgemäß funktionieren.

Als meine RAID-Arrays endlich synchronisiert waren, verschwand der Fehler sowohl bei Update-Grub als auch bei Grub-Installation.

Harald
quelle
1
Ich habe gerade eine Festplatte gewechselt und den Raid neu aufgebaut. Als ich während des Wiederaufbaus grub-install ausführte, wurden diese Warnungen angezeigt. Ich kann bestätigen, dass diese Warnung verschwunden ist, als der Wiederaufbau abgeschlossen ist und ich grub-install erneut ausgeführt habe!
Vangelis Tasoulas
2
Ist für mich 3 Tage lang nicht verschwunden. Der Neuaufbau wurde durchgeführt, als ich zum ersten Mal versuchte, eine Grub-Installation durchzuführen.
Pythonimus
3

Da es nur eine Warnung war, kein Fehler (und GRUB muss noch auf sda sein), habe ich das System neu gestartet.
Das System wurde gestartet und die Warnungen sind verschwunden.
Ich weiß nicht, was die Warnungen ausgelöst hat.

Pythonimus
quelle
2

Bei der Verwendung von grub2-install während der Migration von einer einzelnen Festplatte zu raid1 hatte ich sehr ähnliche Symptome: Mehrere Warnzeilen wie folgt. Ich war nicht bereit, einen Neustart durchzuführen, nur um zu "testen", ob dies jedoch ein schwerwiegendes Problem war oder nicht. In meinem Fall wollte ich ein 4-Festplatten-RAID1 installieren / booten, während die anderen Partitionen von 2-Festplatten-RAID1s getrennt werden sollten:

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

grub2-mkconfig zeigte auch mehrere Fehler in der resultierenden Konfiguration:

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

Ich stellte fest, dass das Problem darin bestand, dass ich das RAID-Array ohne Angabe der Metadatenversion erstellt hatte. Ältere Grub-Versionen erfordern beim Erstellen des Arrays --metadata = 0.90. Nachdem dieses Bit auf der / boot-Partition erneut ausgeführt wurde, funktionierte grub2-install zu 100%. Beachten Sie, dass die ursprüngliche Partition mit / boot / dev / sda1 war. Daher fehlen in den folgenden Befehlen 3 Festplatten + 1 anstelle aller 4 Festplatten.

Vor:

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

Nach:

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

In Bezug auf die Gerätezuordnung hatte grub den Befehl "grub-mkdevicemap". Dies wurde in grub2-install durch das Flag "--recheck" ersetzt:

Alt:

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

Neu:

$ grub2-install --recheck /dev/sda

Denken Sie auch daran, bei Verwendung mehrerer Festplatten den Befehl auf allen Festplatten zu wiederholen. Dies verhindert die Situation, in der Sie grub nur auf einer Festplatte installiert haben, diese Festplatte jedoch zufällig auf Ihnen stirbt (was zu einem nicht bootfähigen System führen würde):

$ 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.
zaTricky
quelle
1

Dies liegt daran, dass die Grub-Gerätezuordnung (/boot/grub/device.map) nach dem Austausch eines Laufwerks von raid nicht mehr korrekt ist. Einfach laufen

grub-mkdevicemap -n

zum Aktualisieren der Gerätekarte und

grub-install

für die entsprechenden Geräte.

Henrik
quelle