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スクリプトに置き換えると、DebianのGRUB統合が大幅に変更されない限り、パッケージ管理でカスタム設定を維持できます。構成ファイル小包にgrub2-common。主な変更が発生しても、パッケージ管理でカスタムファイルを置き換える必要があるかどうかを尋ねるメッセージが表示されます。 )

まだ実行していない場合は、最新のカーネルとそのinitramfsファイルをPXEブートサーバーの適切な場所にコピーする/etc/kernel/postinst.d/独自のスクリプトを作成することを検討することもできます。/etc/kernel/postrm.d/それ以外の場合は、すべてのカーネル更新を手動でコピーする必要があります。これは、通常、操作が実行されるまでパッチのないカーネルに閉じ込められていることを意味します。

関連情報