GRUB は特定の PC からのみ起動します。Debian USB LUKS インストール後

GRUB は特定の PC からのみ起動します。Debian USB LUKS インストール後

そこで、LUKS セットアップを使用して USB に Debian をインストールし、基本的に 4 つのパーティションを作成しました。

sdb1: 暗号化されていない、ブート パーティション sdb2: 暗号化されている、ルート パーティション sdb3: 暗号化されている、スワップ パーティション sdb4: 暗号化されている、ホーム パーティション

Debian のインストール中に、Debian は GRUB をどこにインストールするか尋ねず、PC のメイン HDD である sda に GRUB をインストールしました。

これで、この PC でのみ起動する、ほぼ完全に暗号化された USB ができました。私の目標は、どの PC でも起動できる USB を作ることでした。

これを修正するにはどうすればいいでしょうか。別の場所で、Debian luks システム内のターミナルから grub をインストールするだけでよいと誰かが提案しました。しかし、うまくいきません。Grub は問題やエラー メッセージなしでインストールされますが、インストールした PC で使用しない限り、USB はまだ起動しません。

この動きは、暗号化されたセットアップではなく、シンプルなセットアップでは機能すると思います。ブート パーティションとして sdb1 を選択したにもかかわらず、Debian が少なくとも grub をどこにインストールするか尋ねなかった理由がわかりません... 尋ねることなく sda に grub がインストールされました。とてもランダムに思えます。私は Linux の専門家ではありません。

ご協力いただければ幸いです。

答え1

つまり、基本的に必要なのは、GRUB ブートローダーを USB ドライブの MBR にインストールすることです。現在、PC のメイン ドライブの MBR にインストールされています。

この時点で、それを実行する最も簡単な方法は次のとおりです。

  1. PCでDebianを起動します。起動するように設定されている唯一のPCです。
  2. ログインしたら、/boot ファイルシステムがマウントされていることを確認します。マウントされていない場合は、先に進んでマウントしてください。
  3. 次に、ルートとして を実行します。grub-install /dev/sdXここで、X は USB ドライブに対応します。これにより、ブートローダーが USB ドライブの MBR にインストールされます。

明確に言えば、GRUB ブートローダーは、3 つの LUKS コンテナーの外側のパーティション テーブルの前にディスクにインストールされ、起動可能になります。

GRUBのインストールの詳細については、ここ. 実は、このトピックに関する Gentoo Linux のドキュメントは非常に網羅的です。

関連情報