UEFI上のLinux-Windows 8のようにUEFIセットアップ画面に再起動する方法は?


33

makeuseof.comは、Windows 8認定のハードウェアにはUEFIセットアップ画面(BIOSと同等)に入る新しい方法があると説明しています。Windows 8コンピューターでBIOSにアクセスする方法から:

ブートプロセス中に特定のキーを押してBIOSを表示することはもうありません。代わりに、BIOSにアクセスするオプションがWindows 8のブートオプションメニューにあります。トラブルシューティングタイル。

Secure Boot for Linuxの主な開発者は、代替OSでは古い方法が引き続き機能すると想定できないと述べています。LinuxにはUEFIセットアップに入る新しい方法もありますか?

ASUSマザーボードを使用しています。ファームウェアのアップグレードバージョンに高速ブートオプションが含まれていることを示しています。逆に、このオプションにより、「BIOSを明らかにする」のがさらに難しくなる可能性があります。

いじくり回しても構いません。これが悪い考えであると知られている場合でも、私はファームウェアアップグレードのリスクを何も受けずに行きたくありません(そしてケースをポップし、設定をリセットし、すべてを再度セットアップする必要があるかもしれません)。


または、Windows 7ユーザーの場合、これはどのように処理されますか?ファストブートオプションを楽観的に選択した場合、必要なときに「BIOS」セットアップに再度アクセスする方法を教えてください。


畜生。今、私は私の新しいアップグレードについては、GIGABYTEの上にAsusのを選択していないことを望む
kluka

Windows 7で動作するすべての設定を使用します。これがデフォルトになりますが、問題ありません:)。UEFIでそれを行うための標準的な方法が必要です。私はそれがどこにも呼び出されていないことを発見しました。高速ブートオプションのない元のファームウェアでさえ、非常にきびきびしているので、後悔しません。UEFI固有の機能を検討しています。まだEFIを正しく実現するためにGigabyteに依存するつもりはありません。私、1)USB3ポートと2)USBキーボードの問題取り組んでいますが、これらを組み合わせると、原則として少しがっかりします。OTOHメモリテストLEDは、1週間後に新しいRAMが故障したときに役立ちました。
sourcejedi

1
UEFIの問題点の一つは、2000ページの仕様書にもかかわらず、そこだ、ということであるNOのユーザーインターフェースの問題の標準化。ファームウェア開発者は、ユーザーが望ましいと思う方法でセットアップユーティリティに自由にアクセスできます。
ロッドスミス

この記事によると、Windows 8は最終的にユーザーに標準的な方法で通常のセットアップユーティリティにアクセスできるようになります。そのため、Windows認証では、これをサポートする方法を指定する必要があります。文書化されていないMS拡張機能ではなく、UEFIの一部であることを願っています。これは「セキュアブート」に関する質問ではないことに注意してください。この質問は、すでにLinuxをインストールして起動したことを前提としています。
sourcejedi

私はASRock Z77 Pro3マザーボードでWindows 8を個人的に実行していますが、最近UEFIセットアップでこの「超高速ブート」オプションを実装しています。ASRockからトレイバーにあるユーティリティが提供されています。このユーティリティを押すと、UEFIセットアップにアクセスできます。CMOSクリアは高速ブートオプションをリセットするため、いつでも試してみることができます。私のvBIOSはGOPをサポートしていないため、この設定を許可していません。そのため、試してみる機会がありませんでした。私は、Linux、Windowsのみ8の同様のソフトウェアで提供されていません
スティーンSchütt

回答:


39

systemdを使用した最新のLinuxディストリビューションでは、次を使用してファームウェアセットアップメニューに直接移動できます。

systemctl reboot --firmware-setup

ドキュメント:https : //www.freedesktop.org/software/systemd/man/systemctl.html#--firmware-setup


1
ああ、そのドキュメントは少し簡潔です。良さそう-特定のブートマネージャーに固有ではありません。残念なことに、スタンドアロンのツールはありませんが、systemdには何も反対しません。 github.com/systemd/systemd/blob/...
sourcejedi

