【Dell Latitude 3420】Dell Recoveryを使ってUbuntu 20.04を再インストールしてLUKSによるディスクの暗号化を行った記録

### Ubuntuでディスクの暗号化を行う必要が出てきた経緯

普段、仕事で利用しているPCはMacBook Pro(Intel)なのですが、社内で業務利用PCのUbuntu化のブームが起きてまして、自分も乗り遅れまいと「[Dell Latitude 3420 - Build Your Own](https://www.dell.com/ja-jp/work/shop/%E3%83%87%E3%83%AB%E3%81%AE%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3/dell-latitude-3420-build-your-own/spd/latitude-14-3420-laptop/al3420)」というカスタマイズ可能なモデルでUbuntuがプリインストールされたPCをゲットしました。

しかし、「業務で利用する場合はハードディスクの暗号化を行ってくださいね」と会社からの通達が。まぁ、当然ですね。
紛失してハードディスクを引っこ抜いて復元されたら大変ですし、[こんなこと](https://www.itmedia.co.jp/news/articles/2201/14/news151.html)にはなりたくありません。

---

### Ubuntuでディスクの暗号化を行うには

Latitude 3420を起動すると、言語、キーボード、タイムゾーン、アカウントなどの設定を行う画面が表示され、それらの設定が完了するとすぐに利用可能な状態となります。
この初期設定のタイミングでディスクの暗号化ができるかな？と思ってたんですが、どうやらできなさそうです。

ちょっと調べてみると、Ubuntuで暗号化を行う場合は、以下の2種類に分かれるようです。

- ディレクトリ単位での暗号化
    - [eCryptfs](https://wiki.archlinux.jp/index.php/ECryptfs)
    - [EncFS](https://wiki.archlinux.jp/index.php/EncFS)
- ディスク単位での暗号化
    - [LUKS(Linux Unified Key Setup)](https://gitlab.com/cryptsetup/cryptsetup/-/wikis/home)

「ディレクトリ単位での暗号化」を行って安心していると、うっかり暗号化していないディレクトリが漏洩する可能性があるので、今回やるべき対応は「ディスク単位での暗号化」となります。

---

### 今回のゴール

OSインストール後でも[cryptsetupコマンド](https://wiki.archlinux.jp/index.php/Dm-crypt/%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E6%9A%97%E5%8F%B7%E5%8C%96)で頑張れば、ディスクの暗号化が行えるようですが少々手順が煩雑です。
もう少し調べてみると、今回プリインストール型のPCだったので目にすることがなかったのですが、どうやらUbuntuのインストールの際に暗号化を行うか否かの選択が可能なようです。

ということで、Ubuntuの再インストールを行えばよいということがわかりました。
しかし、今回はプリインストール型のPCなので素のUbuntuに対してアプリケーションやデバイスドライバなどDellのカスタマイズが入っている可能性があります。
というか入ってます。Dell製のアプリケーションがいくつかインストールされていたり、[UEFIのブート時に工場出荷時に戻す仕組](https://www.dell.com/support/kbdoc/ja-jp/000114861/)みがあったりします。

なので、今回の目指すべきゴールは「Dellの工場出荷時と同じ状態になるようにUbuntuの再インストールを行い、そのインストールの過程でディスクの暗号化を行う」ということになりました。

---

### リカバリー用の起動ディスクを作成する

前置きが長くなりましたが、やるべきことがわかったのでここからは実際に手を動かしていきます。

DVDまたはUSBメモリに「工場出荷時と同じ状態」を再現してくれるDellのリカバリーシステムをインストールして起動ディスクを作成します。
今回はUSBメモリから起動することにしたので、[バッファロー製のUSBメモリ](https://www.amazon.co.jp/dp/B00TMYO5LK/)を準備しました。

まず、[DellのwebサイトでリカバリーシステムのISOファイルをダウンロード](https://www.dell.com/support/home/ja-jp/drivers/osiso/linux)します。
URLにアクセスすると以下のような画面が表示されるので、PC背面に記載されているサービスタグを入力します。
![スクリーンショット 2022-01-22 23.52.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/a6dce314-4ebe-3fb3-0a87-698bab0b9019.png)

サービスタグを入力するとISOファイルがダウンロード可能になります。
「Ubuntu Recovery Image」として2つ表示されていますが、それぞれバージョンが異なるので新しいバージョンをダウンロードします。
※2022年1月23日時点では「3.65GB」の方が新しいバージョンでした。
![Screenshot from 2022-01-23 00-25-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/2756036b-8776-dac1-119d-857da9736cea.png)

以降の手順ではUbuntu上の「Dell Recovery」を利用しますが、Windows上でも起動ディスクが作成できるように「Dell OS Recovery Tool」が提供されていますので、Windowsで行う場合はこちらを利用してください。
![スクリーンショット 2022-01-23 12.55.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/ac30bb34-1e45-0a47-36fc-0087868fb529.png)

[ddコマンドで書き込む方法](https://www.dell.com/support/kbdoc/ja-jp/000131480/dell-pc%E3%81%A7dell-ubuntu%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E5%9B%9E%E5%BE%A9%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95#Hosted_Image)もありますが、今回は「Dell Recovery」のGUIから行うので画面左端の「アプリケーションを表示する」をクリックします。
※工場出荷時状態のLatitude 3420のUbuntuであれば「Dell Recovery」が利用可能です。
![Screenshot from 2022-01-22 23-29-38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/a17004d6-abd4-2ab6-cadd-766c63ca40cf.png)

検索欄から「Dell」と入力し、「Dell Recovery」を表示します。
![Screenshot from 2022-01-22 23-08-59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/d502754a-bc6e-972a-d60f-398780b72bfd.png)

USBメモリをPCに接続した状態で「Dell Recovery」を起動して、「Build OS Media」をクリックします。
![Screenshot from 2022-01-22 23-15-53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/7473161e-3679-6b38-9783-e7b587a737cb.png)

「Bass OS Image」の画面で「ISO Image」が選択されている状態で「Choose Image」をクリックします。
![Screenshot from 2022-01-22 23-35-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/2cb6a106-14df-0f5a-e2bb-e24d7875d56b.png)

事前にダウンロードしておいたISOファイル（※ファイル名に「Ubuntu2004_A04」と書かれている方）を選択して、「Bass OS Image」の画面に戻ったら「進む」をクリックします。
![Screenshot from 2022-01-23 00-35-09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/5354b698-a640-8101-5c76-74cc765edf82.png)

「FID Content」の画面ではそのまま「進む」をクリックします。
![Screenshot from 2022-01-23 00-37-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/8e5c200f-fddd-9b89-f05d-fcfd24709a74.png)

「Drive Packages」の画面ではそのまま「進む」をクリックします。
※工場出荷時状態に必要なドライバはISOファイルに含まれています。
![Screenshot from 2022-01-23 00-38-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/9264f39e-83a8-0abb-e970-726eeef15cf7.png)

「Application Packages」の画面ではそのまま「進む」をクリックします。
※工場出荷時状態に必要なアプリケーションはISOファイルに含まれています。
![Screenshot from 2022-01-23 00-39-42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/b87cec8b-9ce2-d5ab-63c9-e488653c8249.png)

「Media Type」の画面では「USB Flash Drive」が選択されている状態で「進む」をクリックします。
![Screenshot from 2022-01-23 12-17-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/65b5cd8e-0b04-e77d-f1d5-4129fe147684.png)


「Builder Summary」の画面で設定内容の確認を行って「適用」をクリックします。
※この画面ではバージョン番号が入力できますので、任意の値を設定してください。今回は初期表示のままにしました。
![Screenshot from 2022-01-23 00-43-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/6701d62c-d63b-3355-70a8-2ef4c40aadac.png)

接続しているUSBメモリが選択されていることを確認してから、「ブータブルUSBの作成」をクリックします。
![Screenshot from 2022-01-23 00-43-55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/cb7fdc27-284b-b1d7-9b4d-243cf3bc497a.png)

認証画面が表示されるのでアカウントのパスワードを入力して、起動ディスクの作成完了までしばらく待ちます。
![Screenshot from 2022-01-23 00-45-47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/3768973b-106e-58a6-b5df-f8e156ffacf2.png)

起動ディスクの作成が完了するとこのような画面が表示されます。
![Screenshot from 2022-01-23 00-54-24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/d7eba386-ba29-40e1-604c-58e1903ea4aa.png)

また、別のUSBメモリやDVDでも起動ディスクが作成できるように同時にISOファイルも作成されています。
![Screenshot from 2022-01-23 00-54-43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/0654863c-7554-6dba-83cf-48c28d6a9802.png)

---

### リカバリー用の起動ディスクを使って再インストール

再インストールを行うため、USBメモリを接続した状態でPCを再起動します。

起動時に「DELL」のロゴが表示されたら「F12」を押して、UEFIの画面へ移動します。（「F12」を何度か押すと成功しやすいかもしれません）
![スクリーンショット 2022-01-23 11.04.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/b60e4249-527f-6807-cab5-51cbde37bef1.png)

「One-Time Boot Settings」の中から起動ディスクのUSBメモリを選択してエンターを押します。
![スクリーンショット_2022-01-23_11_11_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/5b0fab0e-a489-2a3d-902d-c34d98f4efbe.png)

USBメモリのランプが点滅し始めたら、リカバリーシステムの起動が成功しているはずです。
![スクリーンショット 2022-01-23 11.15.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/08f34bc7-5724-d0d2-d21d-0a70c21b9d4a.png)

しばらくすると「Dell Recover」の画面が表示されるので、「Customize installation」を選択して「Continue」をクリックします。
※説明欄に「Disk encryption」と書かれているのでこれで間違いなさそうです。
![スクリーンショット 2022-01-23 11.17.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/3fc9c594-b1ad-7150-b11d-df21d9e5bb7b.png)

次に「Installation type」の画面では「Erase disk and install Ubuntu」を選択して「Advanced features」をクリックします。
![スクリーンショット 2022-01-23 11.21.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/ac1d6aad-9e21-99bc-213f-6e250f9e1a90.png)

「Advanced Features」の画面が表示されたら「Use LVM with the new Ubuntu installation」を選択して「Encrypt the new Ubuntu installation for security」にチェックして「OK」をクリックします。
![スクリーンショット 2022-01-23 11.23.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/6d03c06f-7125-98d1-10a6-292275d05d6f.png)

「Choose a security key」の画面が表示されたら暗号化のキーを入力して「Install Now」をクリックします。
※今回リカバリー用のキーの作成と空き領域の上書き処理は行いませんでした。
![スクリーンショット 2022-01-23 11.28.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/2f844aff-3708-7350-960a-100c9c72d2ca.png)

以下の領域のデータがすべて初期化されることになるがよいか？といった最終確認が表示されるので「Continue」をクリックします。
※必要なデータがある場合は別途バックアップを取っておくことをオススメします。
![スクリーンショット 2022-01-23 11.29.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/d9929892-7313-d618-171f-79d4c241c7c5.png)

「Dell Recovery」によるUbuntuのインストールが開始されるのでしばらく待ちます。
![スクリーンショット 2022-01-23 11.33.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/8522dedc-a62b-2fe4-44ca-8ef62292c80b.png)

「Installation Complete」の画面が表示されたら、USBメモリを取り外し「Restart Now」をクリックします。
![スクリーンショット 2022-01-23 11.34.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/fb8c91e7-4b99-70d8-d634-c2b8ab3bed9b.png)

---

### 暗号化されているか確認

再起動後、暗号化の設定が成功していると「Please unlock disk **********」と表示されます。
ここで事前に設定しておいた暗号化のキーを入力して、Ubuntuの起動画面が表示されれば作業完了です。
![スクリーンショット 2022-01-23 12.12.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/c4f9b22a-5c77-0e79-551d-85ac8ea42c7a.png)

---



### 参考URL

- [ブロックデバイスを暗号化する(cryptsetup)](https://qiita.com/ishinonaka0303/items/5aa2f93d358c4791048c)
- [UbuntuをLUKS(暗号化)しながらPartitionを分けたりWindows10とDual Bootしたり(Xubuntu 18.04)](https://qiita.com/sakusrai/items/0669e72de9e34dfa4579)
- [暗号化ファイルシステムを使ってみる 〜 LUKS 編](https://www.usupi.org/sysad/186.html)
- [LUKSパーティション自動アンロック（ubuntuインストール時の暗号化）。自動起動。](https://qiita.com/t13m082h/items/296fc1f166a2feb62dc8)
- [Ubuntu 20.04 を LVM on LUKS でインストールする](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks)
- [Ubuntu 21.04 その4 - 暗号化されたルートファイルシステムをLUKS上に構築](https://kledgeb.blogspot.com/2020/10/ubuntu-2104-4-luks.html)
- [LUKS暗号化パーティションにUbuntuをインストール（LVMなし版）](http://makiuchi-d.github.io/2020/05/05/kubuntu-luks-install.ja.html)
- [さくら VPS の Ubuntu 18.04 で LUKS によるディスク暗号化をするには](https://blog.tilfin.net/2020/02/02/sakura-vps-luks-disk-encryption/)
- [Full_Disk_Encryption_Howto_2019](https://help.ubuntu.com/community/Full_Disk_Encryption_Howto_2019)
- [How to Encrypt a Partition in Linux](https://www.baeldung.com/linux/encrypt-partition)
- [How To Enable Full Disk Encryption on an Ubuntu 20.04 Desktop](https://jumpcloud.com/blog/how-to-enable-full-disk-encryption-on-an-ubuntu-20-04-desktop)
- [How to Encrypt Ubuntu 20.04 Desktop Post Installation](https://jumpcloud.com/blog/how-to-encrypt-ubuntu-20-04-desktop-post-installation)
- [How to Encrypt Root Filesystem in Linux](https://linoxide.com/how-to-encrypted-root-partition-filesystem/)
- [How to Encrypt a Drive on Ubuntu 18.04](https://linuxhint.com/encrypt_drive_ubuntu/)
- [Is there a way to encrypt disk without formatting it?](https://unix.stackexchange.com/questions/444931/is-there-a-way-to-encrypt-disk-without-formatting-it)
- [How to encrypt LVM partition with LUKS after installation?](https://unix.stackexchange.com/questions/477380/how-to-encrypt-lvm-partition-with-luks-after-installation)