GRUB“일부 모듈에 코어 이미지가 누락되었을 수 있습니다”경고


12

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


뭔가 빠진 것 같습니다. 어떤 RAID 레벨을 사용하십니까? 장치를 RAID에 추가 한 후에는 직접 작업하지 않아야합니다. cat /proc/mdstat여기에 결과를 게시 하십시오.
maniaque

내 게시물에 출력을 추가했습니다. RAID 레벨은 1입니다. 재 동기화가 이미 완료되었습니다.
pythonimus

따라서 모든 디스크와 md 장치가 작동합니다. grub을 직접 설치하지 마십시오. mdadm은 하드 디스크 내용을 자동으로 동기화합니다. grub을 md 장치에 설치하려면을 사용하십시오 grub-install /dev/md1. 그러나 md 장치에 grub이 필요합니까? md 장치에서 부팅합니까?
maniaque

1
내가 언급처럼 DIT 여기 Step12 : 다시 설치 GRUB 2 ([...] 음주 파티션 번호를 지정하지 않음) [...] 시스템 파티션이 소프트웨어 RAID에있는 경우 RAID의 모든 디스크에 GRUB 2를 설치합니다. [...] 또는 여기
pythonimus

답변:


16

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

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

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


1
방금 하드 디스크를 바꾸고 공격대를 재건했습니다. 다시 빌드하는 동안 grub-install을 실행하면 이러한 경고가 나타납니다. 재 구축이 완료되고 grub-install을 다시 실행하면 이러한 경고가 사라 졌음을 확인할 수 있습니다!
Vangelis Tasoulas

2
3 일 동안 나를 위해 사라지지 않았습니다. 처음 grub-install을 시도했을 때 다시 작성되었습니다.
pythonimus

3

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


2

단일 디스크에서 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.

1

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

grub-mkdevicemap -n

장치 맵을 업데이트하고

grub-install

해당 장치에 대해

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.