grub-probe: 오류: 10.0.0.1:/export/host1에 대한 정식 경로를 얻을 수 없습니다.

grub-probe: 오류: 10.0.0.1:/export/host1에 대한 정식 경로를 얻을 수 없습니다.

pxe 및 nfs를 통해 디스크 없는 debian linux(ubuntu 20.04)를 부팅합니다. 모든 것이 잘 작동하고 콘솔을 부팅할 수 있습니다. apt upgrde를 실행할 때 오류 메시지가 나타납니다.

/usr/sbin/grub-probe: error: failed to get canonical path of `10.0.0.1:/export/host1'

마운트를 실행하면

10.0.0.1:/export/host1 on / type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,port=2049,timeo=600,retrans=10,sec=sys,local_lock=all,addr=10.0.0.1)

df내가 보기 에 :

10.0.0.1:/export/host1  500G   39G  462G   8% /

나는 /etc/fstab다음을 가지고 있습니다 :

#/swap.img      none    swap    sw      0       0
/dev/nfs       /               nfs    defaults          1       1

로그에 아무것도 표시되지 않습니다.

답변1

디스크가 없는 시스템에 GRUB 부트 로더를 설치하셨습니까? 부트로더가 PXE 서버에 있습니다. 로컬 GRUB 패키지만 제거하면 됩니다.

/etc/kernel/post(inst|rm).d/zz-update-grub실행은 런타임에 오류 메시지를 발생시키는 update-grub래퍼일 뿐이 므로 모든 커널 업데이트 후에 오류 메시지가 발생합니다 . 실행될 때마다 로컬 부트로더를 사용하고 NFS 마운트 루트 파일 시스템에 의해 난독화된다는 기본 가정이 있습니다 .grub-mkconfiggrub-probegrub-probe

어떤 이유로 GRUB 패키지를 유지하려는 경우(예: GRUB 문서 및 매뉴얼 페이지에 쉽게 액세스하기 위해) /etc/kernel/postinst.d/zz-update-grub및 를 제거 /etc/kernel/postrm.d/zz-update-grub하거나 더 나은 방법으로는 실행 전용으로 변경할 수 있습니다 exit 0. 로컬 부트 로더 디스크가 없는 시스템에서 사용할 수 있습니다.

(이를 제거하면 다음 GRUB 패키지 업데이트 시에만 다시 설치됩니다. 이를 사용자 정의 no-op 스크립트로 바꾸면 데비안의 GRUB 통합이 크게 변경되지 않는 한 패키지 관리에서 사용자 정의 설정을 유지할 수 있습니다.구성 파일소포 로 grub2-common. 주요 변경 사항이 발생하더라도 패키지 관리에서 사용자 지정 파일을 교체해야 하는지 묻는 메시지가 표시됩니다. )

아직 수행하지 않은 경우 최신 커널 및 해당 initramfs 파일을 PXE 부팅 서버의 적절한 위치에 복사하는 /etc/kernel/postinst.d/고유 한 스크립트를 생성하는 것을 고려할 수도 있습니다 . /etc/kernel/postrm.d/그렇지 않으면 모든 커널 업데이트를 수동으로 복사해야 합니다. 이는 일반적으로 작업을 수행할 때까지 패치되지 않은 커널에 갇혀 있게 된다는 것을 의미합니다.

관련 정보