我遵循了在双引导下安装Windows和Linux的经典过程。首先,我以UEFI模式安装了Windows,然后使用一个可引导的PopOS键来调整主Windows分区的大小;我在剩余的空间中创建了一个/boot/efi分区和一个500 as的D0分区。
My问题是, systemd-boot 似乎无法检测到Windows。
当我显示systemd菜单时,它只列出了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下面。系统引导似乎意识到我的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引导程序填充的目录却没有。
<#>How我能诊断这个问题吗,并将Windows作为启动选项添加到系统引导中?
发布于 2020-10-03 14:28:57
经过进一步的研究,我发现这个红边线来自一个有相同问题的人。这个线程和其他线程中的多个海报建议安装rEFInd。
<#>rEFInd安装起来很简单,并立即检测到我的Windows分区。
我遵循了这些Youtube教程,我推荐:
发布于 2021-01-11 07:21:19
尝试这种方法只在一个多驱动系统上进行测试。
查找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并将新行timeout 5或任意秒数添加到loader.conf
重新启动
sudo reboot发布于 2020-09-27 15:48:29
不会有效果的
安装程序在安装操作系统时需要用正确的参数调用bootctl install,安装后不能再更改它了
pop配置不当,因此在安装时它不会用分区路径填充引导程序,而systemdboot无法检测到windows分区
您应该忘记系统引导,而使用grub。
https://unix.stackexchange.com/questions/610779
复制相似问题