Solution: When I formatted all my drives to install Linux on one and Windows on the other, I kept both connected and they share EFI boot partition as a result. Every time I reinstall Linux it formats the drive and therefore deletes the Windows’s EFI Boot as well. One way is to fix this is to reinstall Windows while disconnecting the drive you have Linux on. Or you can move the boot files if you don’t want to do that.

I used this guide: https://forums.tomshardware.com/threads/changing-windows-boot-manager-drive.3571420/post-21561626

Also remember to delete the Microsoft folder in the boot folder on Linux after you’ve checked that the new boot loader is working.

OP:


Currently dual booting as I need Windows for a few tasks and ganes Linux just won’t do. Since setting everything up I’ve reinstalled Linux twice, both times I’ve lost the ability to boot into windows and have needed to reinstall it.

Disk doesn’t show at all in Grub, tried all kinds of things but it just doesn’t show as a bootable OS. It doesn’t show in the boot options in the BIOS or the boot menu for my motherboard. Drive shows up and all the files are still on it. So my guess is the Windows bootloader somehow installs on the same disk that I have Linux on.

I run Linux(Fedora) and Windows on two separate drives.

Windows take forever to install. Anything I can do now to prevent this from happening if I need to reinstall Linux or if I wanna to some distro hopping?

Just to be clear, everything is working right now. But I want to prevent having to reinstall Windows every time I change distro or reinstall my Linux OS

  • PragmaticOne@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    14 hours ago

    Fucking hell that’s a real pain in the arse solution you have there.

    If you have two drives then one will be sda and the other will be sdb. Install Windows first on sda (which will mean the boot sector is on sda) then install linux to sdb.

    When you get to the part in the Linux installation process where it asks where you want the boot partition tell it to install on sda.

    Then anytime you want to install and try a different distro just install to sdb with the boot sector on sda and grub will always detect and add Windows to the boot menu.

    Ran that configuration for 10yrs zero issues.

    • Parptarf@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      12 hours ago

      This solution took all about 2 minutes. Now it won’t matter what I do when I reinstall Linux. My Windows boot is not on that same drive any more.

      If I would have known my Windows boot was on the M.2 drive I install Linux on, I would not tell the Linux installer to format that drive, obviously.

      It’s an Issue I created myself by not thinking about Windows’ limitations. But this solution is pretty quick if you already reinstalled Windows again.

  • ClipperDefiance@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 day ago

    Do you have the os-prober package installed? I haven’t used Fedora in over a decade, so I don’t know if it’s a default or not.

    • Parptarf@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      Yes that’s present and working.

      Issue is that my BIOS doesn’t find it either. So something happens when I install a linux distro that breaks the Windows boot loader.

      When I reinstall Windows, I can update the grub and it shows up. (It’s also back in the BIOS after reinstalling)

      • ClipperDefiance@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        I was doing some quick research and saw someone suggest installing each OS with the other drive disconnected. That way you can first get each one working individually and there’s no chance of one messing with the other’s bootloader.

        • Parptarf@lemm.eeOP
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 day ago

          I was hoping to avoid that, but that’s gonna be my next move.

          Unless I forget and break windows again. Words can’t describe how tired I am of choosing the 37 different options during the install, updating the OS 4 times and installing my apps and deleting bloat. 😂 Windows 11 is great and all, but Microsoft loves to make it unbearable to use.

          • BCsven@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            Install Windows, but leave drive open or a partial space on windows drive. When you install Linux, don’t let it install the EFI boot into the Windows EFI boot partition. Instead have the partition manager build a new boot partition+root home etc. Grub will install on its own partition, OS prober should find the Windows drive too, and it will add a chainloader entry to grub. Set your machine to always boot from Linux grub, if you want windows you select it in grub and it hands boot over to windows boot. This way they are isolated and Windows never knows that Linux grub exists and will leave it alone.

            • buwho@lemmy.ml
              link
              fedilink
              English
              arrow-up
              3
              ·
              edit-2
              22 hours ago

              same, and make sure fast boot or whatever fast start up is disabled in windows

  • Arcane2077@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    Last I checked, if you want to dual boot, you HAVE to install Windows first (or disconnect the linux drive before hand), otherwise it will mess with your boot partitions on all drives.

    Windows is also prone to mess with boot partitions randomly long after the initial install, so be wary