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