これを実現する方法で LVMと、単一の暗号化パーティション
警告
まず、128Mはブートするには小さすぎます!1Gを使用しています。そうでなければ、起こるにバインドされているものは、古いカーネルを削除することを忘れておよび/ブートがいっぱいになり、そしてあなたがする必要がありますということですシステムから古いカーネルを削除しようとしているの痛みに対処するあなたが得ることができるようにapt
、またはapt-get
仕事に再び。1Gであっても、古いカーネルを時々削除するようにしてください。
次の手順は、初心者ユーザー向けではありません。
更新:次の操作を実行するスクリプトを作成しました!必要なことは、インストール前にLive OSから実行するだけです。私のブログで記事を見つけることができます。
ライブOSからの事前インストール
手動でパーティショニングしながらLUKSとLVMをセットアップしたい!Ubuntu 16.04.2でこれをテストしました
ライブOSからUbuntuを起動し、インストールせずにUbuntuを試すオプションを選択します。以下に概説した手順に従ってください。/ dev / sdbにインストールしていると仮定しましょう。
- 選択したツールでドライブをパーティション分割します。次のように、msdosパーティションテーブルでfdiskを使用してセットアップしました。
- 他のパーティション:既存のOS-これらは気にしません
- sdb1:/ boot(1G)
- sdb2:LUKSパーティション(ディスクの残り)
- LUKSのセットアップ
sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
- 必須ではありませんが、LUKSパーティションをゼロで埋めて、暗号化された状態のパーティションがランダムデータで満たされるようにすることをお勧めします。
sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M
注意してください、これは本当に長い時間がかかる可能性があります!
- / dev / mapper / CryptDiskでLVMをセットアップします
sudo pvcreate /dev/mapper/CryptDisk
sudo vgcreate vg0 /dev/mapper/CryptDisk
sudo lvcreate -n swap -L 2G vg0
sudo lvcreate -n root -L 10G vg0
sudo lvcreate -n home -l +100%FREE vg0
ライブOSからのインストール
- これでインストールの準備ができました。インストールの「インストールタイプ」部分に到達したら、「その他」オプションを選択します。次に、構成したいように/ dev / mapper / vg0- *パーティションを手動で割り当てます。/ dev / sdb1を/ bootとして設定することを忘れないでください。/ bootパーティションは暗号化しないでください。そうである場合、ブートできません。「ブートローダーインストール用のデバイス」を/ dev / sdbに変更し、インストールを続行します。
- インストールが完了したら、再起動しないでください!「テストを継続する」オプションを選択します。
ライブOSからのインストール後の構成
システムを起動したい場合、このビットは本当に重要です!これらのインストール後の手順を理解するために、これを調査するのにかなりの時間を費やしました。私の場合、/ dev / sdaで/ bootのサイズをカスタマイズしたかったので、実際にそれを行っていましたが、すべての作業はあなたの状況にも引き継がれるはずです。
- ターミナルで、次を入力し、/ dev / sdb2のUUIDを探します。後で使用するために、そのUUIDをメモします。
sudo blkid | grep LUKS
- 私のマシンの重要な行は
/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
次に、新しくインストールしたシステムを再度マウントして、さらに変更を加えることができます。
sudo mount /dev/vg0/root /mnt
sudo mount /dev/vg0/home /mnt/home
#これはおそらく必要ではない
sudo mount /dev/sdb1 /mnt/boot
sudo mount --bind /dev /mnt/dev
#これが必要かどうかよくわかりません
sudo mount --bind /run/lvm /mnt/run/lvm
- (EFIを使用している場合のみ):
sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
次にsudo chroot /mnt
、インストールされたシステムにアクセスするために実行します
- chrootから、さらに2つをマウントします
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
- crypttabをセットアップします。お気に入りのテキストエディターを使用して、ファイル/ etc / crypttabを作成し、次の行を追加して、UUIDをディスクのUUIDに変更します。
CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
- 最後に、いくつかのブートファイルを再構築します。
update-initramfs -k all -c
update-grub
- 再起動すると、システムは起動時に復号化するためのパスワードを要求するはずです!
特別な感謝に行くマーティン・イヴ、エジディオ従順、そして人々のblog.botux.frチュートリアルについては、彼らが投稿しました。彼らの投稿からピースを引き出し、少し余分なトラブルシューティングを行うことで、ようやくこれを理解することができました。
私はこれを何度も試しましたが、何度も失敗しました。エラーメッセージに基づいて自分で解決しなければならなかったビットはsudo mount --bind /run/lvm /mnt/run/lvm