kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 17.10 その160 - BIOS/UEFIが機能しなくなる問題、修復方法が見つかる

BIOS/UEFIが機能しなくなる問題、修復方法が見つかる

先日一部のPCで「Ubuntu 17.10」をインストールすると、BIOS/UEFIが機能しなくなる問題を紹介しました。


  • BIOS/UEFIが機能しなくなる問題、Insyde Software製のBIOS/UEFI採用モデルで要注意
  • 一部のPCでUbuntu 17.10をインストールすると、BIOS/UEFIが機能しなくなる問題
  • Ubuntu 17.10 corrupting BIOS - many LENOVO laptops models

影響を受けたPC(問題が起きているPC)で、BIOS/UEFIを修復する方法が見つかりました。

  • Unable to make changes in BIOS after 17.10 installation
  • Comment - #308

ポイントは「Linux Kernel 4.14.9」をインストールし、PCを再起動することです。
これでロックされたBIOS/UEFIが再び機能するようになり、ロックが解除され設定の変更やライブUSBメモリーから「Ubuntu」の起動等が可能になります。

修復方法

修復方法です。

1.Ubuntuの起動

HDD/SSDなど「Ubuntu」をインストールしたストレージから「Ubuntu」を起動します。

2.ukuuのインストール

「端末」から以下のコマンドを1行ずつ実行し、「Mainline Kernel」のインストールを支援する「ukuu」をインストールします。

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu


3.Linux Kernel 4.14.9のインストール

「ukuu」を起動し、「kernel 4.14.9」を選択して「Install」ボタンをクリックします。


これで「Linux Kernel 4.14.9」がインストールされます。
「Status」が「Installed」になっていることを確認してください。


インストールが完了したらPCを再起動します。

4.Linux Kernel 4.14.9でUbuntuを起動

「GRUB」のブートメニューを表示し、「Advanced options for ubuntu」を選択して「エンター」キーを押します。
以下のように「Linux Kernel」を選択する画面が表示されるので、「Linux 4.14.9-****-generic」を選択し、「エンター」キーを押します。


5.PCの再起動

「Ubuntu」が起動したらPCを再起動し、「BIOS/UEFI」の画面を表示します。
「BIOS/UEFI」の画面の表示方法は、PCの説明書を参照してください。
「BIOS/UEFI」の画面を表示したら、設定を変更し設定が保存されるか確認します。
 またライブUSBメモリーから「Ubuntu 16.04」が起動できるか確認します。

なぜLinux Kernel 4.14でこの問題が解消されるのか

「Comment - #330」によると、以下の「Linux Kernel」の不具合の修正が、この問題の解消に繋がっているのではないかとのことです。


  • spi-nor: intel-spi: Fix broken software sequencing codes

現在の理論において「drivers/mtd/spi-nor/spi-nor.c」で「SPI_NOR_HAS_LOCK」を設定するシリアルフラッシュでは、Linux SPI-NORコアはチップの「JEDEC ID」の読み込みに加え、ステータスレジスター(SR)をクリアする必要がある。
これは保護ビット(BP0/BP1/BP2)がクリアされていることを確認するために行われる。

この時処理の流れは、以下のようになる。

  1. WREN (write enable)
  2. WRSR with 0 (write status register)

しかし「intel-spi」ドライバーにoff-by-oneバグ(1つずれるの意)があり、この不具合により1バイト書き込むところを2バイト書き込んでいる。
つまり上記の処理の流れが、実際には以下のようになっている。

  1. WREN (write enable)
  2. WRSR with 0, X (write status register)

「2.」の「X」の値は、FDATA[1] FIFOにある値である。
多くの状況でこの値は、読み込んだ「JEDEC ID」の値の一部である。

さて、ステータスレジスターとコントロールレジスターの値を読み込むコマンドは、それぞれ異なるコマンドであるにも関わらず、「WRSR」はステータスレジスターとコントロールレジスター(CR)の双方に値を書き込めるという点で奇妙に思う。

もし「X」の値がビット6がセットされた値だった場合、結果的にドライバーはコントロールレジスターに0x40を書き込むことになる。
つまり上記の「2.」の処理では、以下の値を書き込む。

SR=0x00 CR=0x40

ステータスレジスターの保護ビット(BP0/BP1/BP2)が「0」にセットされ、コントロールレジスターの「CMP」が「1」にセットされるため、チップ全体が読み込み専用になる。
(CMPはBP0/BP1/BPを補完する役割を持つ)
そのためBIOS/UEFIから設定の保存や変更ができなくなる。

このoff-by-oneバグは2017年9月にすでに修正された不具合である。

Ubuntu 17.10の配布停止

この不具合のため、現在「Ubuntu 17.10」(Ubuntu 17.10 日本語 Remix含む)は配布停止になっています。
不具合修正後、再度「Ubuntu 17.10」が提供される予定です。

この問題は致命的な問題であり、この問題に影響を受け修理に約€100(約1.4万円)かかったと報告しているユーザーもいます。
「Ubuntu」の評判に大きく影響する問題であるため、配布停止もやむなしでしょう。

他のLinuxディストリビューションも注意

この問題は「Ubuntu」に限定された問題ではなく、「Antergos」で発生したとの報告もあります。
そのため他のLinuxディストリビューションでも注意が必要です。

Ubuntu 17.10
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その74 - Chromium 系ブラウザーにより、Qt6 で構築されたアプリがクラッシュする現象
    Qt6 で構築されたアプリがクラッシュする現象 Chromium 系ブラウザーにより、Qt6 で構築されたアプリがクラッシュする現象が報告されています。
  • Ubuntu 24.04 その104 - Ubuntu 26.04 LTS へアップグレードするには・アップグレードの注意事項
    Ubuntu 26.04 LTS へアップグレードするには 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Ubuntu 26.04 LTS へアップグレードできます。
  • Ubuntu 24.04 その103 - Ubuntu 26.04 LTS へアップグレード可能に・2年分の変化が一気にやってくる
    Ubuntu 26.04 LTS へアップグレード可能に 2026年9月29日、Ubuntu 24.04 LTS から Ubuntu 26.04 LTS へアップグレード可能になりました。
  • Ubuntu 26.10 その35 - RISC-V 向け Ubuntu Desktop 登場
    RISC-V 向け Ubuntu Desktop 登場 Ubuntu Desktop 26.10 では、RISC-V 向けデスクトップイメージがリリースされます。
  • Ubuntu 26.10 その33 - Ubuntu 26.10 β版がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 β版がリリースされました 2026年10月1日、Ubuntu 26.10 β版 がリリースされました。
  • Ubuntu 26.10 その34 - Ubuntu と Rust に対する取り組み(2026年10月)
    Ubuntu と Rust に対する取り組み 2026年10月1日、Ubuntu と Rust に対する取り組みが以下で紹介されました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Linux その440 - uutils coreutils 0.11.0 でコマンド実行時のエラーメッセージを大幅に改良
    コマンド実行時のエラーメッセージを大幅に改良 uutils coreutils 0.11.0 で、コマンド実行時のエラーメッセージが大幅に改良されました。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その32 - Snapdragon X2 に対応した Ubuntu 26.10 実験版登場
    Snapdragon X2 に対応した Ubuntu 26.10 実験版登場 2026年9月29日、Snapdragon X2 に対応した Ubuntu 26.10 実験版が登場しました。
記事のピックアップ
オプション