web-dev-qa-db-ja.com

暗号化されたカスタムインストール

私のコンピューターはUbuntuを実行しています。 Ubuntuを別のメディアにインストールしたい。暗号化を有効にしたいのですが、ubuntuインストーラーのデフォルトの選択(erase/alongside/etc ...)はデフォルトドライブのみに関係するため、「何か他のもの」を選択し、他のドライブにパーティションを手動で作成する必要があります〜ブート用の128MBの部分は失われます。残りのスペースで暗号化されたパーティションを作成すると、分割できません。したがって、スワップはありません。代わりに2つの暗号化されたパーティションを作成する場合、2つの異なるパスワードを設定する必要があるため、正しくないようです...

どうすればスワップを設定できますか? (インストール中またはインストール後)。

15
Yvain

これを達成する方法withLVM and single encrypted partition

警告

まず、128Mはブートするには小さすぎます! 1Gを使用しています。そうしないと、古いカーネルの削除を忘れて/ bootがいっぱいになり、 システムから古いカーネルを削除しようとする苦痛に対処する必要があります so aptまたはapt-getを取得して、再び機能させることができます。 1Gであっても、古いカーネルを時々削除するようにしてください。

次の手順は、初心者ユーザー向けではありません。
UPDATE: script を作成しました。これにより、次の操作を実行できます。必要なことは、インストール前にLive OSから実行するだけです。 私のブログで記事を見つけることができます


ライブOSからのプレインストール

手動でパーティショニングしながらLUKSとLVMをセットアップしたい! Ubuntu 16.04.2でこれをテストしました

ライブOSからUbuntuを起動し、インストールせずにUbuntuを試すオプションを選択します。以下に概説した手順に従ってください。/dev/sdbにインストールしていると仮定しましょう。

  1. 選択したツールでドライブをパーティションに分割します。次のように、msdosパーティションテーブルにfdiskを使用してセットアップしました。
    • 他のパーティション:既存のOS-これらは気にしません
    • sdb1:/ boot(1G)
    • sdb2:LUKSパーティション(ディスクの残り)
  2. 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注意してください、これには非常に長い時間がかかる可能性があります!
  3. /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からのインストール

  1. これでインストールの準備ができました。インストールの「インストールタイプ」部分に到達したら、「その他」オプションを選択します。次に、構成したいように/ dev/mapper/vg0- *パーティションを手動で割り当てます。/dev/sdb1を/ bootとして設定することを忘れないでください。/bootパーティションは暗号化しないでください。そうである場合、ブートできません。 「ブートローダーインストール用のデバイス」を/ dev/sdbに変更し、インストールを続行します。
  2. インストールが完了したら、再起動しないでください! 「テストを継続する」オプションを選択します。

ライブOSからのインストール後の構成

システムを起動したい場合、このビットは本当に重要です!これらのインストール後の手順を理解するために、私はかなりの時間をかけてこれを調査しました。私の場合、/ dev/sdaで/ bootのサイズをカスタマイズしたかったので、実際にそれを行っていましたが、すべての作業はあなたの状況にも引き継がれるはずです。

  1. ターミナルで、次を入力し、/ dev/sdb2のUUIDを探します。後でそのUUIDをメモします。
    • Sudo blkid | grep LUKS
    • 私のマシンの重要な行には/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"と表示されます
  2. 次に、新しくインストールしたシステムを再度マウントして、さらに変更を加えることができます。

    • 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
  3. Sudo chroot /mntを実行して、インストールされたシステムにアクセスします

  4. Chrootから、さらに2つをマウントします
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  5. Crypttabをセットアップします。お気に入りのテキストエディタを使用して、ファイル/ etc/crypttabを作成し、次の行を追加して、UUIDをディスクのUUIDに変更します。
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  6. 最後に、いくつかのブートファイルを再構築します。
    • update-initramfs -k all -c
    • update-grub
  7. 再起動すると、システムは起動時に復号化するためのパスワードを要求するはずです!

Martin EveEGIDIO DOCILE 、および投稿したチュートリアルについては blog.botux.fr の方々に感謝します。彼らの投稿からピースを引き出し、少し余分なトラブルシューティングを行うことで、ようやくこれを理解することができました。

私はこれを何度も試しましたが、何度も失敗しました。エラーメッセージに基づいて自分で解決しなければならなかったビットはSudo mount --bind /run/lvm /mnt/run/lvm

24
b_laoshi

この複数の暗号化されたパーティションとnoLVMを達成する方法

以前の回答は非常に長かったため、LVMを使用したくない場合は別のアプローチをとる2番目の回答を投稿します。

複数の暗号化されたパーティションを作成し、 decrypt_derived スクリプトを使用して、パスワードを1回入力するだけで済みます。詳細な手順については、 このブログ投稿 をご覧ください。作成者はキーファイルを使用しますが、decrypt_derived LUKSスクリプトでも十分です。

3
b_laoshi

タスクを実行する1つの方法は、ubuntuネットワークインストーラーを使用することです https://www.ubuntu.com/download/alternative-downloads

グラフィカルなインストーラーではありません。ただし、暗号化を使用したディスク全体のインストールを選択した後は、ディスクを明示的に選択できます。

2
ernstkl