「Fwupd」の版間の差分
(翻訳) |
(序文を更新) |
||
| (5人の利用者による、間の23版が非表示) | |||
| 2行目: | 2行目: | ||
[[Category:ハードウェア]] |
[[Category:ハードウェア]] |
||
[[en:Fwupd]] |
[[en:Fwupd]] |
||
| + | [[zh-hans:Fwupd]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
| − | {{Related|EFI システムパーティション}} |
||
{{Related|セキュアブート}} |
{{Related|セキュアブート}} |
||
{{Related|Unified Extensible Firmware Interface}} |
{{Related|Unified Extensible Firmware Interface}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
| − | + | [https://fwupd.org/ fwupd] は、セッションソフトウェアがローカルマシン上でデバイスのファームウェアを更新できるようにするシンプルなデーモンです。デスクトップ向けに設計されていますが、携帯電話やヘッドレスサーバーでも使用できます。 |
|
| − | サポートされているデバイスは [https://fwupd.org/lvfs/devicelist |
+ | サポートされているデバイスは [https://fwupd.org/lvfs/devicelist こちら] にリストされており、[https://fwupd.org/vendorlist さらに多くのデバイスが今後追加予定です] |
== インストール == |
== インストール == |
||
| − | {{Pkg|fwupd}} パッケージを[[インストール]]してください |
+ | {{Pkg|fwupd}} パッケージを[[インストール]]してください。 |
''fwupdate'' を使用する場合は [[#UEFI BIOS のアップグレード]]を見てください。 |
''fwupdate'' を使用する場合は [[#UEFI BIOS のアップグレード]]を見てください。 |
||
| + | |||
| + | === グラフィカルフロントエンド === |
||
| + | |||
| + | [[デスクトップ環境]]によっては fwupd が標準でサポートされています: |
||
| + | * {{App|GNOME Software|[[GNOME]] 環境上で動作します。バックグラウンドで定期的に更新を確認しダウンロードを行います。ファームウエアがダウンロードされると GNOME Software に更新の実行確認を行うポップアップが表示されます。|https://wiki.gnome.org/Apps/Software|{{Pkg|gnome-software}}}} |
||
| + | * {{App|KDE Discover|[[Plasma]] 上で動作します。KDE Plasma 5.14 以降では KDE Discover 上で fwupd バックエンドが実装されました。他のシステムのアップデートと同様にファームウエアの更新も表示されます。|https://userbase.kde.org/Discover|{{Pkg|discover}}}} |
||
| + | * {{App|GNOME Firmware|fwupd がサポートするデバイスのファームウェアをアップグレード、ダウングレード、再インストールするためのアプリケーションです。ロックされた fwupd デバイスのロック解除、サポートされているデバイスのファームウェアの検証、fwupd デバイスの全リリースを表示することができます。|https://gitlab.gnome.org/hughsie/gnome-firmware-updater|{{Pkg|gnome-firmware}}}} |
||
== 使用方法 == |
== 使用方法 == |
||
| + | このパッケージは、最初のクエリを受信したときに ''fwupd'' デーモンを自動的に起動する {{ic|fwupd.service}} を提供します。 [https://fwupd.org/lvfs/docs/users] |
||
| − | 以下のコマンドを実行することで利用可能なデバイスを確認できます: |
||
| + | |||
| + | fwupd に検出されたデバイスを確認するには: |
||
| + | |||
$ fwupdmgr get-devices |
$ fwupdmgr get-devices |
||
{{Note|上記のコマンドで出力されるデバイスの一部は fwupd でアップデートできない場合があります。例えば Intel の内蔵グラフィックはアップデートできません。}} |
{{Note|上記のコマンドで出力されるデバイスの一部は fwupd でアップデートできない場合があります。例えば Intel の内蔵グラフィックはアップデートできません。}} |
||
| − | + | 最新のメタデータを [https://fwupd.org/ Linux Vendor Firmware Service (LVFS)] からダウンロードするには: |
|
| + | |||
$ fwupdmgr refresh |
$ fwupdmgr refresh |
||
| + | {{Note|これは {{ic|fwupd-refresh.timer}} を[[有効化]]することによって自動的に行うことができます。}} |
||
| − | デバイスにアップデートが存在するか確認するには: |
||
| + | |||
| + | システムのアップデート一覧を確認するには: |
||
| + | |||
$ fwupdmgr get-updates |
$ fwupdmgr get-updates |
||
アップデートをインストールするには: |
アップデートをインストールするには: |
||
| + | |||
$ fwupdmgr update |
$ fwupdmgr update |
||
| + | {{Note| |
||
| − | {{Note|アップデートによっては root 権限が必要になることがあります。}} |
||
| + | * 再起動が必要ない更新はただちに適用されます。 |
||
| + | * 起動時に実行される更新は次回再起動時に行なわれます。 |
||
| + | * アップデートによっては [[ユーザーとグループ#概要|root 権限]]が必要になることがあります。 |
||
| + | }} |
||
| + | == 設定 == |
||
| − | == UEFI BIOS のアップグレード == |
||
| + | |||
| + | === ローカルキャッシュサーバー (passim) の無効化 === |
||
| + | |||
| + | fwupd は、2023年9月の [https://gitlab.archlinux.org/archlinux/packaging/packages/fwupd/-/commit/285811556e145288f36ba45fc24c5e80497e9073 バージョン 1.9.5] から、{{Pkg|passim}} というローカルキャッシュサーバーへの依存関係を追加しました。 |
||
| + | これは、LVFS の帯域使用量を削減するために設計されており、各マシンが毎日ダウンロードするメタデータファイルを他のマシンに提供できるようにするものです[https://github.com/hughsie/passim][https://blogs.gnome.org/hughsie/2023/07/28/introducing-passim/] |
||
| + | |||
| + | ''passimd'' はデーモンとして動作し、''すべてのIPアドレス''({{ic|0.0.0.0:27500}})からの接続を待ち受けします(ポート {{ic|27500}}) |
||
| + | この点についてはセキュリティ上の懸念が指摘されており[https://github.com/fwupd/fwupd/issues/6721][https://discussion.fedoraproject.org/t/f40-change-proposal-passim-peer-to-peer-metadata-self-contained/89608/2]、実際に数週間後にはいくつかの脆弱性が報告されました[https://security.opensuse.org/2023/10/27/passim-local-caching-server.html][https://www.openwall.com/lists/oss-security/2023/10/27/4] |
||
| + | |||
| + | Arch Linux では、{{Bug|79614}} にて、この依存関係をコンパイル時にオプション化する要望が出されましたが、ライブラリ用の分割パッケージを作成する必要があるため却下されました。 |
||
| + | |||
| + | そのため、''passimd'' を無効にしたい場合は、開発者の推奨する方法に従ってください[https://people.freedesktop.org/~hughsient/temp/Passim.pdf] |
||
| + | 具体的には、{{ic|/etc/fwupd/fwupd.conf}} に {{ic|1=P2pPolicy=nothing}} を追加するか、{{ic|passim.service}} をマスクしてください。 |
||
| + | |||
| + | == UEFI のアップグレードのセットアップ == |
||
| + | |||
| + | {{Warning|UEFI ファームウエアの更新により [[ブートローダー]] が破棄される可能性があります。更新完了後に NVRAM エントリを [[efibootmgr]] などで再生成する必要が生じる場合があります。}} |
||
アップグレードする前に以下を確認してください: |
アップグレードする前に以下を確認してください: |
||
| − | + | # マシンが [[UEFI]] モードで起動していることを確認してください。BIOS モードでは正しく動作しません。 |
|
| − | + | # [[Unified_Extensible_Firmware_Interface#UEFI 変数のサポートを正しく動作させるための必要条件|EFI 変数にアクセスできること]] を確認してください。 |
|
| − | + | # [[EFI システムパーティション]] (ESP) が正しくマウントされていることを確認してください。この記事では ESP のマウントポイントを {{ic|''esp''}} として表記します。 |
|
| + | # オプションの依存関係 {{Pkg|udisks2}} がインストールされていること、および関連する systemd ユニットが fwupd ユニットの前に起動されていることを確認してください。UEFI ファームウェアのアップグレードサポートが提供されます。 |
||
| + | === ESP の準備 === |
||
| − | === 以前の環境で作られたファイルの確認 === |
||
| + | ''fwupd'' は必要なファイルをすべて {{ic|''esp''}} にコピーしますが、これが機能するには、基本的なフォルダーレイアウトが {{ic|''esp'' に存在する必要があります。}}; |
||
| − | 他の Linux 環境で fwupdate を既にインストールしたことがある場合、efivars に残っているものを削除するようにしてください。以下のコマンドを実行することで残余を確認できます: |
||
| + | これにより、{{ic|''esp''}} 上に {{ic|EFI}} ディレクトリが作成されます。 |
||
| + | {{Note|ブートローダーまたは他のオペレーティングシステムの存在によっては、このディレクトリがすでに存在している可能性があります。}} |
||
| + | # mkdir ''esp''/EFI/ |
||
| − | $ ls /sys/firmware/efi/efivars/fwupdate-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 |
||
| + | {{Warning|{{ic|EFI}} ディレクトリはすべて大文字である必要があります。小文字を使用した場合、''fwupd'' は {{ic|''esp''}} を {{ic|''esp''/efi/}} として検出し、変わりに {{ic|''esp''/efi/EFI/}} を探す可能性があります。}} |
||
| − | 何か出力が返ってくる場合、以下のように削除してください: |
||
| + | その後、{{ic|fwupd.service}} ユニットを [[再起動]] します。{{ic|fwupdmgrfresh}} と {{ic|fwupdmgr update}} ができるようになりました。再起動するように求められます (ファームウェアアップデーターを起動します) |
||
| − | # chattr -i /sys/firmware/efi/efivars/fwupdate-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 |
||
| − | # rm -f /sys/firmware/efi/efivars/fwupdate-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 |
||
| + | {{Note|[[Lenovo ThinkPad P50]] ラップトップなどの一部のデバイスでは、ファームウェアアップデーターによって '''何もメッセージが表示されない黒い画面''' が表示されます。パニックにならないでください。また、'''中断しないでください。''' アップデートに応じて数秒または数分後デバイスは、強制的にリセットされます。マシンは再起動されてオペレーティングシステムに戻ります。}} |
||
| − | === fwupdate のインストールとアップデート === |
||
| + | === セキュアブート === |
||
| − | ''fwupdate'' の新しいバージョンをインストール・アップデートするにはユーザーの操作が必要です。pacman のフックを使うことでアップデートを自動化できます (ただしインストール時に一度は手動で設定する必要があります)。 |
||
| + | [[セキュアブート]]が有効な環境で fwupd EFI バイナリをチェーンロードするには {{Pkg|shim}} が正しくインストールされていることが必要です。 |
||
| − | ==== 手動 ==== |
||
| + | ==== 自己署名証明書を使う ==== |
||
| − | {{ic|/usr/lib/fwupdate/EFI}} フォルダを ESP にコピーしてください: |
||
| + | ファームウエア更新に使われる UEFI バイナリ {{ic|/usr/lib/fwupd/efi/fwupdx64.efi}} を手動で署名する方法もあります。 |
||
| − | # cp -r /usr/lib/fwupdate/EFI ''esp'' |
||
| + | {{Pkg|sbsigntools}} を使うと署名されたバイナリ {{ic|/usr/lib/fwupd/efi/fwupdx64.efi.signed}} が生成されます。 |
||
| − | ==== 自動 ==== |
||
| + | # sbsign --key <keyfile> --cert <certfile> /usr/lib/fwupd/efi/fwupdx64.efi |
||
| + | [[Pacman フック]]を使うと {{ic|fwupdx64.efi}} の更新時に自動で署名できます: |
||
| − | {{Pkg|fwupdate}} パッケージに含まれている Pacman フックは ESP を {{ic|/boot}} または {{ic|/boot/efi}} にマウントしている環境用です。関連するファイルのシンボリックリンクを作成することで利用することができます: |
||
| − | * {{ic|''esp''}} を {{ic|/boot}} にマウントしている場合: |
||
| − | # ln -s /usr/share/doc/fwupdate/esp-as-boot.hook /etc/pacman.d/hooks/fwupdate-efi-copy.hook |
||
| − | * {{ic|''esp''}} を {{ic|/boot/efi}} にマウントしている場合: |
||
| − | # ln -s /usr/share/doc/fwupdate/esp-as-boot-efi.hook /etc/pacman.d/hooks/fwupdate-efi-copy.hook |
||
| + | {{hc|head=/etc/pacman.d/hooks/sign-fwupd-secureboot.hook|output= |
||
| − | 他の場所にマウントしている場合は以下のスニペットの {{ic|''esp''}} のマウントポイントを調整してください: |
||
| − | {{hc|/etc/pacman.d/hooks/fwupdate-efi-copy.hook|<nowiki> |
||
[Trigger] |
[Trigger] |
||
| − | Type = Package |
||
Operation = Install |
Operation = Install |
||
Operation = Upgrade |
Operation = Upgrade |
||
| + | Type = Path |
||
| − | Target = fwupdate |
||
| + | Target = usr/lib/fwupd/efi/fwupdx64.efi |
||
[Action] |
[Action] |
||
| − | Description = Copying fwupdate to EFI directory... |
||
When = PostTransaction |
When = PostTransaction |
||
| − | Exec = /usr/bin/ |
+ | Exec = /usr/bin/sbsign --key <keyfile> --cert <certfile> /usr/lib/fwupd/efi/fwupdx64.efi |
| + | Depends = sbsigntools |
||
}} |
}} |
||
| + | {{ic|<keyfile>}} や {{ic|<certfile>}} は対応する鍵と証明書へのパスに置き換えます。 |
||
| − | === fwupd の実行 === |
||
| + | |||
| + | pacman hook を使わず、{{ic|/usr/lib/fwupd/efi/fwupdx64.efi}} から {{ic|/usr/lib/fwupd/efi/fwupdx64.efi.signed}} へシンボリックリンクを作成し {{ic|/etc/sbupdate.conf}} の {{ic|EXTRA_SIGN}} に追加する方法もあります。 |
||
| + | |||
| + | 最後に、{{ic|/etc/fwupd/uefi.conf}} の {{ic|DisableShimForSecureBoot}} を {{ic|true}} に変更し {{ic|fwupd.service}} サービスを再起動してください。 |
||
| + | {{ic|fwupd.service}}: |
||
| + | {{hc|head=/etc/fwupd/fwupd.conf|output= |
||
| + | ... |
||
| + | |||
| + | [uefi_capsule] |
||
| + | DisableShimForSecureBoot=true |
||
| + | }} |
||
| + | |||
| + | {{Note|''fwupd'' 1.9 より前にこれを設定した場合、このオプションは {{ic|/etc/fwupd/uefi_capsule.conf}} にあります。}} |
||
| + | {{Note|''fwupd'' 1.4 以前を使う場合は設定オプションの名前が微妙に異なることに注意してください。}} |
||
| + | |||
| + | さらなる詳細は [https://github.com/fwupd/fwupd/issues/669 GitHub Issue] を参照してください。 |
||
| + | |||
| + | == トラブルシューティング == |
||
| + | |||
| + | === 再起動時にスタック === |
||
| + | |||
| + | {{ic|fwupdmgr update}} はエラーを報告しませんが、再起動を促すメッセージが表示されず、電源ボタンを押したままにしても応答がありません。 電源を切るか、リセットボタン (ラップトップの場合は背面の穴である可能性があります) を押して強制的に再起動してみてください。 |
||
| + | |||
| + | === エラーは出ないが再起動後も更新されない === |
||
| + | |||
| + | '''現象:''' {{ic|fwupdmgr update}} は正常に終了し (UEFI の更新などで) 再起動を求められた。しかし再起動してもファームウエア更新は行なわれなかった。 |
||
| + | |||
| + | '''考えられる原因:''' 起動順序がBIOS で正しく設定されていない。 |
||
| + | |||
| + | '''保留中の更新が複数ある場合に考えられる他の解決策:''' パッケージを 1つずつ更新してみてください。以下を使用してパッケージを選択します。: |
||
| + | |||
| + | $ fwupdmgr update ''update_ID'' |
||
| + | |||
| + | ({{ic|''update_ID''}} は {{ic|f95c9218acd12697af946874bfe4239587209232}} のようなものです。) |
||
| + | |||
| + | === 読み取り専用ファイルシステムエラー === |
||
| + | |||
| + | 少なくとも、{{ic|fwupdmgr}} 1.5.2 は、もし bind が ''esp'' を {{ic|/boot}} [https://wiki.archlinux.org/index.php?title=EFI_system_partition#Using_bind_mount] にマウントするために使用された場合、間違ったマウントポイントが推測されます。その結果、UEFI 更新ファイル {{ic|/boot/EFI/arch/fw}} の書き込みに失敗します({{ic|fwupdmgr}} は {{ic|''esp''/EFI/arch/fw}} に書き込みます)。これにより、(誤解を招く) "file system is read-only" というエラーメッセージが表示されます。{{ic|Discover}} (またはその他の fwupd 対応アップデート GUI ) によって更新が実行された場合は、エラーや誤解を招くようなエラーは表示されない場合があります。 |
||
| + | |||
| + | 回避策としては、以前に {{ic|''esp''/EFI/arch}} にバインドマウントされていた場合は最初に {{ic|umount /boot}} を実行し、その後 {{ic|fwupdmgr update}} を実行して UEFI 更新ファイルを {{ic|''esp''/EFI/arch/fw}} に書き込み、{{ic|mount /boot}} してシステムを再起動して UEFI 更新を実行します。 |
||
| + | |||
| + | === UEFI ESP パーティションが検出または設定されていない === |
||
| + | |||
| + | [[fwupd#UEFI のアップグレードのセットアップ]] のすべての要件を満たした後でも ESP パーティションが検出されない場合、マウントポイントを手動で指定することができます。 |
||
| + | |||
| + | {{hc|head=/etc/fwupd/uefi_capsule.conf|output= |
||
| + | [uefi_capsule] |
||
| + | OverrideESPMountPoint=/efi # 設定に合わせて変更 |
||
| + | }} |
||
| + | |||
| + | [https://github.com/fwupd/fwupd/wiki/PluginFlag:esp-not-found 関連記事] も参照 |
||
| + | |||
| + | === MSR プラグインを読み込めない === |
||
| + | |||
| + | MSR プラグインは DCI の状態を問い合わせることができます。DCI は Intel CPU で利用可能なデバッグインターフェイスで、[https://github.com/fwupd/fwupd/blob/master/plugins/msr/README.md fwupd's documentation] に従って本番マシンでは無効化されているはずです。 |
||
| + | このプラグインは {{ic|msr}} カーネルモジュールがロードされている必要があります。{{ic|msr}} は全ての公式 Arch Linux カーネルパッケージのビルトインカーネルモジュールですが、非公式のカーネルパッケージではロード可能なカーネルモジュールとして存在しているかもしれません。後者の場合、起動時に明示的に [[カーネルモジュール#モジュールの自動ロード|モジュールを自動ロード]] する必要があります。 |
||
| − | [[#使用方法]]に書かれているように実行してください。 |
||
| + | === Failed to load daemon: failed to load engine: No ESP with path === |
||
| − | {{Note|UEFI モードで UEFI エントリが認識されない場合、BIOS の設定を確認して UEFI カプセルアップデートをオンにするオプションがないかチェックしてください。}} |
||
| + | fwupd は起動時に {{ic|EspLocation}} という esp の場所を {{ic|/etc/fwupd/daemon.conf}} から確認しています。このエラーが発生した場合は、対応する設定に変更してください。 |
||
| − | {{Warning|ESP を {{ic|/boot/efi}} にマウントしていない場合 (例えば {{ic|/boot}} にマウントしている場合)、fwupd によってサポートされるまで待つ必要があります。}} |
||
2025年2月26日 (水) 18:52時点における最新版
fwupd は、セッションソフトウェアがローカルマシン上でデバイスのファームウェアを更新できるようにするシンプルなデーモンです。デスクトップ向けに設計されていますが、携帯電話やヘッドレスサーバーでも使用できます。
サポートされているデバイスは こちら にリストされており、さらに多くのデバイスが今後追加予定です
インストール
fwupdate を使用する場合は #UEFI BIOS のアップグレードを見てください。
グラフィカルフロントエンド
デスクトップ環境によっては fwupd が標準でサポートされています:
- GNOME Software — GNOME 環境上で動作します。バックグラウンドで定期的に更新を確認しダウンロードを行います。ファームウエアがダウンロードされると GNOME Software に更新の実行確認を行うポップアップが表示されます。
- KDE Discover — Plasma 上で動作します。KDE Plasma 5.14 以降では KDE Discover 上で fwupd バックエンドが実装されました。他のシステムのアップデートと同様にファームウエアの更新も表示されます。
- GNOME Firmware — fwupd がサポートするデバイスのファームウェアをアップグレード、ダウングレード、再インストールするためのアプリケーションです。ロックされた fwupd デバイスのロック解除、サポートされているデバイスのファームウェアの検証、fwupd デバイスの全リリースを表示することができます。
使用方法
このパッケージは、最初のクエリを受信したときに fwupd デーモンを自動的に起動する fwupd.service を提供します。 [1]
fwupd に検出されたデバイスを確認するには:
$ fwupdmgr get-devices
最新のメタデータを Linux Vendor Firmware Service (LVFS) からダウンロードするには:
$ fwupdmgr refresh
システムのアップデート一覧を確認するには:
$ fwupdmgr get-updates
アップデートをインストールするには:
$ fwupdmgr update
設定
ローカルキャッシュサーバー (passim) の無効化
fwupd は、2023年9月の バージョン 1.9.5 から、passim というローカルキャッシュサーバーへの依存関係を追加しました。 これは、LVFS の帯域使用量を削減するために設計されており、各マシンが毎日ダウンロードするメタデータファイルを他のマシンに提供できるようにするものです[2][3]
passimd はデーモンとして動作し、すべてのIPアドレス(0.0.0.0:27500)からの接続を待ち受けします(ポート 27500)
この点についてはセキュリティ上の懸念が指摘されており[4][5]、実際に数週間後にはいくつかの脆弱性が報告されました[6][7]
Arch Linux では、FS#79614 にて、この依存関係をコンパイル時にオプション化する要望が出されましたが、ライブラリ用の分割パッケージを作成する必要があるため却下されました。
そのため、passimd を無効にしたい場合は、開発者の推奨する方法に従ってください[8]
具体的には、/etc/fwupd/fwupd.conf に P2pPolicy=nothing を追加するか、passim.service をマスクしてください。
UEFI のアップグレードのセットアップ
アップグレードする前に以下を確認してください:
- マシンが UEFI モードで起動していることを確認してください。BIOS モードでは正しく動作しません。
- EFI 変数にアクセスできること を確認してください。
- EFI システムパーティション (ESP) が正しくマウントされていることを確認してください。この記事では ESP のマウントポイントを
espとして表記します。 - オプションの依存関係 udisks2 がインストールされていること、および関連する systemd ユニットが fwupd ユニットの前に起動されていることを確認してください。UEFI ファームウェアのアップグレードサポートが提供されます。
ESP の準備
fwupd は必要なファイルをすべて esp にコピーしますが、これが機能するには、基本的なフォルダーレイアウトが esp に存在する必要があります。;
これにより、esp 上に EFI ディレクトリが作成されます。
# mkdir esp/EFI/
その後、fwupd.service ユニットを 再起動 します。fwupdmgrfresh と fwupdmgr update ができるようになりました。再起動するように求められます (ファームウェアアップデーターを起動します)
セキュアブート
セキュアブートが有効な環境で fwupd EFI バイナリをチェーンロードするには shim が正しくインストールされていることが必要です。
自己署名証明書を使う
ファームウエア更新に使われる UEFI バイナリ /usr/lib/fwupd/efi/fwupdx64.efi を手動で署名する方法もあります。
sbsigntools を使うと署名されたバイナリ /usr/lib/fwupd/efi/fwupdx64.efi.signed が生成されます。
# sbsign --key <keyfile> --cert <certfile> /usr/lib/fwupd/efi/fwupdx64.efi
Pacman フックを使うと fwupdx64.efi の更新時に自動で署名できます:
/etc/pacman.d/hooks/sign-fwupd-secureboot.hook
[Trigger] Operation = Install Operation = Upgrade Type = Path Target = usr/lib/fwupd/efi/fwupdx64.efi [Action] When = PostTransaction Exec = /usr/bin/sbsign --key <keyfile> --cert <certfile> /usr/lib/fwupd/efi/fwupdx64.efi Depends = sbsigntools
<keyfile> や <certfile> は対応する鍵と証明書へのパスに置き換えます。
pacman hook を使わず、/usr/lib/fwupd/efi/fwupdx64.efi から /usr/lib/fwupd/efi/fwupdx64.efi.signed へシンボリックリンクを作成し /etc/sbupdate.conf の EXTRA_SIGN に追加する方法もあります。
最後に、/etc/fwupd/uefi.conf の DisableShimForSecureBoot を true に変更し fwupd.service サービスを再起動してください。
fwupd.service:
/etc/fwupd/fwupd.conf
... [uefi_capsule] DisableShimForSecureBoot=true
さらなる詳細は GitHub Issue を参照してください。
トラブルシューティング
再起動時にスタック
fwupdmgr update はエラーを報告しませんが、再起動を促すメッセージが表示されず、電源ボタンを押したままにしても応答がありません。 電源を切るか、リセットボタン (ラップトップの場合は背面の穴である可能性があります) を押して強制的に再起動してみてください。
エラーは出ないが再起動後も更新されない
現象: fwupdmgr update は正常に終了し (UEFI の更新などで) 再起動を求められた。しかし再起動してもファームウエア更新は行なわれなかった。
考えられる原因: 起動順序がBIOS で正しく設定されていない。
保留中の更新が複数ある場合に考えられる他の解決策: パッケージを 1つずつ更新してみてください。以下を使用してパッケージを選択します。:
$ fwupdmgr update update_ID
(update_ID は f95c9218acd12697af946874bfe4239587209232 のようなものです。)
読み取り専用ファイルシステムエラー
少なくとも、fwupdmgr 1.5.2 は、もし bind が esp を /boot [9] にマウントするために使用された場合、間違ったマウントポイントが推測されます。その結果、UEFI 更新ファイル /boot/EFI/arch/fw の書き込みに失敗します(fwupdmgr は esp/EFI/arch/fw に書き込みます)。これにより、(誤解を招く) "file system is read-only" というエラーメッセージが表示されます。Discover (またはその他の fwupd 対応アップデート GUI ) によって更新が実行された場合は、エラーや誤解を招くようなエラーは表示されない場合があります。
回避策としては、以前に esp/EFI/arch にバインドマウントされていた場合は最初に umount /boot を実行し、その後 fwupdmgr update を実行して UEFI 更新ファイルを esp/EFI/arch/fw に書き込み、mount /boot してシステムを再起動して UEFI 更新を実行します。
UEFI ESP パーティションが検出または設定されていない
fwupd#UEFI のアップグレードのセットアップ のすべての要件を満たした後でも ESP パーティションが検出されない場合、マウントポイントを手動で指定することができます。
/etc/fwupd/uefi_capsule.conf
[uefi_capsule] OverrideESPMountPoint=/efi # 設定に合わせて変更
関連記事 も参照
MSR プラグインを読み込めない
MSR プラグインは DCI の状態を問い合わせることができます。DCI は Intel CPU で利用可能なデバッグインターフェイスで、fwupd's documentation に従って本番マシンでは無効化されているはずです。
このプラグインは msr カーネルモジュールがロードされている必要があります。msr は全ての公式 Arch Linux カーネルパッケージのビルトインカーネルモジュールですが、非公式のカーネルパッケージではロード可能なカーネルモジュールとして存在しているかもしれません。後者の場合、起動時に明示的に モジュールを自動ロード する必要があります。
Failed to load daemon: failed to load engine: No ESP with path
fwupd は起動時に EspLocation という esp の場所を /etc/fwupd/daemon.conf から確認しています。このエラーが発生した場合は、対応する設定に変更してください。