1
このUnix.SEの回答も参照してください。を使用する際efivarは非常に注意してください8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications。おそらく、空のデータをefivarプログラムに渡すことで、どうにかして変数を削除できました。今、私はこのファイルを再作成する方法を見つけなければなりsystemctl reboot --firmware-setupません、それなしではプログラムはもう機能しません。
-Lekensteyn

ご不便をおかけして申し訳ありません。同じコードは、変数が削除されてもsystemdが気にしないことを示唆していますが、変数を0に設定する印象は得られました(このコメントgithub.com/systemd/systemd/blob/…から)。
sourcejedi

1
これは変数を再作成するようですが、再起動後に何らかの形で失わprintf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8cます:(firmware.intel.com/blog/accessing-uefi-variables-linuxおよび以前にダンプした内容に基づいて)。削除rm ...するchattr -i ...前に必要があることに注意してください(安全対策についてrm -rf /)。
-Lekensteyn

1
@sourcejedi Arch Linuxにはsystemd 230が付属しています。ついに変数を取り戻すことができました。何らかの理由でefivarsを介して変数を作成すると、OsIndications-89efde67-ffcd-12de-ab01-01efff012389GUIDが異なります。UEFIシェルを起動したら、コマンドを呼び出してsetvar OsIndications -nv -bs -rt =0000000000000000、64ビット数(0)を表す16進数シーケンスへのブートサービスおよびランタイムアクセスのために、不揮発性ストレージのOsIndications変数を設定しました。
-Lekensteyn

4

Windows 8がこれをどの程度正確に行うかはわかりませんが、ブートオプションに使用されるUEFI変数を利用していると推測できます。

efibootmgrを使用して、さまざまなブート変数の意味を判断できます。私のシステムでは、Boot0000がセットアップであるため、使用efibootmgr -n 0するとシステムが次回の起動時にセットアップで起動するはずです。


ありがとう。現在、現在のBIOSでUEFIブートを試しました。Boot0000は、通常のブートエントリの1つによって占有されているようです。(リリースノートを読み間違えたことにも気付きました。新しいバージョンがより高速になると期待する理由はありません。まあ:)。
sourcejedi

@sourcejediその高速なブートオプションがあります実際にブート速い1または2秒ファームウェア、超高速ブートは再び別の1〜2秒で剃ることがありますunix.stackexchange.com/questions/149761/...
プロのバックアップ

3

Ubuntu 12.04でEFIブートを試したところ、自分の質問に対する答えが見つかりました。

(ファームウェアをアップグレードしていません。元々リリースノートを読み間違えました-おそらくそれ以上速くはないでしょう)。

grub-efiブートメニューからファームウェアセットアップに入る

efibootmgrファームウェアセットアップの再起動をサポートしていないようです。しかし、grub-efiはそうです。GRUBブートメニューでファームウェアセットアップのエントリを作成できます。

GRUBブートメニューに入るには、シフトキーを「ブートプロセスの初期」に押します。キーボードのNumLockライトがオンになった直後に押し下げたところ、うまくいきました。

好奇心が強い場合は、コマンドも調べました。「fwsetup」です。つまり、GRUBメニューに入り、画面の指示に従ってコマンドラインに切り替え、「fwsetup」と入力してReturnキーを押すことができます。

EFIインストールをゼロから行う場合、メニュー項目は自動的に作成されると思います。EFIとしてインストールしなかったため、キックする必要がありました(以下のステップ4を参照)。

EFIブートCDを作成せずにBIOS-GPTブートからUEFI-GPTブートに変換しますか?

編集:このセクションは一部のシステムで動作する場合があります。ただし、UEFI規格の一部ではない追加の動作に依存していると考えています。 いつか、ここで何が起こっているのかを理解しよう。

EFI対応のブートCDなしで、既存のインストールをEFIに変換していました。これは不可能だと思う人もいます。確かに、紛らわしい警告メッセージがいくつかあります。私は何が起こっているのか見ました。 現在、ファームウェアのセットアップを入力できる場合、それはそれほど悪いことではありません。

