[追記]32bit環境など Legacy-BIOS 環境に対応した記事も公開されています。
[Legacy環境編]Ubuntu 14.04 LTS と Windows10 とのデュアルブート環境の構築
目次
Step:1 はじめに
先日「[UEFI基本編]Ubuntu 16.04 LTS と Windows10 とのデュアルブート環境の構築」という記事を書きましたが、その環境を持ち歩くにはセキュリティ面で配慮が必要です。
ということで、今回は、持ち歩いても大丈夫なように暗号化した環境の構築手順についてまとめました。基本編と内容が重複する部分もありますが、ポイントだけ解説すると全体の構成が分かりにくくなったりしますので、改めて最初から構築する方法を記載します。
今回も、UEFI-BIOSが広く普及していることから、EFI ブート環境でMicrosoft Windows10 のインストールしてある PC を Bitlocker で暗号化し、Ubuntu 16.04 LTS をインストールし、セキュアーなデュアルブート(マルチブート)環境を構築したい思います。
とはいってもインストーラーを EFI 環境でブートさせてインストールする以外は、Legacy BIOS 環境とほとんど変わりません(インストール先のデバイスのパーティションレイアウトが MBR と GPT とで異なるところが違います。この影響でパーティションやブートローダー周りの設定が異なってきます)。
なお、Windows7 や Windows8 でのデュアルブートもあまり変わるところはないと思いますが、標準の Windows7 のインストーラーは UEFI ブートに対応していませんので、インストール用のUSBメモリを作成する必要があります。
インストールメディアの用意
インストールするディストリビューションのISOイメージを入手する必要があります。VM などの仮想マシンにインストールする場合は、ISOイメージがそのまま使えます。物理 PC にインストールする場合など、ブータブルのメディアを用意する必要がある場合は、以下の手順で作成することをお勧めします。
・ISOイメージより大容量のUSBメモリを入手します。
・そのUSBデバイスをFAT32でフォーマットします。
・フォーマットしたUSBデバイスに、ISOイメージファイルの中身を展開してコピーします。
UEFI環境では、これだけでブートするはずです(VMware では、USB デバイスからのブートに対応していませんので、ISOイメージを挿入設定してください)。
インストールする Ubuntu のディストリビューションは、16.04 LTS 日本語Remix amd64 を選択しました。16.10 の方が最新ですが、16.04 の方が安定していますし、サポート期間が長くなっています。
ちなみに、LTS は Long Term Support の頭文字をとったものです。リリース時期とサポート期間のタイムラインは、Wikipedia のチャートが見やすいです。
https://upload.wikimedia.org/wikipedia/ja/timeline/df6aab32345bbc3b37adbd90d5092d3b.png
検証には、ubuntu-ja-16.04-desktop-amd64.iso をダウンロードして使いました。
Step:2 インストール領域の確保など
空き領域の作成
まず、Ubuntu をインストールするための領域を確保します。
スタートメニューを右クリックして「コントロールパネル」を選択。「システムとセキュリティ」>「管理ツール」と開き、「コンピュータの管理」を右クリックして「管理者として実行」する。
縮小するパーティションを選択して、空き領域を作成します。
ファイル共有用のパーティションの作成
つづいて、Windows と Ubuntu との間でファイル共有するとき専用の領域を作成します。特に専用の領域で共有する必要がない場合は、作成する必要はありません。お好みで作成してください。
Ubuntuのシステム要件では5Gバイト以上ストレージと記載されていますが、スワップ領域やアップグレードへの対応を含めて10Gバイト程度未割り当て領域を確保しておくことをお勧めします。
高速スタートアップの無効化
Windows 10 では、高速スタートアップが有効になっていると Ubuntu から「NTFS領域をマウントできない」という仕様になっているようですので、必要に応じて高速スタートアップを無効化します。インストール後の環境にNTFS領域やReFS領域が全くない場合は、この手順は不要です。
また、高速スタートアップが有効な状態でデュアルブート環境を構築する際の危険性については、こちら(Windows7からWindows10へアップグレードしたユーザーにありがちな罠)を参照。
「現在利用可能ではない設定を変更します」をクリックして、「高速スタートアップを有効にする(推奨)」のチェックをはずし「変更の保存」をクリックします。
Step:3 Bitlocker で Windows を暗号化
まず、Windows が Bitlocker に対応しているか確認します。Home Edition のみ Bitlocker には対応していません。
コントロールパネル > システム からエディションを確認します。
コントロールパネルからBitlockerドライブの暗号化を選択します。
あれ?エラーが表示されました。
このエラーは、TPM(Trusted Platform Module)に OS がアクセスできなかった場合に表示されるエラーです。TPM 内蔵の PC でこのエラーが表示された場合は、TPM が BIOS 設定で無効(Disable)になっている可能性があります。有効(Enable)に設定して再起動するとこのエラーは表示されません。
Bitlocker の機能をフルに活用するためには TPM が必要です。
TPM 内蔵の PC ではなくても、システムの整合性検証機能などは利用できませんが、パスワード、あるいは外部キーで有効にすることができます。
今回は、紹介用に仮想マシン上に環境を構築していますので、TPM がついていません。 TPM 内蔵の場合は、ポリシー変更の手順を省略できますので、読み飛ばしてください。
ローカルグループポリシーの変更
コマンドプロンプトを管理者権限で開き、”gpedit”を起動します。
詳しい解説は、こちら(Bitlocker を 柔軟に使うおまじない)を参照。
グループポリシーを更新します。
再度、有効にします。
Bitlockerの有効化
無事暗号化が開始されました(TPM を使った暗号化の場合は、パスワード入力画面が表示されません)。
Step:4 Ubuntu のインストール
Live環境の起動
いよいよUbuntuのインストールです。
作成したインストールメディアを接続するか、ダウンロードした ISO を挿入する設定をして、当該デバイスから PC をブートします。
※ grub ブートローダー画面が表示されずエラー画面が表示された場合は、セキュアブートがオンになっていないか確認してください。
※ セキュアブートの設定を変更すると、Windowsを起動しようとしたときTPMがシステム構成の変更を検知して、回復キーの入力を求められるようになります。
※ セキュアブートの設定を戻すと正常に起動しますので、ご安心ください。また、回復キーを入力して起動後、Bitlockerの保護の中断してから再開すると、次回から回復キーの入力がなくても起動するようになります。
”Try Ubuntu without Installing”を選択します。
Live環境を構築するのに、割と時間がかかります。現在の処理状況は、ESC キーを押すと確認できます。
お好みで、”gparted”や”fdisk -l”を実行してパーティションの状況を確認しながらインストールします。
インストーラーの起動
デスクトップ左上の”Ubuntu 16.04 LTS のインストール”をクリックしてインストーラーを起動します。
適当に進めていくと、インストールボタンが表示されます。今回は、暗号化ボリュームを作成してからインストールしますので、必ず「それ以外」を選択します。
重要なのでもう一度。
必ず「それ以外」を選択
ブートパーティションの作成
Ubuntu は、暗号化したボリュームにインストールするのですが、その暗号化を解除するプログラムは非暗号化で用意する必要があります。
空き領域を選択して、”/boot”をマウントポイントとしたパーティションを作成します。容量は、念のため 512MB としておいた方が良いでしょう。
ブートローダーのインストール場所を先ほど作成したパーティションに変更しておきます。
暗号化ボリュームの作成
暗号化を解除するためのパスワードを設定し、OKをクリックします。
暗号化ボリュームを作成するのに、かなり時間がかかりました。ずっとくるくる回ってます。
作成が完了すると一覧に”/dev/mapper/sda7_crypt”というのが表示されます。
マウントポイントの設定
”/dev/mapper/sda7_crypt”のうち ext4 でフォーマットされている下の方を選択し、「変更」をクリックしてマウントポイント”/”を設定します。
Windows と Ubuntu の両方を暗号化しますので、それぞれの OS 間でファイルのやり取りができるように、Step2 で作成したパーティションにマウントポイントを設定します。高速スタートアップを無効にしておく場合は NTFS でも良いのですが、不測の事態が生じないように FAT32 でフォーマットしておくことをお勧めします。
以上で、パーティションの設定は終了です。
右下のインストールボタンを押してインストールに進みます。
スワップ領域が設定されていないことと、変更を加えるパーティションについて警告が表示されますが、そのまま進めます。
初期設定
初期ユーザーの情報などを入力します。あとで変えられるので適当に・・・。
インストール完了です。
GRUB2が起動します。頻繁にUbuntuとWindows10を切り替えるのであれば、このままで良いでしょう。
Ubuntu を選択すると以下のような画面になりパスワードの入力を求められます。
Step:5 スワップファイルの設定
Step:4 まででインストール作業は完了です。
Ubuntu のインストーラーを使ったインストール方法では、正しくスワップ領域が設定できませんでしたので、必要に応じて暗号化ボリューム内にスワップファイルを作成します。
スワップファイルの作成
ディスク容量が少ないので、今回は1GBのスワップを割り当てます。
端末(terminal)を起動して以下の通り入力し、適宜パスワードを入力します。
1 2 3 4 |
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile |
再起動するとスワップの割り当てがリセットされるので、恒久的に適用されるように以下のファイルを編集
1 |
sudo nano /etc/fstab |
1 |
/swapfile swap swap defaults 0 0 |
スワップメモリが有効になっているか、確認します。
1 |
free |
Step:6 ブートマネージャーの設定
起動順序の変更
Windowsがメインで、たまにUbuntuであれば、UEFIのブートローダーの起動順序を、Windows優先に変えておきましょう。
再起動するとデフォルトで Ubuntu が起動すると思いますので、Windows が起動するように設定します。
Ubuntu を起動したいときは、UEFIのブートローダーを開いて”ubuntu” を選択すると起動できます。
WindowsからUbuntuを起動する
Windows 起動中に Ubuntu を起動する必要が生じたときは、以下の操作をすることにより、Ubuntu を起動することができます。