I’ve been running Fedora42 for a while now. I recently decided to install Windows 11 to a separate drive, and would like to conveniently boot it through GRUB2 installed on my existing Linux drive.
Beforehand, I re-enabled UEFI and Secure Boot in my PC’s UEFI menu, created an EFI partition and installed grub2-efi
. Fedora 42 itself works well and (see update below) now boots as expected in UEFI through grub2-efi
. I followed the actions described in this blog post. I also applied a few mods to the Windows install media suggested by Rufus, including a bypass for some of Windows 11’s requirements. Despite that I still enabled Secure Boot and UEFI as I want the certainty of getting future Windows updates because I want to use it securely for school in the near future.
Windows Boot Manager is not showing up in GRUB as a boot option.
Strangely, there is an entry for Windows Boot Manager in /boot/grub2/grub.cfg
after using grub2-mkconfig -o /boot/grub2/grub.cfg
or grub2-mkconfig -o /etc/grub2-efi.cfg
as superuser (I tried both), and it says it detected Windows Boot Manager when I did, but it still won’t show up in the boot menu despite that (copying the contents of the entry after ### BEGIN...
into /etc/grub.d/40_custom
didn’t work either):
...
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-9065-6A34' {
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 9065-6A34
else
search --no-floppy --fs-uuid --set=root 9065-6A34
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
...
I also tried booting into the BIOS version of GRUB2 (grub2-pc
), where Windows Boot Manager actually did show up. But when trying to select and boot it, it threw the following error:
error: ../../grub-core/loader/i386/pc/chainloader.c:213:invalid signature.
I also tried dnf remove grub2-pc
and then regenerating the config file as described above, but that didn’t work either.
Maybe it’s a complicated problem, maybe I just missed something. Either way, let me know if you need any other information. Any info I’m missing, directions or tips are appreciated. Thank you! <3
UPDATE: In my Fedora42 install, this is the output of journalctl -p 3 -xb
. Who would’ve guessed that switching to UEFI with Secure Boot enabled would cause a myriad of other problems, like Steam not launching anymore. This may provide additional info for the original question, so here you go.
May 17 22:41:16 pc-joani kernel: x86/cpu: SGX disabled or unsupported by BIOS.
May 17 22:41:16 pc-joani systemd-modules-load[297]: Failed to find module 'v4l2loopback'
May 17 20:41:21 pc-joani systemd-modules-load[600]: Failed to find module 'v4l2loopback'
May 17 20:41:21 pc-joani systemd-udevd[650]: /usr/lib/udev/rules.d/75-davincipanel.rules:2 Unknown group 'resolve', ignoring.
May 17 20:41:22 pc-joani kernel: nvidia-gpu 0000:01:00.3: i2c timeout error e0000000
May 17 20:41:22 pc-joani kernel: ucsi_ccg 0-0008: i2c_transfer failed -110
May 17 20:41:22 pc-joani kernel: ucsi_ccg 0-0008: ucsi_ccg_init failed - -110
May 17 20:41:22 pc-joani kernel: ucsi_ccg 0-0008: probe with driver ucsi_ccg failed with error -110
May 17 20:41:24 pc-joani systemd[1]: Failed to start vboxdrv.service - Linux kernel module init script.
░░ Subject: A start job for unit vboxdrv.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit vboxdrv.service has finished with a failure.
░░
░░ The job identifier is 337 and the job result is failed.
May 17 20:41:24 pc-joani /usr/bin/nvidia-powerd[958]: Allocate client failed 89
May 17 20:41:24 pc-joani /usr/bin/nvidia-powerd[958]: Failed to initialize RM Client
May 17 20:41:31 pc-joani kernel: ata2.00: exception Emask 0x10 SAct 0x7ff00 SErr 0x280100 action 0x6 frozen
May 17 20:41:31 pc-joani kernel: ata2.00: irq_stat 0x08000000, interface fatal error
May 17 20:41:31 pc-joani kernel: ata2: SError: { UnrecovData 10B8B BadCRC }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/70:40:90:e7:ec/05:00:0a:00:00/40 tag 8 ncq dma 712704 in
res 40/00:ff:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/50:48:c8:dc:66/00:00:07:00:00/40 tag 9 ncq dma 40960 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/28:50:68:df:66/01:00:07:00:00/40 tag 10 ncq dma 151552 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/78:58:90:cf:6a/01:00:07:00:00/40 tag 11 ncq dma 192512 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/60:60:c0:e1:70/01:00:07:00:00/40 tag 12 ncq dma 180224 in
res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/00:68:90:fe:ec/04:00:0a:00:00/40 tag 13 ncq dma 524288 in
res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/30:70:d0:38:66/00:00:07:00:00/40 tag 14 ncq dma 24576 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/b8:78:48:3b:66/02:00:07:00:00/40 tag 15 ncq dma 356352 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/b8:80:00:3e:66/00:00:07:00:00/40 tag 16 ncq dma 94208 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/68:88:90:e0:66/00:00:07:00:00/40 tag 17 ncq dma 53248 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:41:31 pc-joani kernel: ata2.00: cmd 60/18:90:78:9d:7f/01:00:07:00:00/40 tag 18 ncq dma 143360 in
res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:41:31 pc-joani kernel: ata2.00: status: { DRDY }
May 17 20:41:31 pc-joani kernel: I/O error, dev sdb, sector 183297936 op 0x0:(READ) flags 0x80700 phys_seg 11 prio class 2
May 17 20:41:31 pc-joani kernel: I/O error, dev sdb, sector 183303824 op 0x0:(READ) flags 0x80700 phys_seg 8 prio class 2
May 17 20:41:33 pc-joani dbus-broker-launch[1692]: Invalid D-Bus name 'hyprpolkitagent' in service file '/usr/share//dbus-1/services/hyprpolkitagent.service'
░░ Subject: Invalid service file
░░ Defined-By: dbus-broker
░░ Support: https://groups.google.com/forum/#!forum/bus1-devel
░░
░░ A service file is a ini-type configuration file.
░░
░░ It has one required section
░░ named [D-BUS Service]. The section contains the required key 'Name', which
░░ must be a valid D-Bus name that is unique across all service files. It also
░░ contains at least one of the two optional keys 'SystemdService' and 'Exec',
░░ as well as optionally the key 'User'. Exec must be a valid shell command and
░░ User must be a valid user on the system.
░░
░░ A service file should be named after the D-Bus name it configures. That is
░░ a file containing Name=org.foo.bar1 should be named org.foo.bar1.service.
░░ For backwards compatibility, we only warn when files do not follow this
░░ convention when run as a user bus. The system bus considers this an error
░░ and ignores the service file.
May 17 20:42:01 pc-joani kernel: ata2.00: exception Emask 0x10 SAct 0x1 SErr 0x280100 action 0x6 frozen
May 17 20:42:01 pc-joani kernel: ata2.00: irq_stat 0x08000000, interface fatal error
May 17 20:42:01 pc-joani kernel: ata2: SError: { UnrecovData 10B8B BadCRC }
May 17 20:42:01 pc-joani kernel: ata2.00: failed command: READ FPDMA QUEUED
May 17 20:42:01 pc-joani kernel: ata2.00: cmd 60/50:00:10:b1:25/06:00:01:00:00/40 tag 0 ncq dma 827392 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x10 (ATA bus error)
May 17 20:42:01 pc-joani kernel: ata2.00: status: { DRDY }
EDIT: Disabling Secure Boot solved all these issues in Fedora 42, so I may keep it disabled if there’s no other way of making it work. Would still prefer a way of making everything work while it’s enabled though, but that’s mostly off topic here.
What does sudo os-prober
report?
It should be able to find the Windows 11 install.
This looks like a failing disk or bad cabling issue.
What is the output of sudo smartctl -x /dev/<disk>
?
The counter may provide evidence of drive health.
sudo os-prober
seemingly finds the Windows 11 install just fine;
/dev/sda1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
As for the output of sudo smartctl -x /dev/sdb
, in case it may be relevant:
smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.14.6-300.fc42.x86_64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Crucial/Micron Client SSDs
Device Model: CT240BX500SSD1
Serial Number: 2011E3F08F8A
LU WWN Device Id: 0 000000 000000000
Firmware Version: M6CR013
User Capacity: 240,057,409,536 bytes [240 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
TRIM Command: Available, deterministic, zeroed
Device is: In smartctl database 7.5/5706
ATA Version is: ACS-2 T13/2015-D revision 3
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Tue May 20 15:45:55 2025 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is: Unavailable
APM level is: 254 (maximum performance)
Rd look-ahead is: Enabled
Write cache is: Enabled
DSN feature is: Unavailable
ATA Security is: Disabled, frozen [SEC2]
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 120) seconds.
Offline data collection
capabilities: (0x11) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0002) Does not save SMART data before
entering power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 10) minutes.
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-K 100 100 050 - 0
5 Reallocate_NAND_Blk_Cnt -O--CK 100 100 010 - 0
9 Power_On_Hours -O--CK 100 100 050 - 6805
12 Power_Cycle_Count -O--CK 100 100 050 - 3337
171 Program_Fail_Count -O--CK 100 100 050 - 0
172 Erase_Fail_Count -O--CK 100 100 050 - 0
173 Ave_Block-Erase_Count -O--CK 100 100 050 - 384
174 Unexpect_Power_Loss_Ct -O--CK 100 100 050 - 334
180 Unused_Reserve_NAND_Blk -O--CK 100 100 050 - 100
183 SATA_Interfac_Downshift -O--CK 100 100 050 - 0
184 Error_Correction_Count -O--CK 100 100 050 - 0
187 Reported_Uncorrect -O--CK 100 100 050 - 0
194 Temperature_Celsius -O---K 064 030 050 Past 36 (Min/Max 22/70)
196 Reallocated_Event_Count -O--CK 100 100 050 - 0
197 Current_Pending_ECC_Cnt -O--CK 100 100 050 - 0
198 Offline_Uncorrectable ----CK 100 100 050 - 0
199 UDMA_CRC_Error_Count -O--CK 100 100 050 - 0
202 Percent_Lifetime_Remain ----CK 075 075 001 - 75
206 Write_Error_Rate -OSR-K 100 100 050 - 0
210 Success_RAIN_Recov_Cnt -O--CK 100 100 050 - 0
246 Total_LBAs_Written -O--CK 100 100 050 - 111588456123
247 Host_Program_Page_Count -O--CK 100 100 050 - 3487139253
248 FTL_Program_Page_Count -O--CK 100 100 050 - 4444377504
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning
General Purpose Log Directory Version 1
SMART Log Directory Version 1 [multi-sector log support]
Address Access R/W Size Description
0x00 GPL,SL R/O 1 Log Directory
0x01 SL R/O 1 Summary SMART error log
0x02 SL R/O 1 Comprehensive SMART error log
0x03 GPL R/O 1 Ext. Comprehensive SMART error log
0x04 GPL,SL R/O 8 Device Statistics log
0x06 SL R/O 1 SMART self-test log
0x07 GPL R/O 1 Extended self-test log
0x10 GPL R/O 1 NCQ Command Error log
0x11 GPL R/O 1 SATA Phy Event Counters log
0x24 GPL R/O 88 Current Device Internal Status Data log
0x25 GPL R/O 32 Saved Device Internal Status Data log
0x30 GPL,SL R/O 9 IDENTIFY DEVICE data log
0x80-0x9f GPL,SL R/W 16 Host vendor specific log
SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
Invalid Error Log index = 0x0000 (reserved = 0x00)
Device Error Count: 12 (possibly also invalid)
SMART Extended Self-test Log Version: 1 (1 sectors)
No self-tests have been logged. [To run self-tests, use: smartctl -t]
Selective Self-tests/Logging not supported
SCT Commands not supported
Device Statistics (GP Log 0x04)
Page Offset Size Value Flags Description
0x01 ===== = = === == General Statistics (rev 1) ==
0x01 0x008 4 3337 --- Lifetime Power-On Resets
0x01 0x010 4 6805 --- Power-on Hours
0x01 0x018 6 4214273723 --- Logical Sectors Written
0x01 0x020 6 864836263 --- Number of Write Commands
0x01 0x028 6 174176722 --- Logical Sectors Read
0x01 0x030 6 1004445578 --- Number of Read Commands
0x07 ===== = = === == Solid State Device Statistics (rev 1) ==
0x07 0x008 1 64 --- Percentage Used Endurance Indicator
|||_ C monitored condition met
||__ D supports DSN
|___ N normalized value
Pending Defects log (GP Log 0x0c) not supported
SATA Phy Event Counters (GP Log 0x11)
ID Size Value Description
0x0001 4 0 Command failed due to ICRC error
0x0002 4 0 R_ERR response for data FIS
0x0005 4 0 R_ERR response for non-data FIS
0x000a 4 2 Device-to-host register FISes sent due to a COMRESET
I don’t see anything to worry about in the smart data.
It would be worth checking that cables to the SSD are making good connections. I would unplug the cables and then plug them back in that can clean up pins on the connectors.
Is grub installed on sda or sdb?
I wonder if the issue to do with where the boot code pieces are installed.
Checking the cabling actually made me discover a SATA cable connected at a concerning angle, so I changed the routing. I tried regenerating the GRUB2 config just in case and it unsurprisingly didn’t do anything by itself, though.
I also forgot to mention that Windows 11 boots just fine through boot override in the UEFI BIOS menu, it’s just not showing up in GRUB2.
sda
is my Windows drive, sdb
is my Linux drive. I installed GRUB2 to sdb
as far as I’m aware. Maybe it is possible it has something to do with things getting installed to the wrong places when I ran dnf install grub2-efi shim
? I’m not sure how to double check though…