25 August 2019

Lenovo ThinkCentre M720qのUEFI起動まわりをさらに調査し、Ubuntuとのデュアルブート化に備える

Lenovo ThinkCentre M720qを購入し、Ubuntuとのデュアルブート化に向けてさらに調査する

Windowsのプロダクトキーのシールが筐体に見当たらない

Lenovo公式FAQ『Windows プロダクトキー よくある質問(FAQ) 』によれば、この機種ではプロダクトキーがBIOS内に格納されているためユーザが手動入力する必要はないそうだ。

どうしても知りたい場合は、

「PowerShell」を開き、アプリを右クリックして管理者として開きます。 「管理者として実行」を選択します。

次のスクリプトを実行すればプロダクトキーが表示される。

(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey

署名が無いドライバが動作しない

Bluetoothスピーカーを接続しようとしたところ、エラーとなった。

20190825-driver-a2dp.jpg
たとえWindows標準ドライバでも、未署名のドライバは動作しない。

起動オプションを「テストモード」に変更すればよいという情報があるが、どうしても必要なデバイスでなければ現状のまま「未署名ドライバが必要なデバイスは使わない」ほうが安心だ。

ブートマネージャーの調査

UEFIのブートマネージャー

C:\Windows\system32>bcdedit /enum firmware
 
ファームウェアのブート マネージャー
--------------------------------
identifier              {fwbootmgr}
displayorder            {bootmgr}
                        {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              {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

displayorder がUEFI BIOSの「Startup - Primary Boot Sequence」で設定した順になっていることが確認できる

Windowsのブートマネージャー

C:\Windows\system32>bcdedit
 
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
 
Windows ブート ローダー
--------------------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 10
locale                  ja-JP
inherit                 {bootloadersettings}
recoverysequence        {7a8d6eca-be9b-11e9-90ae-98fa9b6acb1d}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {b7fd96a9-be9d-11e9-8a04-98fa9b6acb1d}
nx                      OptIn
bootmenupolicy          Standard

EFIブートパーティションの内容を確認する

まず、EFIブートパーティションをマウントする

C:\Windows\system32>diskpart
 
Microsoft DiskPart バージョン 10.0.18362.1
 
Copyright (C) Microsoft Corporation.
コンピューター: M720Q-WIN10
 
DISKPART> list disk
 
  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           931 GB  5120 KB        *
DISKPART> select disk 0
 
ディスク 0 が選択されました。
 
DISKPART> list volume
 
  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     C   Windows      NTFS   Partition    930 GB  正常         ブート
  Volume 1         WinRE_DRV    NTFS   Partition    995 MB  正常
  Volume 2         SYSTEM       FAT32  Partition    260 MB  正常         システム
 
DISKPART> select volume 2
 
ボリューム 2 が選択されました。
 
DISKPART> assign letter=z:
 
DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。
 
DISKPART> exit
 
DiskPart を終了しています...

マウントしたz:ドライブのファイル一覧を表示

Z:\>dir /S
 ドライブ Z のボリューム ラベルは SYSTEM です
 ボリューム シリアル番号は 947F-F17C です
 
 Z:\ のディレクトリ
 
2019/08/14  06:13    <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/14  06:13    <DIR>          Boot
               0 個のファイル                   0 バイト
 
 Z:\EFI\Microsoft のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/08/14  06:13    <DIR>          Boot
2019/08/14  06:13    <DIR>          Recovery
               0 個のファイル                   0 バイト
 
 Z:\EFI\Microsoft\Boot のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/08/14  06:13    <DIR>          bg-BG
2019/03/19  13:45            45,576 kd_0C_8086.dll
2019/08/14  06:13    <DIR>          cs-CZ
2019/08/14  06:13    <DIR>          da-DK
 
~ 各言語のディレクトリ一覧 省略 ~
 
2019/08/14  06:13    <DIR>          it-IT
2019/08/14  06:13    <DIR>          ja-JP
2019/08/14  06:13    <DIR>          ko-KR
 
~ 各言語のディレクトリ一覧 省略 ~
 
2019/08/14  06:13    <DIR>          zh-TW
2019/08/14  06:13    <DIR>          Fonts
2019/08/14  06:13    <DIR>          Resources
2019/08/25  00:09            36,864 BCD
2019/03/19  13:44             5,023 boot.stl
2019/08/20  22:22         1,527,824 bootmgfw.efi
2019/08/20  22:22         1,510,712 bootmgr.efi
2019/08/20  22:22         1,322,000 memtest.efi
2019/03/19  13:44             8,928 winsipolicy.p7b
2019/03/19  13:45            31,248 kd_02_10df.dll
2019/03/19  13:45           370,192 kd_02_10ec.dll
2019/03/19  13:45            26,640 kd_02_1137.dll
2019/03/19  13:45           240,136 kd_02_14e4.dll
2019/03/19  13:45            44,552 kd_02_15b3.dll
2019/03/19  13:45            43,560 kd_02_1969.dll
2019/03/19  13:45            31,240 kd_02_19a2.dll
2019/03/19  13:45            20,496 kd_02_1af4.dll
2019/03/19  13:45           251,920 kd_02_8086.dll
2019/03/19  13:45            18,960 kd_07_1415.dll
2019/03/19  13:44            24,584 kdstub.dll
              18 個のファイル           5,560,455 バイト
 
 Z:\EFI\Microsoft\Boot\bg-BG のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/03/19  13:44            81,208 bootmgfw.efi.mui
2019/03/19  13:44            81,208 bootmgr.efi.mui
               2 個のファイル             162,416 バイト
 
~ 各言語のディレクトリ一覧 省略 ~
 
 Z:\EFI\Microsoft\Boot\ja-JP のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/03/19  13:44            69,432 bootmgfw.efi.mui
2019/03/19  13:44            69,432 bootmgr.efi.mui
2019/03/19  13:44            42,808 memtest.efi.mui
               3 個のファイル             181,672 バイト
 
~ 各言語のディレクトリ一覧 省略 ~
 
 Z:\EFI\Microsoft\Boot\zh-TW のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/03/19  13:44            64,824 bootmgfw.efi.mui
2019/03/19  13:44            64,824 bootmgr.efi.mui
2019/03/19  13:44            42,296 memtest.efi.mui
               3 個のファイル             171,944 バイト
 
 Z:\EFI\Microsoft\Boot\Fonts のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/03/18  20:45         3,695,830 chs_boot.ttf
2019/03/18  20:45         3,878,522 cht_boot.ttf
2019/03/18  20:45         1,985,978 jpn_boot.ttf
2019/03/18  20:45         2,373,110 kor_boot.ttf
2019/03/18  20:45           175,642 malgunn_boot.ttf
2019/03/18  20:45           178,098 malgun_boot.ttf
2019/03/18  20:45           144,230 meiryon_boot.ttf
2019/03/18  20:45           145,891 meiryo_boot.ttf
2019/03/18  20:45           163,705 msjhn_boot.ttf
2019/03/18  20:45           165,734 msjh_boot.ttf
2019/03/18  20:45           155,436 msyhn_boot.ttf
2019/03/18  20:45           157,274 msyh_boot.ttf
2019/03/18  20:44            44,970 segmono_boot.ttf
2019/03/18  20:44            85,974 segoen_slboot.ttf
2019/03/18  20:44            86,290 segoe_slboot.ttf
2019/03/18  20:44            49,202 wgl4_boot.ttf
              16 個のファイル          13,485,886 バイト
 
 Z:\EFI\Microsoft\Boot\Resources のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/03/18  20:44            92,712 bootres.dll
2019/08/14  06:13    <DIR>          en-US
               1 個のファイル              92,712 バイト
 
 Z:\EFI\Microsoft\Boot\Resources\en-US のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/03/18  22:18            12,816 bootres.dll.mui
               1 個のファイル              12,816 バイト
 
 Z:\EFI\Microsoft\Recovery のディレクトリ
 
2019/08/14  06:13    <DIR>          .
2019/08/14  06:13    <DIR>          ..
2019/08/14  06:58            20,480 BCD
               1 個のファイル              20,480 バイト
 
 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/20  22:22         1,527,824 bootx64.efi
               4 個のファイル           1,909,413 バイト
 
 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 バイト
 
     ファイルの総数:
             137 個のファイル          30,819,410 バイト
             139 個のディレクトリ     237,002,752 バイトの空き領域

表示が終われば、diskpartでremove letter=z:を実行して、ドライブをアンマウントする

Ubuntu 18.04セットアップ用のUSBがUEFIで起動することを確認

Ubuntu 18.04セットアップ用のisoファイルを、UNetbootinを用いてUSBメモリーに書き込み、それを用いて起動する

PCの起動時にF12連打してStartup Device Menuを表示させるか、F1連打で表示されるUEFI BIOS設定のStartup - Primary Boot SequenceでUSB HDDをWindows Boot Managerより上位に設定して再起動する

20190825-bootmenu.jpg
Startup Device Menu

起動後、端末を開いて/sys/firmware/efiディレクトリが存在していれば、UEFIから起動している。

ubuntu@ubuntu:~$ ll /sys/firmware/efi
合計 0
drwxr-xr-x   6 root root    0  8月 25 03:28 ./
drwxr-xr-x   6 root root    0  8月 25 03:21 ../
-r--r--r--   1 root root 4096  8月 25 03:28 config_table
drwxr-xr-x   2 root root    0  8月 25 03:22 efivars/
drwxr-xr-x   3 root root    0  8月 25 03:28 esrt/
-r--r--r--   1 root root 4096  8月 25 03:28 fw_platform_size
-r--r--r--   1 root root 4096  8月 25 03:28 fw_vendor
-r--r--r--   1 root root 4096  8月 25 03:28 runtime
drwxr-xr-x  11 root root    0  8月 25 03:28 runtime-map/
-r--------   1 root root 4096  8月 25 03:22 systab
drwxr-xr-x 191 root root    0  8月 25 03:28 vars/

LinuxでUEFI Boot関連の情報を確認する

ディスクのパーティション一覧を表示

ubuntu@ubuntu:~$ sudo parted /dev/sda
GNU Parted 3.2
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print all
モデル: ATA ST1000LM049-2GH1 (scsi)
ディスク /dev/sda: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 
 
番号  開始    終了    サイズ  ファイルシステム  名前                          フラグ
 1    1049kB  274MB   273MB   fat32             EFI system partition          boot, hidden, esp
 2    274MB   290MB   16.8MB                    Microsoft reserved partition  msftres
 3    290MB   999GB   999GB   ntfs              Basic data partition          msftdata
 4    999GB   1000GB  1043MB  ntfs              Basic data partition          hidden, diag

Windowsで一覧表示したパーティションテーブルと違うのは、16.8MBの「Microsoft reserved partition」というのが表示されているところ

次に、ブートマネージャーのエントリを確認する

ubuntu@ubuntu:~$ sudo efibootmgr 
BootCurrent: 0008
Timeout: 1 seconds
BootOrder: 0008,0000,0006,0007,0005,0004
Boot0000* Windows Boot Manager
Boot0004* Generic Usb Device
Boot0005* CD/DVD Device
Boot0006* UEFI: PXE IPV4 Intel(R) Ethernet Connection (7) I219-V
Boot0007* UEFI: PXE IPV6 Intel(R) Ethernet Connection (7) I219-V
Boot0008* UEFI: TOSHIBA TransMemory 1.00

起動順(boot order)が、UEFI BIOSの「Startup - Primary Boot Sequence」で設定した順になっていることが確認できる