0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UbuntuでSurface Go 3のファームウェアを更新する

Posted at

Ubuntuだけ入っているSurface Go 3(以下、SGO3)でファームウェアを更新します。
SGO3のドライバーとファームウェアのサービス期間は2027年10月5日なので、今後も偶に更新する機会があるはずです。私が前回更新したのは2024年1月で、当時はUbuntu 23.10でした。

環境

  • Surface Go 3
  • Ubuntu 24.04

必要なもの

surface-uefi-firmware

ファームウェアアップデートのフォーマットを変換するツールです。

fwupd

ファームウェアを更新するツールです。

サインなしのファイルでも使用できるように、/etc/fwupd/fwupd.confにOnlyTrusted=falseを追加します。

[fwupd]
# use `man 5 fwupd.conf` for documentation
OnlyTrusted=false

手順

1. ファームウェアファイルのダウンロード

マイクロソフトのDownload CenterからSurface 用のドライバーとファームウェアをダウンロードします。LinuxでSurfaceアプリを開くことはできませんから、Webページを下にスクロールし、Surface のドライバーとファームウェアの手動更新のところでモデルを選択するとダウンロードリンクが表示されます。
リンク先ではWindows11用とWindows10用の2つのファイルのリンクがあり、そのリンクからファイルがダウンロードできます。
今回はWindows 11用の SurfaceGo3_Win11_22621_24.050.2873.0.msi をダウンロードしました。

2. surface-uefi-firmware を使いフォーマットを変換する

cd surface-uefi-firmware
./repack.sh ../SurfaceGo3_Win11_22621_24.050.2873.0.msi -o fwupdates

ファイルを展開して再構成してくれます。

==> Extracting ../SurfaceGo3_Win11_22621_24.050.2873.0.msi
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfacesmf/SurfaceSMF.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfacepd/SurfacePD.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfacetpm_ntz/SurfaceTPM.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfacetouch/SurfaceTouch.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfaceec/SurfaceEC.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/ish/SurfaceISH.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfaceme/SurfaceME.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/surfacetpm_ntc/surfacetpm.inf
==> Repacking ./tmp.UaHs55OdNc/SurfaceUpdate/uefi/SurfaceUEFI.inf
Success!
If you wish, you may now install the firmware like so:

  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfacesmf_74.0.35_928e813f-a355-451d-a0ec-f917970c72f9.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfacepd_2.6.0_a439deea-8139-49f2-bdce-c1d0dbf6cd15.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfacetpm_ntz_55.33.1536_f13104af-7099-42d8-92ba-156735f8ee95.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfacetouch_6.4.9728_cba990ca-3d8d-4dfd-8e34-94eeed1971a7.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfaceec_4.26.32768_c117fbce-cff3-44b5-ad72-da56b4fccda5.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/ish_49.1.13_d4250c93-1e5b-4b54-8aeb-ea297f1404c0.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfaceme_184.94.4494_1430fb8a-9eeb-4259-8d12-0677b91bfe3f.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/surfacetpm_ntc_7.2.512_1c472044-934f-4b0f-8c91-813ef436809d.cab'
  sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check --force 'fwupdates/uefi_13.0.27791_28d35383-b6c2-44be-897c-aa9f24f15342.cab'

3. fwupdmgrでファームウェアを更新する

個別に更新できますが、面倒なので全て更新します。未対応なファイルは無視してくれます。

for f in fwupdates/*; do 
    sudo fwupdmgr install --allow-older --allow-reinstall --no-reboot-check "$f"
  done

ファームウェアを更新してくれました。ファームウェアの対象のデバイスが見つからないところはスキップしてくれています。

Waiting…                 [***************************************]
Successfully installed firmware
Waiting…                 [***************************************]
Successfully installed firmware
Waiting…                 [***************************************]
Successfully installed firmware
Waiting…                 [***************************************]
Successfully installed firmware
Waiting…                 [***************************************]
Successfully installed firmware
Waiting…                 [***************************************]
Successfully installed firmware
Decompressing…           [  -                                    ]
No supported devices found
Decompressing…           [  -                                    ]
No supported devices found
Waiting…                 [***************************************]
Successfully installed firmware

4. 再起動して新しいファームウェアを適用する

マシンを再起動するとファームウェアが適用されます。Windowsのロゴの下にプログレスバーが表示され、進捗状況が表示されます。適用するファームウェアの分だけプログレスバーはリフレッシュされるので、その表示は何回か繰り返されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?