web-dev-qa-db-ja.com

デュアルブートでLUKSで暗号化されたUbuntuをインストールするにはどうすればよいですか?

Ubuntu 13.04インストールディスクには、LUKSを使用して暗号化されたUbuntuをインストールするオプションがあります。ただし、デュアルブートシナリオの既存のパーティションと共に暗号化されたインストールを実行するオプションはありません。

ライブディスクの別のパーティションと一緒に暗号化されたUbuntuをインストールするにはどうすればよいですか?

72
Flimm

まず、ハードディスクに暗号化されたUbuntuをインストールし、既存のパーティションとオペレーティングシステムを置き換える場合は、グラフィカルインストーラーから直接これを実行できます。 この手動プロセスはデュアルブートにのみ必要です。

この回答はUbuntu 13.04でテストされています。

  1. UbuntuのライブDVDまたはUSBスティックから起動し、「Ubuntuを試す」を選択します。

  2. ライブディスクに含まれているGPartedを使用して2つのパーティションを作成します。最初のパーティションは未フォーマットで、ルートとスワップに十分な大きさでなければなりません。私の例では、これは/dev/sda3です。 2番目のパーティションは、数百メガバイトの大きさで、ext2またはext3でフォーマットする必要があります。暗号化されず、/boot(私の例では/dev/sda4)にマウントされます。

    このスクリーンショットでは、既存の暗号化されていないUbuntuインストールが2つのパーティションにあります:/dev/sda1/dev/sda5、左の円でハイライトします。 /dev/sda3に未フォーマットのパーティションを作成し、/dev/sda4にext3パーティションを作成しました。暗号化されたUbuntuのインストール用で、右の円で強調表示されています。

    GParted screenshot

  3. これらのコマンドを使用してLUKSコンテナーを作成します。 /dev/sda3を以前に作成したフォーマットされていないパーティションに、cryptcherriesを任意の名前に置き換えます。

    Sudo cryptsetup luksFormat /dev/sda3
    Sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. 警告luksFormatステップは、基礎となるブロックデバイスを安全に消去しないため、非常に迅速に完了します。実験しているだけで、さまざまな種類のフォレンジック攻撃に対するセキュリティを気にしない限り、新しいLUKSコンテナを適切に初期化してからファイルシステムを作成することが重要です。マッピングされたコンテナにゼロを書き込むと、基になるブロックデバイスに強力なランダムデータが書き込まれます。これには時間がかかることがあるので、pvコマンドを使用して進行状況を監視することをお勧めします。

    Sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    Sudo apt-get update
    Sudo apt-get install -y pv
    Sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
    

    または、オフラインインストールを実行していて、pvを簡単に取得できない場合:

    Sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. マウントされたLUKSコンテナー内で、LVM物理ボリューム、ボリュームグループ、および2つの論理ボリュームを作成します。最初の論理ボリュームは/にマウントされ、2番目の論理ボリュームはスワップとして使用されます。 vgcherriesはボリュームグループの名前であり、lvcherriesrootおよびlvcherriesswapは論理ボリュームの名前です。独自のボリュームを選択できます。

    Sudo pvcreate /dev/mapper/cryptcherries
    Sudo vgcreate vgcherries /dev/mapper/cryptcherries
    Sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
    Sudo lvcreate -n lvcherriesswap -L 1g vgcherries
    
  6. 2つの論理ボリュームのファイルシステムを作成します(この手順はインストーラーから直接実行することもできます)。

    Sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    Sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. 再起動なし、グラフィカルインストーラー(ショートカットはXubuntu 18.04のデスクトップにあります)を使用してUbuntuをインストールし、手動パーティションを選択します。 //dev/mapper/vgcherries-lvcherriesrootに割り当て、/bootを手順2で作成した暗号化されていないパーティションに割り当てます(この例では、/dev/sda4)。

  8. グラフィカルインストーラーが終了したら、[テストの継続]を選択してターミナルを開きます。

  9. LUKSパーティションのUUID(この場合は/dev/sda3)を見つけます。後で必要になります:

    $ Sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. 適切なデバイスを/mntの適切な場所にマウントし、その中にchrootします:

    Sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
    Sudo mount /dev/sda4 /mnt/boot
    Sudo mount --bind /dev /mnt/dev
    Sudo chroot /mnt
    > mount -t proc proc /proc
    > mount -t sysfs sys /sys
    > mount -t devpts devpts /dev/pts
    
  11. この行を含む/etc/crypttabという名前のファイルを作成し、UUID値をLUKSパーティションのUUIDに置き換え、vgcherriesをボリュームグループの名前に置き換えます。

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Chrooted環境で次のコマンドを実行します。

    update-initramfs -k all -c
    
  13. 再起動して、暗号化されたUbuntuを起動します。パスワードの入力を求められます。

  14. mountを実行して、/の暗号化されたパーティションを使用していることを確認します。

    $ mount
    /dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
    /dev/sda4 on /boot type ext3 (rw)
    # rest of output cut for brevity
    
  15. 次のコマンドを実行して、暗号化されたスワップパーティション(他のインストールの暗号化されていないスワップパーティションではない)を使用していることを確認します。

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. リカバリモードで起動できることを確認してください。後で緊急時にリカバリモードが機能しないことを知りたくない場合があります。

  17. 更新をインストールします。これにより、ramdiskが再構築され、grub構成が更新される可能性があります。再起動して、通常モードと回復モードの両方をテストします。

