Grubエラー「No such device:/.disk/info」は何を意味し、どのように解決しますか?

Grubエラー「No such device:/.disk/info」は何を意味し、どのように解決しますか?

KDE Plasma DEを使ってDebianテストをインストールしましたが、しばらくしてLive USB、chrootを使用してgrubを再インストールして解決したGrubの問題が発生したようです。

grubメニューの直前に黒い画面に表示される2つのエラーメッセージを除いて、起動の問題はありません。

error: no such device: /.disk/info
error: no such device: /.disk/mini-info

これが解決しなければならない問題があり、それを解決する方法を示すかどうか疑問に思います。

ベストアンサー1

Debian 12(明らかに最新バージョン)でセキュアブートが有効になっているUEFIシステムにインストールするときは、/boot/grub/grubx64.efi次のものが含まれます。メモリディスクイメージ(サイズは約2.4M)Unicodeフォントとgrub.cfg以下の内容のミニファイルが含まれています。

if [ -z "$prefix" -o ! -e "$prefix" ]; then
        if ! search --file --set=root /.disk/info; then
                search --file --set=root /.disk/mini-info
        set prefix=($root)/boot/grub
if [ -e $prefix/x86_64-efi/grub.cfg ]; then
        source $prefix/x86_64-efi/grub.cfg
elif [ -e $prefix/grub.cfg ]; then
        source $prefix/grub.cfg
else
        source $cmdpath/grub.cfg

また構成ファイルを含める一般的な話す:

normal (memdisk)/grub.cfg

組み込みのデフォルト値$prefixはに設定されています/EFI/debian

したがって、grubx64.efi実行が開始されると、まずmemdiskイメージの構成ファイルを使用します。

$prefixまず、プロファイルは、ESPパーティションに定義されていないか、存在しない一致するファイルまたはディレクトリがないことを確認します。その場合は、GRUBの初期値を対応するファイルシステムを$root含むか指す/.disk/infoパーティション/ファイルシステムに設定します。/.disk/mini-info$prefix/boot/grub

私の考えでは、これらのファイルはDebianインストールメディアにあります。これは、Debianが単一の署名付きの再現可能なバイナリビルドを使用してSecure Boot互換ブートローダのすべての要件を満たすことができる方法です。

永久にインストールされたOSの場合は、次のように動作する必要があるようです。

  1. 組み込みのデフォルトはESPに存在する必要があるディレクトリです$prefix/EFI/debian
  2. 組み込みの構成では、GRUBに最初にメモリー・ディスク・ベースの構成に従うように指示します。 GRUBのデフォルトのルートファイルシステムはESPです。
  3. 設定されており、$prefixESPにディレクトリが存在するため、最初のif...then条件は維持されず、searchコマンドをスキップする必要があります。
  4. /EFI/debian/x86_64-efi/grub.cfgESPには存在しないため(Debianインストールメディアに存在します)、2番目のif...then条件も維持されません。
  5. /EFI/debian/grub.cfgESPには、(/boot/efi/EFI/debian/grub.cfgオペレーティングシステムが正常に実行されているとき)実際のGRUB構成がどこにあるかを知らせるものが必要です。したがって、elif条件はtrueで、GRUBはファイルを読み取ります。専用パーティションがある場合は、次/bootの内容を含めることができます。
search.fs_uuid 12345678-90ab-cdef-0123-456789abcdef root 
set prefix=($root)'/grub'
configfile $prefix/grub.cfg

次に、/bootUUIDを介してファイルシステムをGRUBのルートファイルシステム(= GRUBからアクセスするすべての後続のパスで参照されるファイルシステム)として選択し、それを使用します/boot/grub/grub.cfg

/boot暗号化されたボリュームやルートファイルシステムの通常のディレクトリなど、別の場所にある場合、コンテンツは/boot/efi/EFI/debian/grub.cfg状況によって異なります。

あなたの場合、ifmemdisk設定の最初の条件に問題があります。おそらくあなたのアクティビティはESPディレクトリにありませんか(起動したOSからアクセスするとき)?あるいは、ファームウェアはパス名を大文字と小文字を区別して解釈しますが、ディレクトリ名の実際の文字と大文字と小文字が異なる場合があります。thengrubx64.efi/EFI/debian/boot/efi/EFI/debian/

それにもかかわらず、最終的には検索が行われ、インストール/.disk/infoメディア/.disk/mini-infoにのみ存在し、失敗するとエラーメッセージが表示されます。

GRUBは他の方法で動作するため、これらのメッセージは無害である可能性が高く、ほんのわずかな外観上面倒です。ただし、これを削除するには、efibootmgr -vUEFIブート変数のブートパスと実際のGRUB設定ファイルへの移動中にGRUBが参照するすべてのパス名を確認し(上記のように)、次のように変更を変更する必要があります。それらを。

おすすめ記事