コンパクトフラッシュドライブを使用するUbuntu 22.04インスタンスをクローンすると、/boot/grubディレクトリが空になるようです。

コンパクトフラッシュドライブを使用するUbuntu 22.04インスタンスをクローンすると、/boot/grubディレクトリが空になるようです。

Ubuntu 22.04 セットアップは正常に動作しています。コンパクト フラッシュ ドライブをクローンして同一のシステムに入れると、file '/grub/i386-pc/normal.mod' not foundエラー メッセージが表示されて起動に失敗します。原因を調べるために grub リカバリを使用してきましたが、検証済みのクローンが作成されたにもかかわらず、ディレクトリが空になっているようです (ただし、この分野は初めてなので grub リカバリの使い方が間違っている可能性があります) /boot/grub

動作中のシステムではdf-h次のようになります。

Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              377M  1.4M  376M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  5.6G  4.7G  644M  88% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          1.7G  247M  1.4G  16% /boot
tmpfs                               16M   16K   16M   1% /opt/intellair/db
tmpfs                              377M  4.0K  377M   1% /run/user/1000

起動できないシステムで grub recovery を使用すると、lsコマンドは次の結果を返します。

(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)

設定すると次のようになります:

cmdpath=(hd0)
prefix=(hd0,gpt2)/grub
root=hd0,gpt2

ls他のドライブを試みると になりますFilesystem is unknownが、gpt2 ( に対応/dev/sda2) は動作し、 を実行すると にls /なります。

config-5.15.0-52-generic
lost+found
System.map-5.15.0-52-generic
grub/
initrd.img
vmlinuz
initrd.img-5.15.0-52-generic 
vmlinuz-5.15.0-52-generic
initrd.img.old
vmlinuz.old

重要なのは、コマンドを発行するとls /grub正常に実行されるものの、何も返されないことです。これは、grub フォルダーが空であることを意味していると解釈されます。これは、grub フォルダーにあるはずのモジュール (linux、kernel、normal など) をロードできないことでも裏付けられます。

2つの具体的な質問:

  1. grub リカバリでは、/grubディレクトリにファイルが含まれている場合はls /grubそれらをリストする必要がありますか?

  2. 確かに空だと仮定すると/grub、この問題を以前に経験した人はいますか? コンパクト フラッシュ ドライブのクローンによって、grub ディレクトリの内容が明示的に省略されたようです。

このプロセスは、古い Ubuntu 18.04 セットアップでは問題なく動作したことは注目に値します。クローン プロセスでこの問題が発生するのは、新しい Ubuntu 22.04 のみです。

関連情報