Title. I dual-boot Windows and Linux. I always saw people making “WINDOWS DELETED MY LINUX BOOTLOADER OMGOMG” posts and it had never happened to me. Now, the opposite has happened. I switched from EndeavourOS to OpenSUSE and now my windows install is no longer selectable on boot.
I keep Windows in a separate drive entirely, so instead of using grub, I use the EFI’s boot-select menu thingamafuck (look I don’t know jargon okay?) to choose Windows when I need it.
Well today it’s not there. Only the Linux entries show up. The Windows partition itself seems to be in good order, like, I can access it from within Linux no problem.
But yeah it doesn’t show up on my EFI selector thingie. I imagine I could get the EFI Shell going, but I have no idea how to use THAT either.
Can you still boot into Windows without GRUB? Like through your bios menu. I’ve had it where a Linux installer will eat the EFI files for Windows.
If you need to fix your Windows EFI partition, and have a Windows install disk, boot it up and press Shift + F10 to open a command prompt (you may need Fn as well if youre on a laptop)
Run
diskpart
andlist volume
You should have your Windows drive (should be labeled C, but can be mounted elsewhere in recovery. Keep in mind the letter it’s mounted on) You’re also going to want to look for a fat32 partition. Since windows is on a different drive, there should be two, one for Linux and one for Windows.
Pick one with
select volume x
where x is the volume number, and ensure you’ve selected the right one withlist disk
. There should be an asterisk next to the disk containing the selected volume.Still in diskpart, you’re going to want to mount that to a letter, I always choose N with
assign letter n
Type
exit
to get out of diskpartNext you’re going to want to remove existing EFI files. Type
N:
to change to the N disk, andrmdir EFI\ /s
(I’m doing this from memory, I believe this is the correct command to do so)To regenerate the files, you’re going to want to run
bcdboot C:\Windows /s N: /f ALL
where C:\Windows is your Windows folder, N: is your efi partition, and ALL is the boot type (this installs both legacy and EFI files, you can set this to just EFI and be fine)Windows should be good to boot, I’d boot it once to test. Then go into Linux &
grub-install
andupdate-grub
. It should be able to find it on any installed drive, even unmounted. Check the output and you should see if it found it.I cannot get into Windows in any way. I CAN get into Linux with no problem though. Anyway.
(as I said in my post–) My intention is to not use grub at all and to choose windows through my bios menu when I do need it. Which is what I had been doing for the past year.
It’s just that its entry in the bios menu has disappeared.
In that case, these steps should work, but you can safely ignore the grub steps at the end. (I totally misread the NOT wanting to use grub part lol)
I managed to revive windows but now Linux doesn’t show up, lmao
But I think I know what to do about that. Give me like 10 and I’ll report back.
Your Linux install may be using the same EFI partition as your Windows disk, even though the filesystem is on another drive. Most installers prefer existing EFI partitions. You may have to modify your fstab file to use an EFI partition on your Linux drive instead, in which case they should remain separate and not mess with each other again.