You are not logged in.
Hey everyone,
I took the plunge last night. I backed up everything I needed and started over, installing Windows 10 first and Arch after. Both installations went well enough and I've got Arch to a place I'm happy with for the moment. The problem is that I can't get Windows to show up when booting with systemd-boot.
I have Arch on an SSD and Windows on an HDD. If I go into my BIOS I can change the boot order and boot into Windows, but when using the Arch bootloader I don't get a Windows option. Since bootctl update wasn't yielding any results I've tried adding a manual entry in /boot/loader/entries called win.conf that looks like this:
title Windows
loader /boot/EFI/windoze/EFI/Microsoft/Boot/bootmgfw.efi
options root=PARTUUID=E979C22B-D3A9-4537-A0E5-2A150DB3B3F9 rwhere's the output of fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BBD13601-1F79-450D-8550-A9A44B5E2546
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 500118158 499067535 238G Linux filesystem
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: E979C22B-D3A9-4537-A0E5-2A150DB3B3F9
Device Start End Sectors Size Type
/dev/sda1 2048 34815 32768 16M Microsoft reserved
/dev/sda2 34816 943515647 943480832 449.9G Microsoft basic data
/dev/sda3 943515648 943720447 204800 100M EFI Systemhere's what bootctl says
System:
Firmware: UEFI 2.40 (INSYDE Corp. 54320.513)
Secure Boot: disabled
Setup Mode: user
Current Loader:
Product: systemd-boot 239
ESP: /dev/disk/by-partuuid/d04840bc-096a-47b6-bbef-16ce0eb0991e
File: └─/EFI/systemd/systemd-bootx64.efi
Boot Loader Entries in EFI Variables:
Title: Linux Boot Manager
ID: 0x0005
Status: active, boot-order
Partition: /dev/disk/by-partuuid/d04840bc-096a-47b6-bbef-16ce0eb0991e
File: └─/EFI/systemd/systemd-bootx64.efi
Title: Windows Boot Manager
ID: 0x0009
Status: active, boot-order
Partition: /dev/disk/by-partuuid/ca401fcc-ad25-442f-ba14-a4c59159b64b
File: └─/EFI/Microsoft/Boot/bootmgfw.efiand finally tree /boot:
/boot
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── systemd
│ │ └── systemd-bootx64.efi
│ └── windoze
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── initramfs-linux-lts-fallback.img
├── initramfs-linux-lts.img
├── intel-ucode.img
├── loader
│ ├── entries
│ │ ├── arch.conf
│ │ ├── arch-lts.conf
│ │ └── win.conf
│ └── loader.conf
├── vmlinuz-linux
└── vmlinuz-linux-ltsI have some idea what I'm doing and I can follow directions but the boot process is still a bit of a mystery to me. Despite searching, reading the wiki, and trying a few different things I haven't had any luck getting a Windows entry to show up with systemd-boot. Any help is appreciated.
Last edited by lefty (2018-08-02 06:27:18)
Offline
It seems to me that your win entry is incorrect.
As you might see the bootctl result showing File: └─/EFI/Microsoft/Boot/bootmgfw.efi and you wrote
loader /boot/EFI/windoze/EFI/Microsoft/Boot/bootmgfw.efi
What's the result of
$ find /boot -name bootmgfw.efi
$ blkid |grep ESP # to estimate the path for the /boot to ESPdo it good first, it will be faster than do it twice the saint ![]()
Offline
It seems to me that your win entry is incorrect.
As you might see the bootctl result showing File: └─/EFI/Microsoft/Boot/bootmgfw.efi and you wrote
loader /boot/EFI/windoze/EFI/Microsoft/Boot/bootmgfw.efi
What's the result of$ find /boot -name bootmgfw.efi $ blkid |grep ESP # to estimate the path for the /boot to ESP
I mounted /dev/sda3 to /boot/EFI/windoze to see if that would solve the problem but it didn't work. I'll change it back.
Neither of those commands output anything. blkid outputs this (whitespace added by me for readability)
/dev/nvme0n1p1: UUID="748E-7348" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="d04840bc-096a-47b6-bbef-16ce0eb0991e"
/dev/nvme0n1p2: UUID="bacbb4f4-d363-4104-9b0f-d37e0f326eb3" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="16329610-4f75-43ee-b457-991c513d4407"
/dev/sda2: UUID="0EB4FDF6B4FDE05F" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="baf31529-0348-42c4-80c0-3803d96d99f2"
/dev/sda3: UUID="EEA3-8B1A" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="ca401fcc-ad25-442f-ba14-a4c59159b64b"Do I need to add the Windows ESP (/dev/sda3) to fstab? Currently /etc/fstab only has an entry for the Linux ESP at /dev/nvme0n1p2
Offline
Here's the output for efibootmgr:
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0005,0009,0000,2003,2001,2002
Boot0000* EFI Hard Drive (S27WNX0H985996 -SAMSUNG MZVLV256HCHP-000L2 -0)
Boot0003* EFI Network 0 for IPv4 (1C-39-47-ED-F0-CE)
Boot0004* EFI Network 0 for IPv6 (1C-39-47-ED-F0-CE)
Boot0005* Linux Boot Manager
Boot0006* EFI Network 0 for IPv4 (1C-39-47-ED-F0-CE)
Boot0007* EFI Network 0 for IPv6 (1C-39-47-ED-F0-CE)
Boot0008* EFI USB Device (UFD 2.0 Silicon-Power16G)
Boot0009* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI NetworkOffline