答え1
それでは、分割されていないスペースに見える場所に2番目のオペレーティングシステムを隠そうとしますか?これは非常に安全な方法ではありません。たとえば、testdisk
ディスク上で実行すると、パーティションを検出してそれを物理パーティションテーブルに追加することをお勧めします。私は、すべてのフォレンジックツールが「割り当てられていないスペース」にいくつかの構造化コンテンツがあるように見えることをすばやく検出できることを願っています。
しかし、もちろん臨時検査を通過することもできる。
GRUBはこれを簡単に実行できないようですが、外部ブートドライブにカーネルファイルとinitramfsファイルがある場合は、initramfsで簡単に実行できます。マッピングテーブル(デフォルトでは名前+開始位置)ブロックを作成する数値+長さ)隠しパーティションの場合、それを使用してマッピングをロードし、dmsetup create
initramfsを/dev/mapper/hidden_root
ルートファイルシステムにマウントし、デフォルトで起動を通常どおり実行しますが、必要に応じてスワップパーティション/dev/mapper/hidden_other
としてマウントします。で使用します。/dev/mapper/hidden_swap
各隠しパーティションのマッピングをロードするには、次のコマンドを実行できます。
dmsetup create <name> --table "0 <length in blocks> linear <disk major:minor> <first block #>"
<disk major:minor>
8:0
/ dev / sdaなどの隠しパーティションを含むディスクデバイスのプライマリおよびマイナーデバイス番号。
最初の隠しパーティションの名前がある場合、hidden_root
それをマップするコマンドは次のとおりです。
dmsetup create hidden_root --table "0 4236248 linear 8:0 952190894"
本質的には、これは「ブロック#952190894で始まるディスク/ dev / sdaの線形拡張をマップし、それを/ dev / mapper / hidden_rootのブロック0..4236248としてレンダリングします」を意味します。
GRUBに代替パーティションテーブルを読み込むことができますが、Linuxカーネルはファームウェアの指示に依存せずにパーティションテーブル自体を読み取ってパーティションを見つけるため、initramfsでこれを行う必要があります。