難しい部分は、おそらくまだMBRパーティションテーブルを使用していることであり、ほぼ確実にGPTに変換する必要があります。MBRからGPTへの変換については説明しません。パーティション分割は常に少し危険です。 gdisk変換できますが、かなり厄介なビットがあります。ここにすべてを掲載していません。ただし、1つには、おそらくディスクの終わりGPT用のスペースを確保するために、最後のパーティションを縮小する必要があります。パーティションがマウントされている場合は実行できないため、ブートCDを使用することをお勧めします。(また、別のタイプのブートパーティションを作成する必要があるUEFI-GPTを試す前に、BIOS-GPTからブートできることを確認して、変換をステージングしました。)

GPTがセットアップされていると仮定します:

  1. grub-efiをインストールします。これによりgrub-pcが削除され、機能しなくなりました。(grub-efiは、削除した後でも実際に機能していました!)。Fedoraは少し異なります。これはUbuntuでのみ試しました。インストール中に、EFI変数にアクセスできないというエラーが表示されます。これは、EFIで起動しなかったためです。
  2. シャットダウン。
  3. 電源オン。必ずEFIから起動してください!これは、システムに依存する心配な部分です。私のシステムはたまたまデフォルトでMBRブートに設定されていたため、GRUBから恐ろしいエラーが表示されましたが、それは古いgrub-pcからのものでした。私のシステムでは、この時点でファームウェア設定画面に入り(下記参照)、ブート優先順位を「ubuntu」(EFI経由でOSをブートするためのエントリ)に変更するのは簡単でした。
  4. これで、grubインストール(grub-install、またはgrub2-installFedora上)をやり直すことができ、エラーは表示されなくなります。そして、実行update-grub(またはgrub2-mkconfig -o /boot/grub/grub.cfgFedoraで)すると、ファームウェアセットアップに入るためのメニュー項目が作成されます。

ASUSシステムでファームウェアのセットアップ/ブートメニューに入る

免責事項:これは最新のファームウェア/ボードではありません。ASUSシステムは、私とは異なる動作をする場合があります。

現在のASUSファームウェアは、「ブート構成」が変更されたとき、たとえばgrub-efiをインストールしたときに通知します。最初の「EZセットアップ」画面を見ると、変更されたというテキストがあります。また、このような変更を検出すると、セットアップ画面に入るのが簡単になります。実行されるのは、「DELを押してセットアップに入る」というスプラッシュ画面を数秒間表示することです。(「高速ブート」オプションを有効にした場合、通常はスプラッシュ画面をスキップします)。

再起動する前に、システムの電源をオフにして1分ほどプラグを抜くことで、スプラッシュスクリーンをトリガーすることも可能だと思います。

現在のファームウェアでは、スプラッシュスクリーンがなくても、起動中にDELキーを押すことでファームウェアのセットアップを開始できます。 ただし、これはファームウェアでキーボードサポートを有効にすることを条件としています。

起動中にキーボードをプローブしないようにファームウェアを切り替えることができますが、これにより速度が向上するはずです。これは次の実験の試みだと思いますが、今ではこのEFIについて自信を持っています!(GRUBブートメニューのキーボードサポートも強制終了する可能性があります。しかし、GRUBがfwsetupエントリをブートし、その方法で回復できるように、grub-set-defaultを引き続き使用できるはずです)。


0

@Lekensteynの答えに基づいて、UIショートカットを作成しました(環境にそれらのいずれかがまだある場合は、[管理]メニューで)。キーボードがPOST後まで機能しない場合に便利です。

/usr/share/applications/uefi-reboot.desktop

[Desktop Entry]
Name=UEFI Firmware Setup (Reboot)
Comment=Access the motherboard configuration utility
Exec=systemctl reboot --firmware-setup
Icon=system-restart
Terminal=false
Type=Application
Categories=System;Settings;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.