86
Flimm

以下に、Dell inspiron 5000を使用して行った手順を示します。

選択した答えを試してみましたが、dist-upgradeとupdate-grubを実行した後(grubconfにウィンドウを追加するために)うまくいきませんでした。

Windows 10でubuntu 18.10をデュアルブートインストールすることが可能であり、コマンドラインのすべてを実行したりUbuntu LiveUSBモードを使用したりする必要はありません。

Windowsから

  • スタートバーに「disk partition」と入力し、最初のオプションを選択します(設定からディスクパーティションマネージャーを開きます)

  • プライマリパーティションを希望のUbuntuサイズに縮小します(500GBドライブを240GB Windows OSと240GB未割り当てに分割するデフォルトを使用しました)

BIOSから

  • セキュアブートを無効にします(bitlockerがある場合は、毎回Windowsを安全に起動するためにそれをレンタルする必要があります)。

最後に-18.10インストーラーUSBから起動します

  • デフォルトのインストールUbuntuオプションでEnterキーを押します

  • 「ディスク全体を消去する」というメッセージが表示され、いくつかのチェックボックスが表示されたら、「その他」(手動パーティション設定)オプションをクリックします。ディスク全体を消去する場合は、Windowsのインストールを置き換えますが、実行しないでください!

ディスクパーティションマネージャーがディスクを読み込むと、大きな未割り当て領域ができます

それをクリックし、追加ボタンを押してパーティションを作成します。

- First, create a 500MB /boot partition
- Second, with the rest of the space make a encrypted volume
--- This will create a single LV partition
------ Modify it to be the selected root “/” partition
- Then the rest of the install process will work like usual. relax.

初めて起動したら、apt-get updateおよびdist-upgradeを実行し、再度再起動します。

2GBのスワップファイルが自動的に作成されます。8GBのスワップファイルが必要な場合は、代わりにこれを読んでください https://askubuntu.com/a/92787

8
Falieson

まず、Linuxパーティションの暗号化だけでは十分に安全ではない理由を指摘します。

  1. https://superuser.com/questions/1013944/encrypted-boot-in-a-luks-lvm-ubuntu-installation
  2. https://security.stackexchange.com/questions/166075/encrypting-the-boot-partition-in-a-linux-system-can-protect-from-an-evil-maid-a
  3. https://www.reddit.com/r/linux/comments/6e5qlz/benefits_of_encrypting_the_boot_partition/
  4. https://unix.stackexchange.com/questions/422860/why-should-we-encrypt-the-system-partition-and-not-only-home
  5. https://www.coolgeeks101.com/howto/infrastructure/full-disk-encryption-ubuntu-usb-detached-luks-header/
  6. https://superuser.com/questions/1324389/how-to-avoid-encrypted-boot-partition-password-Prompt-in-lvm-Arch-linux

さて、私はこのチュートリアルに従いました:

  1. https://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive
  2. http://web.archive.org/web/20160402040105/http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive

この回答では、Linux Mint 19.1 XFCEUbuntu 18.04.2のステップバイステップ(写真付き)インストールを紹介しています。どちらも単一のディスクで完全に暗号化されています。最初にUbuntu 14.04.2/dev/sda5にインストールし、Linux Mint 19.1Ubuntu 18.04.2はそれらを使用しないため、つまりスワップファイルを使用するため、スワップパーティションを作成しませんでした。

Ubuntu 18.04.2 Bionic Beaver

