Yes, that’s right. NVRAM is used by UEFI systems. BIOS-based systems use a different mechanism for managing boot settings. BIOS does not have built-in support for NVRAM boot variables like UEFI. Instead, BIOS uses CMOS settings to store basic configuration information, including the boot order.
I know you said your UEFI menu doesn’t have a BIOS compatibility mode or CSM, or a “UEFI-only” setting but what settings does it have? Maybe your UEFI is calling this setting something else.
Ignore the ‘SATA-HDD’ entry in the boot order, that’s just my most recent attempt to add my HDD to the NVRAM again, but it doesn’t work; the entry in the NVRAM points to a non-existent EFI partition and .efi file.
In that article, they do (vaguely) describe a way of repairing it with Linux tools, but honestly I think it might be easier and potentially more effective if you set up a Windows recovery disk:
Microsoft includes a boot sector fix utility FIXBOOT and an MBR fix utility called FIXMBR on their recovery discs, or sometimes on their install discs.
To make a Windows 7 repair disc, it looks like you need an actual Windows 7 installation disk: Create a system repair disc - Microsoft Support I’m not sure how easy that is to find if you don’t have it.
It may be possible to run those tools from a Windows 10 installation environment, I do not know that for sure though. Or you could try something like Hiren’s Boot, which uses a modified version of Windows PE: https://www.hirensbootcd.org/
Well I did burn a system repair disc, been a while since I burned a DVD.
And when I booted from the DVD, it did inform me about boot problems detected, and offered to fix them.
What it actually did was add the partition I copied from the SSD to the HDD, to the Windows bootloader on the SSD. So now booting to my SSD I have the ability to select any of the 3 Windows 7 partitions (2 on the HDD, and 1 on the SSD), and with that I was able to at least verify, that the copy I made looks fine.
So that’s great, but what it didn’t do was add my HDD back into the UEFI menu. Which means that as soon as I format my SSD to the GPT partition-table and install Garuda on it, I’ll lose the Windows bootloader and therefore access to my Windows partitions on my HDD.
So I’m back to square 1. Since I want to keep my HDD as MBR-formatted, I need to get it back into the UEFI menu and bootable, independently of the SSD.
I guess it’s possible to keep the SSD as MBR formatted and install Garuda by placing the Garuda image on a MBR-formatted Ventoy Live USB (therefore forcing my system into booting into Legacy/MBR mode). Would that allow me to access the Windows 7 partitions from Grub on the SSD?
That is interesting… It seems like progress, although obviously not the final desired result. There isn’t any way to direct the repair tool at the other disk? I have never seen it in action so I’m not sure what choices it presents when it runs.
Maybe you could try disconnecting the SSD, then run the repair disk again to see if it picks up the other boot record. Or, try running the FIXBOOT and FIXMBR tools manually and see if you can specify a target.
Yes, this is definitely possible and actually may be preferable, as it would allow you to get all your boot options together on the same Grub menu when you boot. This is not possible when UEFI and BIOS boot options are mixed.
Yes, Grub is generally pretty good about detecting other boot entries and adding them to the menu–even if they are on other disks. However, if there is an issue with the boot record itself I don’t think Grub will be able to fix that.
Windows 7 should also work on a GPT partition. If I’m not mistaken, there is a trick for this. But I don’t know exactly, that was too long ago
Do you really want to keep Win7? If not, install Win10. It’s just a rhetorical question, it’s your decision. Whether you want to repair the Windows bootloader or reinstall Windows is your decision. The order is important for dual boot because Windows installs its boot loader everywhere and simply overwrites the existing one.
Leave the setting in your UEFI as it is (pictures).
Simple instructions for dual booting Windows and Linux on 2 drives:
Open your laptop and remove or disconnect the SSD (only the HDD for Windows is connected).
Install Windows (or repair the Windows bootloader if you don’t want to reinstall → what’s important is that Windows is working on the HDD).
Reinstall the SSD and remove the Windows HDD.
Boot the Garuda live-iso, open calamares, choose your settings and on the partition site: tick the first option → erase all data and automatic partitioning (I can’t remember the exact English name at the moment).
After the installation is finished, reboot and hit the button for BIOS setup.
Go to Boot Priority Order and set the GRUB entry to first and the SSD to second. (It is possible that with the old UEFI only the bootable drives are displayed because there is no SecureBoot and no TPM. If no windows boot manager and no GRUB entry are displayed, then put the respective drive first - i.e. in this one case the SSD). Save and exit.
The SSD should now boot and have a working Garuda on it.
Now you have an HDD with Windows and an SSD with Garuda.
Reinstall the HDD and turn on the laptop. Press the butten for BIOS Boot Menu and select the HDD for booting windows or the SSD for booting Garuda.
EDIT: So it doesn’t matter which drive has which partition style.
I’d like to buy 3 rounds for everyone here, I’ve successfully resolved my issues and got my system working the way I want it
Indeed booting Garuda off a Ventoy-formatted USB drive (MBR-partitioned, and FAT32 file system) allowed the Garuda Live distribution and its installer to start-up in BIOS mode, and allow me to install Garuda on my MBR-formatted SSD.
Upon booting Garuda up from SSD, I was greeted with Grub which successfully picked up my two Windows 7 partitions on my HDD, and allowed me to boot straight to their Windows bootloaders (they are stored in the /boot directories of the Windows drives). I still had to fix up those Windows bootloaders themselves as those partitions were copied, moved, resized around during this whole saga - but this was easy enough to do with the help of the HirensBootCD linked by BluishHumility above; it had a program called EasyBCD on it which I used.
And now everything’s great. Hopefully anyone else with similar issues will be able to find this thread and learn a thing or two.
Congrats and thank you @BluishHumility for sticking with this. I appreciate it almost as much as the OP. Like I said I would of stuck with it but I have a friend in the hospital and am tired being awake so long, was afraid I would say something I shouldn’t like a couple of others did.