คำเตือน“ โมดูลบางโมดูลอาจหายไปจากแกนภาพ”


12

หนึ่ง HDD ตกจาก RAID ของฉันและฉันเพิ่ม HDD ใหม่
ตอนนี้ผมอยากจะติดตั้งด้วงกับ HDD grub-install /dev/sdbใหม่ด้วย ฉันได้รับคำเตือนเหล่านี้:

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.

เมื่อupdate-grub2ฉันได้รับ:

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

ผลผลิตของ 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

ฉันติดตั้งใหม่ทั้งเมล็ดด้วยapt-get install --reinstallแต่ข้อผิดพลาด / คำเตือนยังคงอยู่
ไม่มีใครรู้ว่าฉันสามารถกำจัดพวกเขาได้อย่างไร

ปรับปรุง:

เนื่องจากมันเป็นเพียงการเตือนไม่ใช่ข้อผิดพลาด (และ GRUB ต้องอยู่ใน sda) ฉันเริ่มระบบใหม่ ระบบบูตและคำเตือนหายไป ฉันไม่รู้ว่าอะไรเป็นต้นเหตุของคำเตือน


ดูเหมือนว่าคุณขาดอะไรไป คุณใช้ RAID ระดับใด หลังจากที่คุณเพิ่มอุปกรณ์ลงใน RAID คุณไม่ควรทำงานกับมันโดยตรง กรุณาโพสต์ผลลัพธ์ของcat /proc/mdstatที่นี่
maniaque

เพิ่มการส่งออกไปยังโพสต์ของฉัน ระดับ RAID คือ 1 ทำการซิงค์ซ้ำเรียบร้อยแล้ว
pythonimus

ดังนั้นดิสก์และอุปกรณ์ md ทั้งหมดของคุณจึงอัพ คุณไม่ควรลองติดตั้งด้วงโดยตรง - mdadm ซิงค์เนื้อหาฮาร์ดดิสก์โดยอัตโนมัติ หากคุณต้องการติดตั้งด้วงไปยังอุปกรณ์ md ใช้งานgrub-install /dev/md1แต่คุณแน่ใจหรือไม่ว่าคุณต้องการด้วงบนอุปกรณ์ md คุณทำการบูทจากอุปกรณ์ md หรือไม่?
maniaque

1
ฉันทำตามที่กล่าวไว้ที่นี่ขั้นตอนที่ 12: ติดตั้ง GRUB 2 อีกครั้ง ([... ] อย่าระบุหมายเลขพาร์ติชัน) [... ] หากพาร์ติชันระบบอยู่ในซอฟต์แวร์ RAID ติดตั้ง GRUB 2 บนดิสก์ทั้งหมดใน RAID [... ] หรือที่นี่
pythonimus

คำตอบ:


16

มีสิ่งเดียวกันวันนี้ ปรากฎว่ามันเกิดจากการgrub-probeพยายามที่จะเข้าถึงพาร์ทิชันผ่าน/dev/sdaซึ่งไม่สอดคล้องกันกับแคช/dev/sda1(และsda2etcetera)

คุณสามารถแก้ไขได้โดยใช้

blockdev --flushbufs /dev/sda1

(ทำซ้ำสำหรับพาร์ติชันอื่นตามความจำเป็น)


สิ่งนี้ทำเพื่อฉันมันก็เพียงพอแล้วที่จะเรียกใช้งานบนพาร์ทิชัน / boot
lifeofguenter

15

ฉันมีปัญหาเดียวกันในขณะที่สร้างอาร์เรย์ SW-RAID ที่เสื่อมโทรมอีกครั้งและสะดุดมันบนเว็บไซต์อื่น:

แหล่งที่มาของ grub-2.00 ที่มีคำเตือนเกิดขึ้นใน. /grub-core/disk/diskfilter.c และมีความคิดเห็นนี้:

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

