システムブートローダが表示されない(デュアルブートWindows10 / Pop!_OS)

システムブートローダが表示されない(デュアルブートWindows10 / Pop!_OS)

最近、デュアルブート(Ubuntu / Win10)を(Pop!_OS 20.04 / Win10)に置き換えました。コンピュータを起動すると、起動メニューは表示されず、Windowsから直接起動します。これが私が今まで試したことです:

  • 説明したようにsystemd-bootloaderを修正しました。ここしかし、これは私の問題を解決しませんでした。

  • Grubメニューに移動するために、Ubuntu Livestick(GRUBがインストールされている)を接続しました。そこからいいえUbuntuを起動しますが、GRUBコマンドラインに移動し、次のようにブートローダをsystemdに設定します。

    • chainloader (hd2,1)/efi/systemd/systemd-bootx64.efi

    • boot

    これにより、Pop!_OSで起動できます(ただし、メニューも表示されないため、そこからWindowsから起動できません)。また、systemd ブートローダが通常正常に動作していることも示しています。

  • その後、問題がWindowsにある可能性があると考えてWindowsで起動し、bcdedit.Ubuntuのインストールと同様の問題があり、grub efiファイルのパスを定義して問題を解決できました bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi。これには実際に問題があることがわかりました。

    • まず「という結論が出てきます。存在しないデバイスが指定されました。」。
    • {bootmgr}第二に、現在のデバイスは「partition = C:」として定義されているようです。しかし、私が探しているEFIファイルは、C:パーティションではなくDisk1Partition1にあります。問題は、このパーティションが何であるかわからないということです。つまり、起動中にそれを識別するには、bcdeditエントリでそれをどのように定義する必要がありますか?これが出力ですbcdedit
C:\WINDOWS\system32>bcdedit
Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\systemd\systemd-bootx64.efi                                                                                                    
description             Windows Boot Manager
locale                  en-GB
inherit                 {globalsettings}
default                 {current}
resumeobject            {c9199aab-b651-11ea-8b88-3ce1a1c4ba83}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30
Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  en-GB
inherit                 {bootloadersettings}
recoverysequence        {c9199aae-b651-11ea-8b88-3ce1a1c4ba83}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {c9199aab-b651-11ea-8b88-3ce1a1c4ba83}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto
A device which does not exist was specified.

これは私の構成を示すWindowsディスク管理ウィンドウです。 systemd-efi ファイルは Disk1 Partition1 にあります。

ディスク管理ウィンドウ

また、マイコンピュータに関する情報もあります。

情報コンピュータ

この問題を解決する方法を知っている人はいますか?

よろしくお願いします:)

ベストアンサー1

私はコメントの助けを借りてこの問題を解決しました。みんなありがとうございます!完全性を期すために、この問題を解決するためにとられたすべての手順をすばやく説明しました。

Quickfix - 実際の問題を解決せずにクイックスタートが必要な場合

  • 通常のブートローダーでライブスティックを接続します(私はGRUBでUbuntu 20.04を使用しています)。

  • LivestickでGRUBが起動したら、次のキーを押してブートロードプロセスを停止します。またはEsc

  • それでは、使用したいブートローダーを定義してください(私はハードドライブ2のパーティション1のシステムブートローダーでした)。

    chainloader (hd2,1)/efi/systemd/systemd-bootx64.efi

    boot

これにより、定義されたブートローダを使用して起動できます。

問題を解く

  • 私は最初にsystemdブートローダを次のように修正しました。これマップ時間。 (Linuxシステムを起動するには、上記のクイックフィックスを使用する必要があるかもしれません)

  • それでも問題が解決しなかったので、Windowsから起動して(管理者として)コマンドプロンプトを実行しました。

  • 次のようにEFIパーティションをマウントしました。このガイド(私はV:にインストールしました。)

  • 次に、EFIファイルを{bootmgr}パスとして追加し、マウントされたEFIパーティションをbcdedit {bootmgr}エントリのデバイスとして追加しました。

    bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi

    bcdedit /set {bootmgr} device partition=V:

  • その後、再起動し(Windowsから直接起動します)、{bootmgr}のbcdeditデバイスエントリが次から変更されたことを確認しました。パーティション=V:到着パーティション=\Device\HarddiskVolume2

  • 再起動しましたが、うまくいきました。それでは、端末を次のように設定することもできます。パーティション=\Device\HarddiskVolume2...しかし、これは私にとって効果的です。

おすすめ記事