そこで、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 にインストールされています。
この時点で、それを実行する最も簡単な方法は次のとおりです。
- PCでDebianを起動します。起動するように設定されている唯一のPCです。
- ログインしたら、/boot ファイルシステムがマウントされていることを確認します。マウントされていない場合は、先に進んでマウントしてください。
- 次に、ルートとして を実行します。
grub-install /dev/sdX
ここで、X は USB ドライブに対応します。これにより、ブートローダーが USB ドライブの MBR にインストールされます。
明確に言えば、GRUB ブートローダーは、3 つの LUKS コンテナーの外側のパーティション テーブルの前にディスクにインストールされ、起動可能になります。
GRUBのインストールの詳細については、ここ. 実は、このトピックに関する Gentoo Linux のドキュメントは非常に網羅的です。