나는 이중 부팅으로 Windows와 Linux를 설치하는 고전적인 절차를 따랐습니다. 먼저 Windows를 UEFI 모드로 설치한 다음 부팅 가능한 PopOS 키를 사용하여 기본 Windows 파티션의 크기를 조정했습니다. 남은 공간에 Linux 파티션과 /boot/efi
500MB 파티션을 만들었습니다.
내 문제는 systemd-boot
Windows 부트 로더가 감지되지 않는 것 같습니다.
시스템 부팅 메뉴를 표시하면 가능한 부팅 옵션으로 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
답변2
이건 작동하지 않을 거야
설치 프로그램은 운영 체제를 설치할 때 bootctl install
올바른 매개변수를 호출해야 하며, 설치 후에는 변경할 수 없습니다.
pop os가 잘못 구성되어 설치 시 bootctl에 대한 파티션 경로를 제공하지 않고 systemdboot가 Windows 파티션을 감지할 수 없습니다.
시스템 부팅을 잊어버리고 대신 grub을 사용해야 합니다.
답변3
rEFInd 설치
추가 조사 끝에 발견한 것은이 Reddit 주제같은 문제를 가진 사람에게서 왔습니다. 이 스레드와 다른 스레드의 여러 포스터에서는 대신 설치를 제안했습니다 rEFInd
.
rEFInd는 설치가 매우 쉬웠고 Windows 파티션을 즉시 감지했습니다.
저는 제가 추천하는 다음 Youtube 튜토리얼을 따랐습니다.
답변4
uefi 모드에서 사용할 수 있는지는 모르겠습니다. 2010년 노트북에 레거시 모드를 설치할 때도 같은 문제가 발생했습니다. os-prober를 설치해서 해결했습니다. 그런 다음 "sudo os-prober"를 입력하면 설치된 Windows 10이 반환됩니다.
그 후 "sudo update-grub"을 입력했습니다.
드디어 윈도우 10을 찾았습니다.
이것이 다른 사람에게 도움이 되기를 바랍니다.