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-mkconfig
grub-probe
grub-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/
그렇지 않으면 모든 커널 업데이트를 수동으로 복사해야 합니다. 이는 일반적으로 작업을 수행할 때까지 패치되지 않은 커널에 갇혀 있게 된다는 것을 의미합니다.