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


20

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

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


回答:


28

これを実現する方法 LVMと、単一の暗号化パーティション

警告

まず、128Mはブートするには小さすぎます!1Gを使用しています。そうでなければ、起こるにバインドされているものは、古いカーネルを削除することを忘れておよび/ブートがいっぱいになり、そしてあなたがする必要がありますということですシステムから古いカーネルを削除しようとしているの痛みに対処するあなたが得ることができるようにapt、またはapt-get仕事に再び。1Gであっても、古いカーネルを時々削除するようにしてください。

次の手順は、初心者ユーザー向けではありません。
更新:次の操作を実行するスクリプトを作成しました!必要なことは、インストール前に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. 再起動すると、システムは起動時に復号化するためのパスワードを要求するはずです!

特別な感謝に行くマーティン・イヴエジディオ従順、そして人々のblog.botux.frチュートリアルについては、彼らが投稿しました。彼らの投稿からピースを引き出し、少し余分なトラブルシューティングを行うことで、ようやくこれを理解することができました。

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


多くのおかげで、まだ私はluksパーティションをセットアップする必要がある最初で立ち往生しています。fdisk -Lの出力内に見つかりません。
イヴァン

そして、私はセットアップに私が取得し、エラーのcryptしようとすると:ヘッダを削除することができなかった
イヴァンまたは獅子の騎士

これを解決策としてマークしましたね。機能しましたか?そうでない場合、パーティションの作成にどのツールを使用しましたか?最初にGpartedやfdiskなどのツールを使用してディスクをパーティション分割し、/ boot用のパーティションと暗号化用のパーティションを作成する必要があります(EFIでは3番目の非暗号化パーティションが必要です)。セットアップでEFIを使用していませんでした。暗号化用のパーティションを作成した後にのみ、実際にcryptsetup luksFormatコマンドを実行して暗号化できます。/ dev / sdb2を作成したら、ファイルシステムでフォーマットするかどうかを指定できます。cryptsetup既存のファイルシステムを消去します。
b_laoshi

1
@Yvain-これは間違っていると思います。Sha1は安全であるとは見なされなくなりました。より安全なもの(推奨されるsha512オプションなど)を使用する必要があります。
マイク

1
+1 @b_laoshi答えてくれてありがとう、それは私を大いに助けてくれます:)
トゥマラダンヴィ17

3

この複数の暗号化パーティションを実現し LVM を実現しない方法

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

複数の暗号化パーティションを作成し、decrypt_derivedスクリプトを使用して、パスワードを1回入力するだけで済みます。チェックアウトこのブログ記事をステップバイステップの手順について。作成者はキーファイルを使用しますが、decrypt_derived LUKSスクリプトでも十分です。


最終的にメインドライブのプラグを抜くと、SDで自動インストールが利用可能になります:) lol
Yvain

2

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

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


0

これは、Ubuntuのデフォルトのパーティション分割をわずかに変更したいというこの質問にぶつかり続けている人たちの答えです。たとえば、swapパーティションを削除して/bootサイズを増やします。多くの人が必要なステップの量のために、b_laoshiの指示に従うことを思いとどまると思います。

したがって、暗号化を使用した単純なカスタムパーティションの場合は、「ディスクを消去してUbuntuをインストール」と「セキュリティのために新しいUbuntuインストールを暗号化」オプションを使用することをお勧めします。変更するのは、このデフォルトのパーティション分割の構成です。

この構成はに含まれてい/lib/partman/recipes[-arch]/ます。私自身のために、私は変わってきました/lib/partman/recipes-amd64-efi/30atomic。で538M、efiで1024M /boot、残り/をext4で取得するために、ファイルを編集して

538 538 538 fat32
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

1024 1024 1024 ext4
    $defaultignore{ }
    $lvmignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ /boot } .    

900 10000 -1 ext4
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ / } .

インストーラーで消去するディスクを選択すると、パーティションの概要が表示されるので、トリックが機能し、目的のパーティションを取得しているかどうかを確認できます。/ubuntu//a/678074/47073も参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.