web-dev-qa-db-ja.com

UEFI設定のオプションなしで起動順序を変更する

Windows 10がプリインストールされたLenovo MIIX 310-ICR 2-in-1を持っています。 Ubuntuをインストールしましたが、Ubuntuを起動するには、押したまま再起動する必要があります Shift Windows 10で起動リストを表示するか、オフになっているときに長押しします Power そして Volume + UEFIブートリストが表示されるまで、そこからUbuntuを選択します。

私が欲しいのは、Ubuntuパーティションから起動することですデフォルトではなので、grubから起動するOSを選択できます。 rEFIndのような別のブートマネージャーを使用してもかまわないか、まったく使用しません。これを整理したらWindowsをアンインストールしたいので。 Ubuntuを台無しにしてカーネルを切り替えたり、リカバリモードで簡単に起動したりする必要がある場合に備えて、grubを維持することをお勧めします。

起動順序を変更するためにUEFI設定に行ったが、そのためのオプションはないので、それを行う唯一の方法はUEFI設定を経由しないことだと思います。

BIOSバージョン:1HCN44WW

更新:

efibootmgrの出力:

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0002,0003,0001,2001,2002,2003
Boot0001* Windows Boot Manager
Boot0002* rEFInd Boot Manager
Boot0003* ubuntu
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network

Sudo ls /boot/efi/EFIの出力:

Boot  Insyde  Microsoft  refind  tools  ubuntu
5
Tooniis

最初の回答で説明した解決策は一般的なケースで有効ですが、InsydeH2O UEFIはブート順序を無視する可能性があります。多くのラップトップメーカーがInsydeファームウェアを使用しているため、多くのモデルがこの問題の影響を受けます。 ESYシステムパーティション(ESP、LinuxではEFI/Insydeとしてマウント)に/boot/efiディレクトリが存在することからもわかるように、Insyde UEFIも使用しています。

同様の問題に関する質問 がAskUbuntuで質問されました。そのOPは、このUEFIがESPでブート候補を探す方法を分析しました。順序は次のとおりです。

  1. EFI/Microsoft/Boot/fwbootmgr.efi
  2. EFI/*/grubx64.efi
  3. EFI/Boot/bootx64.efi

彼らは実験と最終的なセットアップについて 自己回答で について説明しているので、ここではその知識を繰り返さないことにします。

コメントで別のユーザーが指摘しているように、Windowsは、ブートファイルをいじった後、休止状態/ハイブリッドシャットダウンから適切に復元できない場合があることに注意してください。

Windowsでもdiskpartツールを使用してマウントすることで、ESPにアクセスできます。

  1. スタートメニューに名前を入力してdiskpartを起動します。
  2. パーティションを一覧表示し、ESPを見つけます:list partition Enter。 ESPは通常600 MB未満になります。).
  3. ESPを選択:select partition <x><x>は前のリストの番号です)
  4. パーティションをマウントします:assign letter=Z。新しいドライブZ:が表示されます。
6
gronostaj

Ubuntuでは、efibootmgrを使用してこれを実現できます。

  1. ターミナルを開きます。

  2. efibootmgrと入力します Enter。利用可能な起動オプションのリストが表示されます。各オプションには番号があります。番号は連続していない場合があります-心配しないでください、それは正常です。次に出力例を示します。

    BootCurrent: 0000
    Timeout: 2 seconds
    BootOrder: 0001,0000
    Boot0000* ubuntu
    Boot0001* Windows Boot Manager
    
  3. 使用したい起動順序を見つけます。上記の例では、0,1(Ubuntuは0、Windowsは1であるため)。ほとんどの場合、重要なのは最初の数だけです。最初のものが使用できない場合、2番目のものが使用されます。

  4. ブート順序の更新:Sudo efibootmgr --bootorder 0,1

6
gronostaj