Lenovo ThinkCentre M720qを購入し、1TB SATA HDDの全領域を用いているプリインストール版のWindows 10のパーティションを縮小し、Ubuntu 18.04を追加インストールした時の記録
UEFI BIOSでセキュア・ブートを無効化する
PC起動時にF1キー連打によりUEFI BIOS設定画面を表示し、Security - Secure Boot の設定ページでセキュア・ブートを有効から無効に変更する。
Security - Secure Boot(この画面では初期値のEnabledになっているが、これをDisabledに変更する)
さらに、確認事項としてSATA HDDがSATAモードに設定されていることを再確認しておく。(RAIDの設定になっているときは、インストールを進められるかさらなる調査が必要)
Devices - SATA Drive Setup(初期値ですでにSATAとなっている)
Google検索ではStartup設定のページにある「Compatibility Supported Module (CSM)」を有効化する必要があると書かれている資料も多いが、今回はUbuntu 18.04でEFI対応OSのため、ここは初期値の無効化のままインストール作業を進めてゆく
Windowsパーティションの縮小
現状は、Windows 10が1TB HDDの全領域を使っているため、これを必要最低限度の容量まで縮小する。
Windows 10のディスクの管理では、パーティションの縮小は可能だが、移動を行うことはできない。縮小したWindows 10のパーティションの後ろに、リカバリー・パーティションをくっつけるためには、パーティションの移動機能を持ったパーティション管理ソフトが必要。
今回は、EaseUS Partition Master (無償版)を用いて作業する
まずWindows 10パーティションの縮小を行い、PCが自動再起動したのちにリカバリー・パーティションを移動した。
Windows 10パーティションの容量は、既に使用済み容量として31GB、これにMicrosoftが推奨するWindows 10のアップデートに必要な空き容量32GBを足して、だいたい80GBを総容量と決めた。
Ubuntuインストール用の未フォーマットのパーティションを作成
メイン・メモリーと同容量程度のswapパーティションと、Ubuntuをインストールするための40GBのパーティションをWindows版「ディスクの管理」で作成した。
Ubuntuをインストールするための未フォーマットのパーティション作成後
Ubuntu 18.04セットアップ用のUSBで起動する
Ubuntu 18.04セットアップ用のisoファイルを、UNetbootinを用いてUSBメモリーに書き込み、それを用いて起動する
PCの起動時にF12連打してStartup Device Menuを表示させるか、F1連打で表示されるUEFI BIOS設定のStartup - Primary Boot SequenceでUSB HDDをWindows Boot Managerより上位に設定して再起動する
UbuntuのLive版デスクトップが起動したら、右上の電源インジケータのメニューよりWifiの設定を行う。Lenovo ThinkCentre M720q TinyのIntel Dual Band Wireless-AC 3165はUbuntu 18.04にドライバが含まれているので、特に何もせずに認識が行われている。
ネットに接続する必要があるのは、セットアップ途中にネットから追加ソフトウエアなどが自動的にダウンロードされるため。
画面左上のセットアップ・プログラムを起動する
「通常のインストール」を選択し、「サードパーティー製ソフトウエアをインストールする」を有効化する。
インストールの種類(パーティションの設定・選択)では「それ以外」の手動設定を選択する
「ブートローダをインストールするデバイス」は、SATA HDDの /dev/sda を選択する(EFI論理パーティションの/dev/sda1を選択するのではない)。
セットアップは、このPCがUEFI起動と自動的に認識し、UEFIに対応したインストールを行ってくれる。
UbuntuがUEFIのブートメニューに登録されていることを確認
Ubuntuインストールの完了後に再起動を行う。再起動時にF12キー連打によって表示されるStartup Device MenuにUbuntuが選択肢として加わっていれば正しくブートローダがインストールされている。
Ubuntuの起動メニューが追加されたUEFI Startup Device Menu
また、LinuxのGrubブートメニューはUEFI対応版がインストールされ、選択肢の最後にUEFI BIOS設定画面に移行する「System Setup」の選択肢が表示される
Windows 10を起動して、UEFIのブートメニュー一覧を表示させてみる
C:\Windows\system32>bcdedit /enum firmware ファームウェアのブート マネージャー -------------------------------- identifier {fwbootmgr} displayorder {a8496159-c6db-11e9-90ce-806e6f6e6963} {bootmgr} {a849615a-c6db-11e9-90ce-806e6f6e6963} {c4903d7c-c3cd-11e9-90b3-806e6f6e6963} {c4903d7d-c3cd-11e9-90b3-806e6f6e6963} {fb328ac9-be9d-11e9-a789-806e6f6e6963} {fb328aca-be9d-11e9-a789-806e6f6e6963} timeout 1 Windows ブート マネージャー -------------------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume1 path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI description Windows Boot Manager locale ja-JP inherit {globalsettings} default {current} resumeobject {b7fd96a9-be9d-11e9-8a04-98fa9b6acb1d} displayorder {current} toolsdisplayorder {memdiag} timeout 0 ファームウェア アプリケーション (101fffff -------------------------------- identifier {a8496159-c6db-11e9-90ce-806e6f6e6963} device partition=\Device\HarddiskVolume1 path \EFI\UBUNTU\SHIMX64.EFI description ubuntu ファームウェア アプリケーション (101fffff -------------------------------- identifier {a849615a-c6db-11e9-90ce-806e6f6e6963} device partition=\Device\HarddiskVolume1 path \EFI\UBUNTU\GRUBX64.EFI description ubuntu ファームウェア アプリケーション (101fffff -------------------------------- identifier {c4903d7c-c3cd-11e9-90b3-806e6f6e6963} description UEFI: PXE IPV4 Intel(R) Ethernet Connection (7) I219-V ファームウェア アプリケーション (101fffff -------------------------------- identifier {c4903d7d-c3cd-11e9-90b3-806e6f6e6963} description UEFI: PXE IPV6 Intel(R) Ethernet Connection (7) I219-V ファームウェア アプリケーション (101fffff -------------------------------- identifier {fb328ac9-be9d-11e9-a789-806e6f6e6963} description Generic Usb Device ファームウェア アプリケーション (101fffff -------------------------------- identifier {fb328aca-be9d-11e9-a789-806e6f6e6963} description CD/DVD Device
Ubuntuインストール直後のこの設定では、GRUBX64.EFIが第1候補として自動起動される。2番目の選択肢はWindows 10ブートローダで、3番目にSHIMX64.EFIとなっている。
セキュアブートが有効化されている場合は、SHIMX64.EFIを用いる。SHIMX64.EFIはセキュリティ・キーをファームウエアに一時的に登録し、GRUBX64.EFIを呼び出すだけのプログラム。
次に、EFIパーティション内にSHIMX64.EFIやGRUBX64.EFIがどのように格納されているのか確認する。
C:\Windows\system32>diskpart
Microsoft DiskPart バージョン 10.0.18362.1
Copyright (C) Microsoft Corporation.
コンピューター: M720Q-WIN10
DISKPART> select disk 0
ディスク 0 が選択されました。
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 C Windows NTFS Partition 80 GB 正常 ブート
Volume 1 WinRE_DRV NTFS Partition 995 MB 正常
Volume 2 RAW Partition 8 GB 正常
Volume 3 RAW Partition 40 GB 正常
Volume 4 SYSTEM FAT32 Partition 260 MB 正常 システム
DISKPART> select volume 4
ボリューム 4 が選択されました。
DISKPART> assign letter=z:
DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。
DISKPART> exit
DiskPart を終了しています...
C:\Windows\system32>z:
Z:\>dir /s
ドライブ Z のボリューム ラベルは SYSTEM です
ボリューム シリアル番号は 947F-F17C です
Z:\ のディレクトリ
2019/08/25 09:36 <DIR> EFI
2019/08/14 06:13 <DIR> BOOT
0 個のファイル 0 バイト
Z:\EFI のディレクトリ
2019/08/14 06:13 <DIR> .
2019/08/14 06:13 <DIR> ..
2019/08/14 06:13 <DIR> Microsoft
2019/08/25 09:38 <DIR> Boot
2019/08/25 09:38 <DIR> ubuntu
0 個のファイル 0 バイト
~ 省略 ~
Z:\EFI\Boot のディレクトリ
2019/08/14 06:13 <DIR> .
2019/08/14 06:13 <DIR> ..
2015/05/14 09:49 379,992 LenovoBT.EFI
2012/06/18 10:24 1,523 License.txt
2012/08/06 13:49 74 ReadMe.txt
2019/08/25 09:38 1,213,032 fbx64.efi
2019/08/25 09:38 1,334,816 bootx64.efi
5 個のファイル 2,929,437 バイト
Z:\EFI\ubuntu のディレクトリ
2019/08/25 09:36 <DIR> .
2019/08/25 09:36 <DIR> ..
2019/08/25 09:36 <DIR> fw
2019/08/25 09:36 75,992 fwupx64.efi
2019/08/25 09:38 1,116,024 grubx64.efi
2019/08/25 09:38 126 grub.cfg
2019/08/25 09:38 1,334,816 shimx64.efi
2019/08/25 09:38 1,269,496 mmx64.efi
2019/08/25 09:38 108 BOOTX64.CSV
6 個のファイル 3,796,562 バイト
Z:\EFI\ubuntu\fw のディレクトリ
2019/08/25 09:36 <DIR> .
2019/08/25 09:36 <DIR> ..
0 個のファイル 0 バイト
Z:\BOOT のディレクトリ
2019/08/14 06:13 <DIR> .
2019/08/14 06:13 <DIR> ..
2019/03/18 20:46 3,170,304 BOOT.SDI
1 個のファイル 3,170,304 バイト
C:\Windows\System32>diskpart
Microsoft DiskPart バージョン 10.0.18362.1
Copyright (C) Microsoft Corporation.
コンピューター: M720Q-WIN10
DISKPART> select disk 0
ディスク 0 が選択されました。
DISKPART> select volume 4
ボリューム 4 が選択されました。
DISKPART> remove letter=z:
DiskPart はドライブ文字またはマウント ポイントを正常に削除しました。
エラー修正
Ubuntu 18.04が正常に起動した後、ログファイル(/var/log/syslog)に大量のエラーが吐き出されているので、これを阻止するため起動時のカーネルパラメーターを変更する
Aug 27 07:31:11 M720q-Ubuntu1804 kernel: [ 346.199811] pcieport 0000:00:1c.0: device [8086:a33d] error status/mask=00000001/00002000 Aug 27 07:31:11 M720q-Ubuntu1804 kernel: [ 346.199816] pcieport 0000:00:1c.0: [ 0] RxErr Aug 27 07:32:01 M720q-Ubuntu1804 kernel: [ 396.078634] pcieport 0000:00:1c.0: AER: Corrected error received: 0000:00:1c.0 Aug 27 07:32:01 M720q-Ubuntu1804 kernel: [ 396.078650] pcieport 0000:00:1c.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID) Aug 27 07:32:01 M720q-Ubuntu1804 kernel: [ 396.078656] pcieport 0000:00:1c.0: device [8086:a33d] error status/mask=00000001/00002000 Aug 27 07:32:01 M720q-Ubuntu1804 kernel: [ 396.078660] pcieport 0000:00:1c.0: [ 0] RxErr Aug 27 07:32:07 M720q-Ubuntu1804 kernel: [ 402.074646] pcieport 0000:00:1c.0: AER: Corrected error received: 0000:00:1c.0 Aug 27 07:32:07 M720q-Ubuntu1804 kernel: [ 402.074658] pcieport 0000:00:1c.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
PCI Expressの割り込み方法を、MSI(Message Signaled Interrupt)から従来のINTx(Legacy Interrupt Emulation)に変更するために、grub設定を書き換える
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"
GRUB_CMDLINE_LINUX=""
〜 以下省略〜
修正が終われば、コマンドラインで設定ファイルをシステムに反映する
$ sudo update-grub