web-dev-qa-db-ja.com

Ubuntu15.04のセキュアブートの問題

Ubuntu15.04とWindows10のデュアルブートを備えたシステムがあります。セキュアブートをオンにすると、すべてが正常に機能しました。しかし、今では突然動作を停止し、Ubuntuはセキュアブートをオンにして(shimx64を介して)起動できず、そのオプションを選択するとウィンドウにリダイレクトされます。ただし、セキュアブートをオフにして、grubx64ブートオプションからブートすることはできます。 shimx64に問題があるようですが、よくわかりません。

Sudo efibootmgr -vを実行したときの出力は次のとおりです。

BootCurrent: 000D
Timeout: 0 seconds
BootOrder: 0002,0003,000C,000D,0000,0001
Boot0000* P0: ST1000DM003-1ER162            BIOS(11,0,00)
Boot0001* P4: PLDS DVD+/-RW DH-16AES        BIOS(13,0,00)
Boot0002* ubuntu    HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\ubuntu\shimx64.efi)
Boot0003* Windows Boot Manager  HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...1...............
Boot000C* UEFI OS   HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\BOOT\BOOTX64.EFI)
Boot000D* ubuntu    HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\Ubuntu\grubx64.efi)

1つは\EFI\Ubuntu\grubx64.efiで、もう1つは\EFI\ubuntu\shimx64.efiであるため、grubx64.efiには大文字の「Ubuntu」、shimx64.efiには小文字の「ubuntu」があります。これが問題を引き起こしているのかどうかはわかりません。だからここに私がしたことです:

$ cd /boot/efi/EFI/
$ ls
Boot  Microsoft  ubuntu
$ cd ubuntu
$ ls
grub.cfg  grubx64.efi  MokManager.efi  shimx64.efi

そのため、「ubuntu」ディレクトリは1つだけで、「Ubuntu」ディレクトリはありませんでした。 「ubuntu」ディレクトリには、shimx64.efigrubx64.efi、および起動に必要なその他すべてが含まれているように見えます。

最後にSudo boot-repairを実行し、「Create Boot Info Summary」を選択しました。リンクは次のとおりです: http://paste.ubuntu.com/12300679//EFI/ubuntu/shimx64.efiがsda1の「ブートファイル」の下にリストされていないことに気づきました。何が原因で動作が停止したのかわかりませんが、アップデートが原因である可能性があります。どんな助けでもありがたいです。

1
Seif Ibrahim

私の勘は、Shimのコピーの署名に問題が発生しているということです。これは、以前に一部のEFIで発生した問題です。彼らは時々気難しいし、他のコンピュータでうまくいく署名されたバイナリを好まない。具体的には、ASUS P8H77-Iマザーボードでこの問題が発生しましたが、他のブランドやモデルでも同じ問題が発生する可能性があります。

私が正しければ、基本的に2つの選択肢があります。

  • セキュアブートを無効にします。
  • 別の(おそらく古い)Shimプログラムを見つけて使用します。

最初のオプションはかなり自明であり、あなたは明らかにそれをすでに発見しています。 2つ目は、Microsoftの署名が付いたShimバイナリが少なくとも12個存在する可能性があります。私にトラブルを与えたことはないが、それは古いものです マシューギャレットの署名されたシム0.2 。これを使用するには、shimx64.efiMokManager.efiおよび/boot/efi/EFI/ubuntuバイナリを見つけたアーカイブのバイナリで上書きする必要があります。再起動すると、おそらく醜いテキストモードファイルセレクター(MokManager)が表示され、Apple IIのユーザーインターフェイスは洗練されたように見えます。これを使用して正規の証明書ファイルを選択します。これファイルはいくつかのUbuntuパッケージなどで入手できますが、どれを思い出せません。便宜上、私は自分のrEFIndプログラム用にいくつかをまとめました。個々のファイルについては ここ を参照してください。 canonical-uefi-ca.derファイルであり、MokManagerが読み取れるようにESP(Ubuntuでは/boot/efiの下)に保存する必要があります。Canonical署名ファイルを入力すると、 MokManagerを終了すると、システムがハング、再起動、Windowsで起動、またはGRUBで起動する場合があります。ただし、次に起動すると、すべてが正常に機能するはずです。

MokManagerを使用する必要がないため、古いUbuntuShimパッケージを使用する方が少し簡単になる可能性があります。今説明したように、適切なパッケージを追跡してインストールし、場合によってはgrubx64.efiファイルとMokManager.efiファイルをコピーする必要があります。ただし、これらのファイルのコピーは必ず安全な場所に保管してください。私の仮説が正しければ、パッケージマネージャーはShimをアップグレードし、ファイルを壊れたバージョンに置き換えようとする可能性があります。

あなたが観察したケースの違いが重要である可能性は低いです。 ESP(Ubuntuでは/boot/efiにマウント)はFATを使用します。これは、大文字と小文字を区別しますが、大文字と小文字を区別しないファイルシステムです。つまり、ubuntuUbuntuはFATと同じです。OTOH、おそらくお使いのファームウェアには、セキュアブート設定と相互作用する大文字と小文字を区別するバグがあります。これは少し遠いようですが、奇妙なことが起こっています。

1
Rod Smith