• rtxn@lemmy.worldM
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    5 hours ago

    You need two separate SSDs. One for Linux, one for Windows.

    • Install Linux on SSD-A. Make sure it has an EFI system partition with a bootloader in it (GRUB, systemd-boot, REFInd), don’t use an efistub. If the installer is done, disconnect the SSD to be safe.
    • Install Windows on SSD-B with the desired updates. It will create its own EFI partition.
      • Optionally, you can create a separate NTFS volume for your C:\Users so you don’t have to mount the entire system on Linux if you need to access your files.
    • Boot into Windows. Use a tool to completely disable the updates. I use WinUtil by Chris Titus.
    • Reconnect SSD-A.
    • Boot and enter the firmware configuration. In the boot device list, make sure SSD-A has a much higher priority than SSD-B! You can even remove SSD-B from the bootable devices.
    • Boot into Linux. In the bootloader configuration, create an entry that targets the Windows C: volume on SSD-B.
      • Alternatively, you can just use the firmware’s boot menu to boot from SSD-B.

    Done. If you need to update Windows, physically disconnect SSD-A and boot from SSD-B.