最初に、Ubuntuインストールメディアを挿入し、マシンをUbuntuライブセッションに再起動してから、Try Ubuntuを選択して1つのターミナルを開きます。

  1. Sudo su -
  2. fdisk /dev/sda、その後、次のパーティションを作成します
    • enter image description here
  3. cryptsetup luksFormat /dev/sda5
  4. cryptsetup luksOpen /dev/sda5 sda5_crypt
  5. pvcreate /dev/mapper/sda5_crypt
  6. vgcreate vgubuntu /dev/mapper/sda5_crypt
  7. lvcreate -L10G -n ubuntu_root vgubuntu
    • lvcreate -l 100%FREE -n ubuntu_root vgubuntu(オプション、lvcreate -L10G -n ubuntu_root vgubuntuを実行する代わりに、このlvcreate -l 100%FREE -n ubuntu_root vgubuntuを実行して、10GBだけでなくディスク全体の空き容量を使用できます)
    • enter image description here
  8. ターミナルを閉じずにディストリビューションインストーラーを開き、Something elseを選択して、でインストールします。
    • /dev/sda1フォーマットで/bootパーティションとしてマウントされたext2
    • /dev/mapper/vgubuntu-ubuntu_rootは、/形式でext4としてマウントされます。
    • ブートローダーのインストールとしての/dev/sda
    • 何もマークしないでください
    • enter image description here
    • enter image description here
  9. 再起動しないで、[Linuxを使用して続行]をクリックし、開いているターミナルを選択します。
  10. mkdir /mnt/newroot
  11. mount /dev/mapper/vgubuntu-ubuntu_root /mnt/newroot
  12. mount -o bind /proc /mnt/newroot/proc
  13. mount -o bind /dev /mnt/newroot/dev
  14. mount -o bind /dev/pts /mnt/newroot/dev/pts
  15. mount -o bind /sys /mnt/newroot/sys
  16. cd /mnt/newroot
  17. chroot /mnt/newroot
  18. mount /dev/sda1 /boot
  19. blkid /dev/sda5(引用符なしでUUIDをコピーし、次のステップで使用します)
  20. echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • enter image description here
    • enter image description here
    • enter image description here
  21. ファイル/etc/grub.d/40_custom を作成します
    • enter image description here
  22. /etc/default/grubを編集して設定します
    • GRUB_TIMEOUT_STYLE=menu
    • GRUB_TIMEOUT=10
    • enter image description here
  23. update-initramfs -u
  24. update-grub
    • enter image description here
    • enter image description here
  25. exit
  26. reboot
  27. コンピューターを再起動した後、オプションUbuntuを選択すると、暗号化パスワードが正しく求められます
    • enter image description here
  28. ログイン後、を実行します
    • Sudo apt-get update
    • Sudo apt-get install gparted
  29. そして、gpartedを開くと、これが見つかります
    • enter image description here

より詳細な手順については、この質問の上部にあるオリジナルのチュートリアルを読むか、Googleでこれらのコマンドの使用法を検索してください。


Linux Mint 19.1シナモン

残りのLinuxインストールでは、rebootUbuntuマシンにし、Mint 19.1(Live CD)インストーラーで起動し、ターミナルウィンドウを開きます。

  1. Sudo su -
  2. cryptsetup luksFormat /dev/sda6
  3. cryptsetup luksOpen /dev/sda6 sda6_crypt
  4. pvcreate /dev/mapper/sda6_crypt
  5. vgcreate vgmint /dev/mapper/sda6_crypt
  6. lvcreate -L10G -n mint_root vgmint
    • lvcreate -l 100%FREE -n mint_root vgmint(オプション、lvcreate -L10G -n mint_root vgmintを実行する代わりに、このlvcreate -l 100%FREE -n mint_root vgmintを実行して、10GBだけでなくディスク全体の空き容量を使用できます)
    • enter image description here
    • enter image description here
  7. ターミナルを閉じずにディストリビューションインストーラーを開き、Something elseを選択して、でインストールします。
    • /dev/sda2フォーマットで/bootパーティションとしてマウントされたext2
    • /dev/mapper/vgmint-mint_rootは、/形式でext4としてマウントされます。
    • ブートローダーのインストールとして/dev/sda2(以前のように/dev/sdaを選択しないでください)
    • 何もマークしないでください
    • enter image description here
    • enter image description here
  8. 再起動しないで、[Linuxを使用して続行]をクリックし、開いているターミナルを選択します。
  9. mkdir /mnt/newroot
  10. mount /dev/mapper/vgmint-mint_root /mnt/newroot
  11. mount -o bind /proc /mnt/newroot/proc
  12. mount -o bind /dev /mnt/newroot/dev
  13. mount -o bind /dev/pts /mnt/newroot/dev/pts
  14. mount -o bind /sys /mnt/newroot/sys
  15. cd /mnt/newroot
  16. chroot /mnt/newroot
  17. mount /dev/sda2 /boot
  18. blkid /dev/sda6(引用符なしでUUIDをコピーし、次のステップで使用します)
  19. echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • enter image description here
    • enter image description here
    • enter image description here
  20. update-initramfs -u
  21. update-grub
    • enter image description here
    • enter image description here
  22. exit
  23. reboot
  24. コンピューターを再起動した後、オプションLinux Mint on /dev/sda2 を選択します。
    • enter image description here
  25. 次に、Mint 19.1を正しく開始し、暗号化パスワードを要求します
    • enter image description here
  26. ログイン後、を実行します
    • Sudo apt-get update
    • Sudo apt-get install gparted
  27. そして、gpartedを開くと、これが見つかります
    • enter image description here

関連リンク:

  1. アクティブなLVMパーティションのサイズを変更するにはどうすればよいですか?
  2. LVMパーティションのサイズを変更するにはどうすればよいですか(物理ボリューム)
  3. https://www.tecmint.com/extend-and-reduce-lvms-in-linux/
  4. GrubチェーンローダーはWindows 8では動作しません
  5. buntu 14.04 LTSで暗号化された/ bootを使用したUEFIブート
5
user