GRUB“일부 모듈에 코어 이미지가 누락되었을 수 있습니다”경고 나타납니다. Installing for i386-pc platform. grub-install:

하나의 HDD가 RAID에서 충돌하여 새 HDD를 추가했습니다.
이제 GRUB을 새 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에 있어야 함) 시스템을 다시 시작했습니다. 시스템이 부팅되고 경고가 사라졌습니다. 경고가 발생한 원인을 모르겠습니다.



답변

오늘도 똑 같았습니다. 를 grub-probe통해 파티션에 액세스하려고했기 때문에 발생하는 것으로 나타 났으며 /dev/sda이는 캐시와 일관되지 않습니다 /dev/sda1(및 sda2기타).

당신은 그것을 사용하여 해결할 수 있습니다

blockdev --flushbufs /dev/sda1

(필요에 따라 다른 파티션을 반복하십시오).


답변

성능이 저하 된 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 어레이가 마지막으로 동기화를 마치면 update-grub 및 grub-install에서 오류가 사라졌습니다.


답변

경고 일뿐 아니라 오류가 아니기 때문에 (그리고 GRUB은 여전히 ​​sda에 있어야 함) 시스템을 다시 시작했습니다.
시스템이 부팅되고 경고가 사라졌습니다.
경고가 발생한 원인을 모르겠습니다.


답변

단일 디스크에서 raid1로 마이그레이션하는 동안 grub2-install을 사용하면 다음과 같은 여러 경고 줄이있는 매우 비슷한 증상이 나타납니다. 그러나 이것이 치명적인 문제인지 아닌지 “테스트”하기 위해 재부팅하지는 않았습니다. 필자의 경우 다른 파티션이 2 디스크 RAID1로 분리되는 동안 4 디스크 RAID1에 / boot를 넣고 싶었습니다.

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 배열을 생성했다는 것입니다. 이전 버전의 GRUB 버전에는 배열을 만들 때 –metadata = 0.90이 필요합니다. / boot 파티션에서이 비트를 다시 실행 한 후 grub2-install은 100 % 작동했습니다. / boot가있는 원래 파티션은 / dev / sda1이므로 아래 명령에 4 개의 디스크 대신 3 개의 디스크 + 1이없는 이유를 명심하십시오.

전에:

$ 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”명령이있었습니다. 이것은 grub2-install에서 “–recheck”플래그로 대체되었습니다 :

낡은:

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

새로운:

$ grub2-install --recheck /dev/sda

또한 여러 디스크를 사용하는 경우 모든 디스크에서 명령을 반복해야합니다. 이것은 하나의 디스크에만 grub을 설치했지만 그 디스크가 사용자에게 죽는 상황을 방지합니다 (시스템을 부팅 할 수 없게됩니다).

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


답변

드라이브를 레이드에서 교환 한 후 grub 장치 맵 (/boot/grub/device.map)이 더 이상 정확하지 않기 때문에 발생합니다. 간단히 실행

grub-mkdevicemap -n

장치 맵을 업데이트하고

grub-install

해당 장치에 대해


답변