Dell XPS13 における Windows 10, Linux Mint のデュアルブートの構築

# Dell XPS13 における Windows 10, Linux Mint のデュアルブートの構築

Dell XPS13 は、UEFIブート，セキュアブートなため、Linux を入れるのは苦労する。
ネットで調べても苦労している人が多いようで、私もまとめておかないと取り戻せないのでメモしておく。
この面倒さだけでも Dell XPS13 を買い控える理由に十分になるのではないかと。

## 対象

今回、設定したPCは以下の通り。XPS 13 (9360) に対してインストールする。

| メーカ  | Laptop 名   | モデル   | 年      | 備考                                    |
|:--------|:------------|:---------|:--------|:----------------------------------------|
| Dell    | XPS 13      | 9360     | 2016    | US配列, SSD 500G, 4Kディスプレイ(高DPI) |


## Linux インストールのポイント

1. パーティション領域を予め確保
    1. Windows から行える。パーティションソフト必要なし
2. BIOSで AHCI Mode にする
    1. 最も重要で面倒
    2. 有効にしないと、パーティションが一切認識されない


## Windows での事前準備

Linux をインストールする前に Windows で準備しておくべきことがある。
色々と面倒だがやっておいた方が良い。


### 回復ドライブの作成

Dell の Webページ参考にする[^1]。そのまま手順に従えば良い。
致命的に失敗したときのために回復ドライブは作成しておくこと。
クリーンインストール直後の素の状態が最も容量が少ない(はず)。


### パーティション領域の確保

コントロールパネルの管理から実行する。
パーティション管理ソフトなんていらなかった。

1. コントロールパネル/管理ツール/コンピューターの管理を実行
2. 記録域/ディスクの管理
3. 右クリック→ボリュームの縮小
4. 縮小する領域のサイズ(MB): 任意の数値 (e.g: 204800 = 200 GB))
5. 縮小ボタンの実行

※ 逆に拡大する場合も 3.項でボリュームの拡張で大きくできる。


### BIOS のアップデート

まず、Dell Supper Assist を最新にする。現在(2019/01/19)で Version 3.1.0.142 である。念のため、BIOS を最新にしておく。

ない場合は、[Dell Web ページ](https://www.dell.com/support/contents/jp/ja/jpbsd1/article/product-support/self-support-knowledgebase/software-and-downloads/supportassist)よりダウンロードできる。


## BIOS(UEFI)で AHCI Mode の有効化

XPS13 の BIOS 初期設定は、SSD は、RAID Mode で Windows からのみ パーティションの操作やアクセスが可能な状態となっている。
そのため、Linux でのパーティションの操作や Acronis Boot Disk によるバックアップが行えない。

単に BIOS の設定を RAID から ACHI にするとSSDが認識されずに Windows が起動されない。

というわけで、Windows 側で XPS 13 の ACHI Mode に対応させる必要がある。
この、切り替え方法は Arch Linux Wiki - Dell XPS 13 (9350) [^2] に詳細に記載されている。
SATA コントローラーの欄参照。方法が 4 つ提供されておりそれぞれリンクが張られている。

- セーフモードで起動してから通常モードに戻す
- Windows のデバイスマネージャで Microsoft Storage Spaces Controller を選択
- レジストリのエントリを修正
- 他のレジストリエントリを修正

私は、最も安全そうなセーフモード経由の方法でセットアップした。


### セーフモードによる ACHI モードでの Windows 起動有効化

1. Windows 10 通常起動: セーフモードの設定
    1. 管理者権限でコマンドプロンプトを起動
    2. 次を実行: `bcdedit /set {current} safeboot minimal`
    3. 再起動
2. XPS13 BIOS(UEFI) 画面で AHCI に変更
    1. Dell のロゴ画面で F2 を押す
    2. Dell XPS 13 9360 の画面起動
    3. Setting/System Configuration/SATA Operation
        1. AHCIへ変更: RAID On → AHCI
    4. Apply で反映、再起動
3. Windows 10 のセーフモードの起動
    1. 管理者権限でコマンドプロンプトを起動
    2. 次を実行: `bcdedit /deletevalue {current} safeboot`


### Acronis True Image 2019 によるバックアップ

まずは、BitLocker の無効を行う。有効の場合、バックアップが行えない。

1. BitLocker の無効
    1. 設定/更新とセキュリティ/Bitlockerの解除
    2. 参考: [BitLockerを無効にする方法
](https://www.dell.com/support/article/jp/ja/jpdhs1/sln314412/)


次に、以下の手順で Acronis ブータブルメディアを作成し起動する。

1. Acronis True Image 2019 起動
2. ダッシュボードよりツールを選択
3. ブータブルメディアビルダーを選択
4. 詳細→Linux ベースのメディアを選択
5. USBドライブを選択
6. Dell ブートローダ起動
    1. Dell ロゴ画面で F12 を押す
7. USB メモリの選択
8. バックアップからディスクごとバックアップ


## Linux のインストール

Linux Mint 19.1 Cinnamon をインストールした。特に問題なくそのままインストールできた。
wifi も正しく認識されたため、ネット環境も問題なく構築された。
サードパーティー製ドライバをインストールするためにセキュアブートを無効の上起動さえた。

前提として、USB メモリに Linux Mint の ISO を書き込み USBメモリ起動を可能にしておく。

1. Dell ロゴ画面で F12 を押す、ブート選択画面へ
2. OTHER OPTIONS/Change Boot Mode Setting
3. `2) UEFI Boot Mode, Secure Boot OFF` を選択
4. DO YOU WISH TO PROCEED?: YES
5. FINAL CONFIRMATION: Apply The Changes
6. Dell ロゴ画面で F12 を押す、ブート選択画面へ
7. USB メモリを選択
    1. e.g: UEFI: JetFlashTranscend 16GB 1100, Partition 1
8. USB メモリから Linux が起動する


### 完了後: Grub の解像度を変更

インストールが完了したのはいいが 高 DPI のため、Grub のコントロール画面が
すごく小さくなった。そのため、解像度を下げて見やすくする。

`/etc/default/grub`  編集すれば良いため、以下手順で編集する[^3]。

```sh
$ sudo cp /etc/default/grub /etc/default/grub.orig
$ sudo vim /etc/defualt/grub
$ sudo update-grub2
$ sudo reboot
```


編集内容: 以下を追加

```conf
# display setting
#
# resolution: 800x600
GRUB_GFXMODE=800x600x32
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
GRUB_GFXPAYLOAD_LINUX=keep
```

##  まとめ

とにかく面倒だった。
回復メディアを作成し、さらに Acronis などでディスクごとバックアップしないと安心感がない。
また、この方法は他のPCでも応用が利きそうなので覚えておきたい。


[^1]: [Windows 10 で回復ドライブを作成する方法](https://www.dell.com/support/article/jp/ja/jpdhs1/sln297924/)
[^2]: [Arch Linux Wiki - Dell XPS 13 (9350)](https://wiki.archlinux.jp/index.php/Dell_XPS_13_(9350))
[^3]: [Grub2 設定] (https://blog.sgry.jp/entry/2017/12/14/003000)