(นำมาจากhttps://bbs.archlinux.org/viewtopic.php?id=160785 )

กล่าวอีกนัยหนึ่งข้อผิดพลาดแปลก ๆ นี้เกิดขึ้นเมื่อคุณมีอาร์เรย์ RAID ที่เสื่อมโทรมและควรหายไป (ซึ่งเกิดขึ้นในกรณีของคุณ) เมื่ออาร์เรย์ของคุณทำงานอย่างถูกต้อง

ในที่สุดเมื่อ RAID arrays ของฉันเสร็จสิ้นการซิงค์ข้อผิดพลาดจะหายไปทั้งในส่วนของ update-grub และ grub-install


1
ฉันเพิ่งเปลี่ยนฮาร์ดดิสก์และสร้างการจู่โจมใหม่ เมื่อฉันรันด้วงติดตั้งในระหว่างการสร้างใหม่ฉันได้รับคำเตือนเหล่านี้ ฉันสามารถยืนยันได้ว่าเมื่อการสร้างใหม่เสร็จสิ้นและฉันติดตั้งด้วงอีกครั้งคำเตือนเหล่านี้หายไป!
Vangelis Tasoulas

2
ฉันไม่ได้หายไปเป็นเวลา 3 วัน ทำการสร้างใหม่เมื่อฉันพยายามด้วงด้วงครั้งแรก
pythonimus

3

เนื่องจากมันเป็นเพียงการเตือนไม่ใช่ข้อผิดพลาด (และ GRUB ต้องอยู่ใน sda) ฉันเริ่มระบบใหม่
ระบบบูตและคำเตือนหายไป
ฉันไม่รู้ว่าอะไรเป็นต้นเหตุของคำเตือน


2

ด้วยการติดตั้ง grub2 ในขณะที่ย้ายจากดิสก์เดียวไปยัง Raid1 ฉันมีอาการคล้ายกันมากโดยมีบรรทัดคำเตือนหลายบรรทัดดังนี้ ฉันไม่เต็มใจที่จะรีบูตเพียงเพื่อ "ทดสอบ" ไม่ว่าจะเป็นปัญหาร้ายแรงหรือไม่ก็ตาม ในกรณีของฉันฉันต้องการที่จะวาง / บูตบน RAID1 4 ดิสก์ในขณะที่พาร์ทิชันอื่น ๆ จะถูกแยก 2 RAID1 ดิสก์:

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

grub2-mkconfig ยังแสดงข้อผิดพลาดหลายอย่างในการกำหนดค่าผลลัพธ์:

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

ฉันพบปัญหาคือว่าฉันได้สร้างอาร์เรย์ RAID โดยไม่ได้ระบุรุ่นข้อมูลเมตา รุ่นด้วงรุ่นเก่าต้องการ --metadata = 0.90 เมื่อสร้างอาร์เรย์ หลังจากทำบิตนี้ใหม่บนพาร์ติชัน / boot แล้ว grub2-install ก็ทำงานได้ 100% โปรดทราบว่าพาร์ติชันดั้งเดิมที่มี / boot คือ / dev / sda1 ดังนั้นทำไมคำสั่งด้านล่างจึงมี 3 ดิสก์ + 1 ขาดหายไปแทนที่จะเป็น 4 ดิสก์ทั้งหมด

ก่อน:

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

หลังจาก:

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

เกี่ยวข้องกับการแม็พอุปกรณ์ grub มีคำสั่ง "grub-mkdevicemap" สิ่งนี้ถูกแทนที่ด้วยแฟล็ก "--recheck" ในการติดตั้ง grub2:

เก่า:

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

ใหม่:

$ grub2-install --recheck /dev/sda

นอกจากนี้โปรดจำไว้ว่าหากใช้ดิสก์หลายแผ่นเพื่อทำซ้ำคำสั่งบนดิสก์ทั้งหมด สิ่งนี้จะป้องกันสถานการณ์ที่คุณติดตั้งด้วงไว้ในดิสก์เพียงแผ่นเดียว แต่ดิสก์นั้นเกิดขึ้นกับคุณ (ซึ่งจะทำให้ระบบไม่สามารถบู๊ตได้):

$ 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.

1

สิ่งนี้เกิดขึ้นเนื่องจากการแม็พอุปกรณ์ grub (/boot/grub/device.map) ไม่ถูกต้องอีกต่อไปหลังจากแลกเปลี่ยนไดรฟ์จากการโจมตี เพียงแค่เรียกใช้

grub-mkdevicemap -n

สำหรับการอัพเดตแผนที่อุปกรณ์และ

grub-install

สำหรับอุปกรณ์ที่เกี่ยวข้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.