URL: <https://savannah.gnu.org/bugs/?67019>
Summary: grub-mkconfig creates unusable menu entry for
Windows 10 (BIOS/DOS)
Group: GNU GRUB
Submitter: evermore
Submitted: So 13 Apr 2025 02:53:37 UTC
Category: Configuration
Severity: Major
Priority: 5 - Normal
Item Group: Software Error
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: Git master
Release:
Reproducibility: Every Time
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: So 13 Apr 2025 02:53:37 UTC By: Anonymous
Hi folks,
I've booted the Arch Linux installation media in BIOS mode (i. e. non-UEFI
mode) and installed Grub (version 2.12.r260.gaae2ea61-1) on a SSD which has a
DOS partition table. grub-mkconfig creates a menu entry for Arch Linux and
another for Windows but the latter fails to boot Windows properly. Instead,
the following error is displayed:
> Booting 'Windows 10 ...'
> Setting partition type to 0x83
> error: invalid signature.
grub-mkconfig creates the following menu entry which does not work:
### BEGIN /etc/grub.d/30_os-prober ###
# This menu entry is supported only on PC BIOS platforms.
if [ "$grub_platform" = "pc" ]; then
menuentry 'Windows 10 (on /dev/sdb1)' --class windows --class os
$menuentry_id_option 'osprober-chain-/dev/sdb1' {
insmod part_msdos
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
fi
### END /etc/grub.d/30_os-prober ###
After reading the documentation, I created an entry in grub.cfg by hand and
this works perfectly:
menuentry 'My Windows' {
insmod chain
insmod ntfs
set root=(hd1,1)
chainloader +1
}
I don't understand why grub-mkconfig is not able to create this
automatically.
Details on hardware setup:
* /dev/sdb1: Windows 10 installation on SSD
* /dev/sdc1: Arch Linux installation (installation details in the next
section)
(both drives have a DOS partition table)
How to reproduce:
1. Boot Arch Linux installation media in BIOS mode (non-UEFI mode)
2. Execute the following commands:
# only if you have a special keyboard layout:
loadkeys de-latin1
# Create and format partition for new ArchLinux root:
fdisk /dev/sdc
mkfs.ext4 /dev/sdc1
# Mount drives:
mount /dev/sdc1 /mnt
mount /dev/sdb1 /mnt/win --mkdir
# Basic installation:
pacstrap -K /mnt base linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
# Grub installation:
pacman -S grub efibootmgr os-prober nano less ntfs-3g fuse3
grub-install --target=i386-pc /dev/sdc
# Activate os-prober:
nano /etc/default/grub
-> uncomment line with GRUB_DISABLE_OS_PROBER=false
# Create grub.cfg:
grub-mkconfig -o /boot/grub/grub.cfg
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?67019>
_______________________________________________
Nachricht gesendet über Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
