Pop OS:systemd-bootはWindowsを検出できません。

Pop OS:systemd-bootはWindowsを検出できません。

私はデュアルブートでWindowsとLinuxをインストールする古典的な手順に従いました。まず、WindowsをUEFIモードでインストールし、起動可能なPopOSキーを使用してデフォルトのWindowsパーティションのサイズを変更しました。残りのスペースにLinuxパーティションと/boot/efi500MBのパーティションを作成しました。

私の問題は、systemd-bootWindowsブートローダが検出されないようです。

システム起動メニューを表示すると、可能な起動オプションとしてPopOSのみが一覧表示されます。ただし、問題なくBIOSメニューからWindowsを起動できます。

実行すると、bootctl次の結果が表示されます。

System:
     Firmware: UEFI 2.70 (American Megatrends 5.14)
  Secure Boot: disabled
   Setup Mode: setup

Current Boot Loader:
      Product: systemd-boot 245.4-4ubuntu3.1pop0~1590695674~20.04~eaac747
     Features: ✓ Boot counting
               ✓ Menu timeout control
               ✓ One-shot menu timeout control
               ✓ Default entry control
               ✓ One-shot entry control
               ✓ Support for XBOOTLDR partition
               ✓ Support for passing random seed to OS
               ✓ Boot loader sets ESP partition information
          ESP: /dev/disk/by-partuuid/585919b8-7f1b-4f94-a0b1-6ff195d07515
         File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI

Random Seed:
 Passed to OS: yes
 System Token: set
       Exists: yes

Available Boot Loaders on ESP:
          ESP: /boot/efi (/dev/disk/by-partuuid/585919b8-7f1b-4f94-a0b1-6ff195d07515)
         File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 245.4-4ubuntu3.1pop0~1590695>
         File: └─/EFI/BOOT/BOOTX64.EFI (systemd-boot 245.4-4ubuntu3.1pop0~1590695674~20.04~e>

Boot Loaders Listed in EFI Variables:
        Title: Linux Boot Manager
           ID: 0x0003
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/585919b8-7f1b-4f94-a0b1-6ff195d07515
         File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI

        Title: Windows Boot Manager
           ID: 0x0000
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/42f0d8f0-13e0-41cf-bc36-ac80dccc54fd
         File: └─/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI

        Title: UEFI OS
           ID: 0x0009
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/585919b8-7f1b-4f94-a0b1-6ff195d07515
         File: └─/EFI/BOOT/BOOTX64.EFI

Boot Loader Entries:
        $BOOT: /boot/efi (/dev/disk/by-partuuid/585919b8-7f1b-4f94-a0b1-6ff195d07515)

Default Boot Loader Entry:
        title: Pop!_OS
           id: Pop_OS-current.conf
       source: /boot/efi/loader/entries/Pop_OS-current.conf
        linux: /EFI/Pop_OS-3ce60b75-530a-4cad-9e80-5156a8e6bb56/vmlinuz.efi
       initrd: /EFI/Pop_OS-3ce60b75-530a-4cad-9e80-5156a8e6bb56/initrd.img
      options: root=UUID=3ce60b75-530a-4cad-9e80-5156a8e6bb56 ro quiet loglevel=0 systemd.sh>

Windows Boot Manager以下の項目を参照してくださいBoot Loaders Listed in EFI Variables。 systemd-bootはどういうわけか私のWindowsパーティションが存在することを知っていますが、起動可能であることを検出できないようです。

(走ってもbootctl install何も変わらないようです)

私の/boot/efi/ディレクトリは次のとおりです。

/boot/efi/EFI
├── BOOT
│   └── BOOTX64.EFI
├── Linux
├── Pop_OS-3ce60b75-530a-4cad-9e80-5156a8e6bb56
│   ├── cmdline
│   ├── initrd.img
│   └── vmlinuz.efi
└── systemd
    └── systemd-bootx64.efi
/boot/efi/loader/entries/
└── Pop_OS-current.conf

したがって、Windows ブートローダで入力する必要があるディレクトリは何らかの方法で入力されません。

この問題を診断し、Windowsをsystemd-bootの起動オプションとして追加するにはどうすればよいですか?

ベストアンサー1

この方法はマルチドライブシステムでのみテストされました。

Windows EFIパーティションの検索

lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT

パスの作成とWindows EFIパーティションのマウント

sudo mkdir /mnt/win-efi
sudo mount /dev/sdb1 /mnt/win-efi

Windows EFIの内容をPOP EFIにコピーします。

sudo cp -r /mnt/win-efi/EFI/Microsoft /boot/efi/EFI

ブートローダにタイマーを追加

sudo micro /boot/efi/loader/loader.conf

loader.confに新しい行timeout 5または秒数を追加します。

再起動

sudo reboot

おすすめ記事