Results 1 to 5 of 5

Thread: Need help to tets Windows behavior on EFI systems

  1. #1
    Join Date
    Sep 2012
    Posts
    7,095

    Default Need help to tets Windows behavior on EFI systems

    I'm looking for help to test whether legacy BIOS Windows bootlader that is sometimes present on EFI installation actually works if system is switched into legacy mode. To remind - multiple people reported that on EFI systems grub menu contains Windows entry that is not bootable. This Windows entry is generated because legacy bootloader is still present on Windows partition. What I am would like to know - is it actually possible to boot Windows in legacy BIOS mode using this bootloader. If you have such system and are open to experiment - I appreciate your help. I do not have and hardware and under Vmware I do not see this. So my theory is, Windows somehow detects that system is legacy BIOS capable and installs second bootloader besides EFI one.

    Thank you!

  2. #2

    Default Re: Need help to tets Windows behavior on EFI systems

    Well, i own a new DELL XPS 15 with a nonworking grub2 menu entry for Windows. However this entry definitely doesn't try to boot a legacy bios windows bootloader:

    Code:
    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-9CD4-1334' {
            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  9CD4-1334
            else
              search --no-floppy --fs-uuid --set=root 9CD4-1334
            fi
            chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    }
    This is exactly what os-prober finds and /EFI/Microsoft/Boot/bootmgfw.efi exists on the EFI system partition. But there is another bootmgfw.efi in the root of the EFI system partition.
    A file -s /dev/sda2 ( this is the windows partition on that system) indeed says: DOS/MBR boot sector. The Windows 8.1 on that system wasn't installed from a clean Microsoft Installation DVD, but from the Dell Image. So I think this is Dell problem, not a Windows Problem.

    I still can boot to Windows, if I use the BIOS bootmanager ( F12) .

  3. #3
    Join Date
    Aug 2010
    Location
    Chicago suburbs
    Posts
    15,670
    Blog Entries
    3

    Default Re: Need help to tets Windows behavior on EFI systems

    Quote Originally Posted by mkossmann View Post
    A file -s /dev/sda2 ( this is the windows partition on that system) indeed says: DOS/MBR boot sector. The Windows 8.1 on that system wasn't installed from a clean Microsoft Installation DVD, but from the Dell Image. So I think this is Dell problem, not a Windows Problem.
    I have a similar entry in my grub menu. However, it does work. This is on a Dell Inspiron 660, with the Dell preinstalled Windows 8 (later upgraded to Windows 8.1).

    What opensuse version are you using? I recall a similar problem when 12.3 was released, but I have not seen that problem with 13.1.
    openSUSE Leap 15.3; KDE Plasma 5.18.6;

  4. #4
    Join Date
    Sep 2012
    Posts
    7,095

    Default Re: Need help to tets Windows behavior on EFI systems

    Quote Originally Posted by mkossmann View Post
    However this entry definitely doesn't try to boot a legacy bios windows bootloader
    Currently os-prober checks for EFI during generation of grub.cfg. I consider moving this check into grub.cfg itself, so both menu entries would be present and one hidden by grub if platform does not match. Could you test the following - comment out check in /usr/lib/os-probes/mounted/20microsoft:
    Code:
    # This script looks for legacy BIOS bootloaders only. Skip if running UEFI
    if [ -d /sys/firmware/efi ]; then
            debug "Skipping legacy bootloaders on UEFI system"
            exit 1
    fi
    (simply removing "exit 1" is enough) and regenerate grub.cfg. You may now have two menuentries for Windows - one for legacy, another for EFI. Try if you can actually boot Windows with legacy menu entry.
    I still can boot to Windows, if I use the BIOS bootmanager ( F12) .
    As EFI or as legacy BIOS? Of course you can select Windows in EFI boot menu, that's not what I asked

  5. #5
    Join Date
    Sep 2012
    Posts
    7,095

    Default Re: Need help to tets Windows behavior on EFI systems

    Quote Originally Posted by nrickert View Post
    What opensuse version are you using?
    12.2, 12.3, 13.1 ...

    I recall a similar problem when 12.3 was released, but I have not seen that problem with 13.1.
    If "problem" you mean two menu entries - yes, it was fixed by checks during menu generation as I said, but I wonder if we can do better.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •