すべてのカーネルを更新した後、GRUB構成ファイルは古い/ rootパーティションに設定されます。

すべてのカーネルを更新した後、GRUB構成ファイルは古い/ rootパーティションに設定されます。

コンテキスト

sdb/hd1SATA()スロットとm.2()スロット付きのノートsda/hd0パソコンがあります。ブートパーティションとEFIパーティションを持つhd0スロットにSSDがあり、パーティション//homeあるhd1にHHDがあります。swap

最近、既存のSSDを交換するために、より大きなSSDを購入しました。交換するときは、SSDのすべてのパーティションと/rootHDDのパーティションをバックアップ(clonezillaを使用)し、そのパーティションをすべて新しいドライブに復元しました。また、/問題が発生した場合に備えて、ハードドライブに古いパーティションを保持します。

復元後、次のように変更しました。

  • そのファイル内の/boot/grub.cfg古いパーティション()またはそのUUID()を参照するすべての行を変更して、新しいパーティションを参照しました。/root/dev/sdxnUUID=[old partition's uuid]
  • (新しいパーティションから/etc/fstab)また、古いパーティションのすべてのUUIDを新しいパーティションに変更しました。

質問

これらの変更は新しいSSDから正しく起動できましたが、更新するたびにファイルが古い/boot/grub.cfgパーティションを参照して再表示されました。それでも、以前のパーティション情報を持つ grub 構成の作成を担当するいくつかのファイルがあるようですが、見つかりません。

答え1

Debian / Ubuntuでは、/boot/grub/grub.cfg通常、すべてのカーネルの更新時に自動的に作成され、呼び出されますgrub-mkconfigupdate-grub

grub-mkconfigその構成をインポートし、ディレクトリのスクリプトを/etc/default/grub使用してファイルをビルドします。これらの場所を確認することに言及していないので、そうする必要があります。どちらの場所にもカスタムコンテンツを含めることができます。/etc/grub.d//boot/grub/grub.cfg

UEFIシステムには、ディレクトリを含むファイルシステム(ルートファイルシステムであれ別のファイルシステムであるかにかかわらず)/boot/efi/EFI/ubuntu/grub.cfgのUUIDも含まれています。このファイルは単にそのファイルシステムを探し、そこから「実際の」GRUB設定ファイルを読み取るように指示します。/boot/grub/bootgrubx64.efi

関連情報