Thinkpad X1 yoga 2019 をUbuntu18.04デュアルブートにする

# 概要
Thinkpad X1 yoga 2019 をUbuntu18.04デュアルブートにする。
結構、ハマったので、覚え書き。
（2020/02/29）追記；
Ubuntu起動後、NWにアクセスできないトラブルが発生。

## 結論

Intel Optane Memoryをカスタマイズ搭載していたことで、インストールは成功しているのに、Bootできない状態となっていた。
[Intel optaneを搭載したHDDでのデュアルブートUbuntu](https://tutorialmore.com/questions-134127.htm)

BIOS → Security → Intel(R) SGX → Intel (R) SGX Control：Disabled

としたら、Bootすることができた。

# 詳細
## Windowsでの設定
1. 高速スタートアップを無効にする
2. Windowsのドライブを縮小

### 参考にさせて頂いたサイト
[UbuntuとWindowsのDualboot環境を構築する](https://ja.unflf.com/tech/dualboot-ubuntu-windows/)


## Ubuntuをダウンロード
Rufusを使用してイメージUSBを作成。
### 参考にさせて頂いたサイト
[Windows10とUbuntu18.04をデュアルブートする。](https://qiita.com/yo_kanyukari/items/2a944a300db22482c696)

## Ubuntuをインストール
通常どおりにインストールを進める。
パーティションの作成は、悪戦苦闘のさなかでいろいろ変遷したが、最終的には以下の仕様でおさまった。

|        | サイズ | タイプ             | 場所           | 利用方法     | Mount Point |
|--------|--------|--------------------|----------------|--------------|--------------|
| Ubuntu | 250GB  | 基本パーティション | この領域の始点 | ext4         | / |
| Swap   | 32GB   | 論理パーティション | この領域の終点 | スワップ領域 |  |

『ブートローダーをインストールするデバイス：』はefiシステムパーティション（Windows Boot Managerが入っているパーティション）を選択した。

### 学んだこと
- 基本パーティションは４つまでしか作れない
- 「Ubuntu 18.04」ではスワップ領域を「スワップファイル」に確保するため、「スワップパーティション」を作成する必要がなくなった。
    - 従来通り「スワップパーティション」もサポートされるため、必要なら「スワップパーティション」を作成することもできる。
- UEFIモードでインストールする場合、ブートローダーはefiパーティションにインストールされる。
    - 「EFIシステムパーティション」は各OS間で共有して利用されるパーティションであるため、複数の「EFIシステムパーティション」を作成する必要はない。

### 参考にさせて頂いたサイト

[UEFIのPCにUbuntu 18.04をインストールする（ライブメディアから起動 〜 インストールの種類の選択）](https://kledgeb.blogspot.com/2018/04/ubuntu-1804-uefi-1-uefipcubuntu-1804.html)

## Boot
ここまできて、RebootしたがOS選択画面に入れない。
症状としては、起動時、F12から“Boot Menu”に入ると、【Ubuntu】は選択できるようになっている。（インストールはできてるっぽい）
しかし、【Ubuntu】を選択すると、画面が一度ブラックアウトしたのち、再び“Boot Menu”画面に戻ってしまう。

# BIOSの設定
設定の詳細説明は以下のサイトを参照。
[Lenovo ユーザーガイド Think Pad X1 Yoga 3rd Gen](https://usermanual.wiki/Lenovo/tpx1yogaugja.986971291/help)

## Secure Boot
UEFIモードならSecure BootをOFFにする必要はない。
（デフォルト設定のまま）
BIOS → Security → Secure Boot：ON
　　　　　　　　 → Secure Boot Mode：Standard Mode（Restore Factory Keysで設定変更可能）

## Boot Mode
関係なかった。
（デフォルト設定のまま）
BIOS → Startup → Boot Mode：Quick

## Optane
Windowsを起動し、《Intel Optane Memory and Storage Management》を起動。
インテルOptaneメモリー Tabにて、有効 ⇔ 無効 の切り替えが可能。
無効にして、
BIOS → Security → Intel(R) SGX → Intel (R) SGX Control：Disabled
としてから、
Boot Menu → Ubuntu
で通常通りの起動画面に入れた。
その後、WindowsでOptaneを再度有効に戻してみたが、Ubuntuは起動できる。
結局、Intel(R) SGX にBootを阻まれていた模様。

# NWトラブル
Ubuntu起動後に、インターネットに有線・無線のいずれもアクセスできない事態に。
同僚から借りたUbuntu18.04.03イメージから、自前の18.04.04イメージに変えて再インストールを実施。
有線でのインターネットアクセスは可能になった。

## 症状
```
:~$ dmesg | grep iwl
[    3.461638] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    3.491476] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17
[    3.491479] iwlwifi 0000:00:14.3: Found debug destination: EXTERNAL_DRAM
[    3.491481] iwlwifi 0000:00:14.3: Found debug configuration: 0
[    3.491668] iwlwifi 0000:00:14.3: loaded firmware version 48.13675109.0 op_mode iwlmvm
[    3.534020] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560 160MHz, REV=0x354
[    3.540870] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[    3.541307] iwlwifi 0000:00:14.3: Allocated 0x00400000 bytes for firmware monitor.
[    4.572816] iwlwifi 0000:00:14.3: Collecting data: trigger 15 fired.
[    4.572957] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[    4.572959] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 2029471828
[    4.572961] iwlwifi 0000:00:14.3: Loaded firmware version: 48.13675109.0
[    4.572962] iwlwifi 0000:00:14.3: 0xDA9471C0 | ADVANCED_SYSASSERT          
[    4.572963] iwlwifi 0000:00:14.3: 0x2A4B9E39 | trm_hw_status0
[    4.572964] iwlwifi 0000:00:14.3: 0xE26753CD | trm_hw_status1
[    4.572964] iwlwifi 0000:00:14.3: 0xBDA3CFB1 | branchlink2
[    4.572965] iwlwifi 0000:00:14.3: 0xFD4FFC80 | interruptlink1
[    4.572966] iwlwifi 0000:00:14.3: 0x418462D2 | interruptlink2
[    4.572966] iwlwifi 0000:00:14.3: 0x0C8E8E3C | data1
[    4.572992] iwlwifi 0000:00:14.3: 0x7972D737 | data2
[    4.572993] iwlwifi 0000:00:14.3: 0xD6BD753C | data3
[    4.572993] iwlwifi 0000:00:14.3: 0x0568CD65 | beacon time
[    4.572994] iwlwifi 0000:00:14.3: 0x9AAD2E4A | tsf low
[    4.572995] iwlwifi 0000:00:14.3: 0x3E7EFA0A | tsf hi
[    4.572996] iwlwifi 0000:00:14.3: 0xBA74F283 | time gp1
[    4.572996] iwlwifi 0000:00:14.3: 0x88CCC28A | time gp2
[    4.572997] iwlwifi 0000:00:14.3: 0x66020F1B | uCode revision type
[    4.572998] iwlwifi 0000:00:14.3: 0x0327A3C2 | uCode version major
[    4.572999] iwlwifi 0000:00:14.3: 0xDBE0CF58 | uCode version minor
[    4.573000] iwlwifi 0000:00:14.3: 0x21A4A61F | hw version
[    4.573000] iwlwifi 0000:00:14.3: 0xA24BD149 | board version
[    4.573001] iwlwifi 0000:00:14.3: 0x929C9886 | hcmd
[    4.573002] iwlwifi 0000:00:14.3: 0x4E5114C6 | isr0
[    4.573003] iwlwifi 0000:00:14.3: 0x8FF72550 | isr1
[    4.573004] iwlwifi 0000:00:14.3: 0x05872186 | isr2
[    4.573005] iwlwifi 0000:00:14.3: 0x5443A673 | isr3
[    4.573006] iwlwifi 0000:00:14.3: 0x584DDCC5 | isr4
[    4.573007] iwlwifi 0000:00:14.3: 0x3B991E35 | last cmd Id
[    4.573009] iwlwifi 0000:00:14.3: 0x8CC31669 | wait_event
[    4.573010] iwlwifi 0000:00:14.3: 0x2D840010 | l2p_control
[    4.573011] iwlwifi 0000:00:14.3: 0x55DD6CC7 | l2p_duration
[    4.573012] iwlwifi 0000:00:14.3: 0x9FD6BFFD | l2p_mhvalid
[    4.573013] iwlwifi 0000:00:14.3: 0x9CAB161D | l2p_addr_match
[    4.573014] iwlwifi 0000:00:14.3: 0x5F2B7525 | lmpm_pmg_sel
[    4.573015] iwlwifi 0000:00:14.3: 0x9C3ADE4E | timestamp
[    4.573016] iwlwifi 0000:00:14.3: 0xA27BD7AA | flow_handler
[    4.573080] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[    4.573081] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 7
[    4.573083] iwlwifi 0000:00:14.3: 0x201013F1 | ADVANCED_SYSASSERT
[    4.573084] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[    4.573085] iwlwifi 0000:00:14.3: 0xC008CF5C | umac branchlink2
[    4.573086] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink1
[    4.573087] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink2
[    4.573089] iwlwifi 0000:00:14.3: 0x00000003 | umac data1
[    4.573090] iwlwifi 0000:00:14.3: 0x20000302 | umac data2
[    4.573091] iwlwifi 0000:00:14.3: 0x01300202 | umac data3
[    4.573092] iwlwifi 0000:00:14.3: 0x00000030 | umac major
[    4.573094] iwlwifi 0000:00:14.3: 0x13675109 | umac minor
[    4.573118] iwlwifi 0000:00:14.3: 0x00005C93 | frame pointer
[    4.573119] iwlwifi 0000:00:14.3: 0xC0887F58 | stack pointer
[    4.573121] iwlwifi 0000:00:14.3: 0x00000000 | last host cmd
[    4.573122] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[    4.573137] iwlwifi 0000:00:14.3: Fseq Registers:
[    4.573140] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_ERROR_CODE
[    4.573143] iwlwifi 0000:00:14.3: 0x00000000 | FSEQ_TOP_INIT_VERSION
[    4.573146] iwlwifi 0000:00:14.3: 0x87EED67D | FSEQ_CNVIO_INIT_VERSION
[    4.573149] iwlwifi 0000:00:14.3: 0x0000A384 | FSEQ_OTP_VERSION
[    4.573152] iwlwifi 0000:00:14.3: 0x0462B5C1 | FSEQ_TOP_CONTENT_VERSION
[    4.573155] iwlwifi 0000:00:14.3: 0x31C41E86 | FSEQ_ALIVE_TOKEN
[    4.573158] iwlwifi 0000:00:14.3: 0x17B94B63 | FSEQ_CNVI_ID
[    4.573161] iwlwifi 0000:00:14.3: 0x3AD560CF | FSEQ_CNVR_ID
[    4.573164] iwlwifi 0000:00:14.3: 0x20000302 | CNVI_AUX_MISC_CHIP
[    4.573169] iwlwifi 0000:00:14.3: 0x01300202 | CNVR_AUX_MISC_CHIP
[    4.573174] iwlwifi 0000:00:14.3: 0x0000485B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[    4.573229] iwlwifi 0000:00:14.3: 0xA5A5A5A2 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[    4.573252] iwlwifi 0000:00:14.3: SecBoot CPU1 Status: 0x5c05, CPU2 Status: 0x3
[    4.573253] iwlwifi 0000:00:14.3: Failed to start RT ucode: -110
[    4.573256] iwlwifi 0000:00:14.3: Firmware not running - cannot dump error
[    4.584938] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110

```

### 参考にさせて頂いたサイト
[Lenovo Ideapad S540(14)へのDebian 10.2インストール](https://qiita.com/hiromotai7/items/dc20a381c694747ef783)

[Intel AC 9560 not working](https://askubuntu.com/questions/1212472/intel-ac-9560-not-working)

[インテル® ワイヤレス・アダプターの Linux* サポートについて
](https://www.intel.co.jp/content/www/jp/ja/support/articles/000005511/network-and-i-
o/wireless-networking.html)

☆[19.10: Thinkpad L13: Intel 9560: wifi interface suddenly disappeared](https://askubuntu.com/questions/1211877/19-10-thinkpad-l13-intel-9560-wifi-interface-suddenly-disappeared)

### バージョンの確認

Linux kernelのバージョンを確認

```
$ sudo cat /proc/version
```

ファームウェアのバージョンを確認

```
$ modinfo iwlsifi
```

アップデート可能なkernelバージョンを確認

```
sudo apt-cache search linux-image
```

インストールしたカーネルバージョンは、linux-image-5.3.0-40-genericで最新だった。

### 試してみること
・kernel 5.3.0-28 にする。

GNU GRUBのAdvanced Optionを確認すると、kernel 5.3.0-28がいっしょにインストールされていた。
そちらで起動すると、何事もなくWiFiもしようできた。
やはり、5.3.0-40のバージョンアップでバグがあるという情報が有力か？