Unable to boot into Windows 7 from GRUB

Questions about Grub, UEFI,the liveCD and the installer
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
Seltox

Unable to boot into Windows 7 from GRUB

Post by Seltox »

I've got a dual-boot setup with Windows 7 and Mint, on seperate drives (W7 is on sdb, Mint on sda)

The issue is that I cannot boot into Windows 7 from Grub. If I want to, I need to override boot priority in the BIOS, and then it works fine. When attempting to boot via grub I get this message:
"error: invalid EFI file path."

I tried adding Mint to the bootloader of Windows via EasyBCD, but that didn't seem to work either. So i'm in a situation where neither drive is able to boot the OS on the other drive. I haven't got much experience dealing with bootloaders, so any help would be really appreciated.

- Seltox


EDIT: I think i've found the cause now. I just looked up details on my Windows Boot Loader, and its path is "\Windows\system32\winload.exe" - so it's booting in BIOS mode instead of EFI?

My question now is, am I able to change this without a full reinstall? The winload.efi file is there.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: Unable to boot into Windows 7 from GRUB

Post by srs5694 »

Does the Windows disk use the Master Boot Record (MBR; aka MS-DOS) partitioning system or the newer GUID Partition Table (GPT) system? You can tell by using parted:
$ sudo parted /dev/sdb print | grep "Partition Table"
Partition Table: gpt
This example shows a GPT disk. An MBR disk will report "msdos" rather than "gpt." Windows ties its boot mode strictly to the partition table type, so if you've got a GPT disk, it's booting in EFI mode, and if it's got an MBR disk, it's booting in BIOS mode. This is a more reliable test than the boot loader being listed as winload.exe vs. winload.efi.

If you're booting in EFI mode, there are a number of solutions, but broadly speaking, they are:
  • Fiddle with the Windows boot loader entry in your GRUB configuration. There are numerous examples on the Internet, and what works on one computer fails on another, so it may take some trial and error to find one that works. Test by directly editing grub.cfg. When you've found one that works, you can add your working entry as an option in /etc/grub.d/40_custom so that it will be regenerated whenever Mint updates GRUB.
  • Install my rEFInd boot manager, which generally does a better job of booting Windows in EFI mode than GRUB does. If you're running Mint 14 (and hence have a 3.3.0 or later kernel), rEFInd can also boot Mint without the help of GRUB. If you install via the rEFInd Debian package, it should set itself up automatically just by installing the package, so when you reboot you should see the rEFInd menu and be able to boot Windows or Mint.
If you're booting Windows in BIOS mode and Linux in EFI mode, it gets trickier. Broadly speaking, there are three options:
  • Install a BIOS-mode boot loader for Linux. This probably means creating a BIOS Boot Partition, replacing the grub-efi package with the grub-pc package, and perhaps running "sudo grub-install /dev/sda" to set it up. You may then need to reconfigure your firmware to boot in BIOS mode rather than in EFI mode for both OSes. This last action is highly firmware-specific, and some EFIs offer such limited options that it's impossible to accomplish the task with certain disk configurations.
  • Convert Windows to boot in EFI mode. This can be a bit tricky, but it is possible. When you're done, you'll probably have to reconfigure GRUB or install rEFInd to boot Windows. Overall, this is probably the least desirable option.
  • Install rEFInd, uncomment the "scanfor" line in its refind.conf file, and add "hdbios" to its options. This may enable you to boot Windows; however, the EFI-to-BIOS boot support in rEFInd is currently limited, particularly on multi-disk systems like yours. You'll stand a better chance of getting it to work if you install a BIOS-mode GRUB on the MBR of /dev/sda, but if you're forced to do this, you'll probably want to do it outside of the Mint package system.
Seltox

Re: Unable to boot into Windows 7 from GRUB

Post by Seltox »

It's MBR.

Although, after some thinking, and looking at bank balances, I decided to purchase a second SSD to run Linux off, and am going to do a full reinstallation of my system. This isn't so much a reaction to the bootloader problem I have, but rather something I wanted to do, and fixing the bootloader issue is just a happy side effect.

I appreciate the effort, and reading your response was really quite interesting, and educated me a bit about how everything works - always handy knowledge to have :)

Thanks!
srs5694
Level 6
Level 6
Posts: 1386
Joined: Mon Feb 27, 2012 1:42 pm

Re: Unable to boot into Windows 7 from GRUB

Post by srs5694 »

Seltox wrote:It's MBR.

Although, after some thinking, and looking at bank balances, I decided to purchase a second SSD to run Linux off, and am going to do a full reinstallation of my system. This isn't so much a reaction to the bootloader problem I have, but rather something I wanted to do, and fixing the bootloader issue is just a happy side effect.
In that case, the easiest solution is to ensure that you run the Mint installer in BIOS mode rather than in EFI mode. (I'm guessing it's currently booting in EFI mode since the error message about an EFI file path strongly suggests an EFI-mode boot loader installation.) You can check the boot mode of the installer by dropping to a shell and checking for a directory called /sys/firmware/efi. If it's present, you've booted in EFI mode. If it's absent, you've probably booted in BIOS mode, although there are ways for it to be absent while you're actually booted in EFI mode. If this is the case, typing "sudo modprobe efivars" will usually make the directory appear, so try that and check again. If you boot in EFI mode, reboot, use your firmware's boot manager, and try to find a boot option for the installation medium that does not include the string "EFI" or "UEFI" in its description.
westitaly

Re: Unable to boot into Windows 7 from GRUB

Post by westitaly »

Try with this and choose "reccomended repair", in my case it worked, maybe it will work with you too. Usually the grub has this kind of problem with the laptop.
https://help.ubuntu.com/community/Boot-Repair
Locked

Return to “Installation & Boot”