this post was submitted on 24 Dec 2023
5 points (85.7% liked)

NixOS

1003 readers
1 users here now

NixOS is a Linux distribution built on top of the Nix package manager. Its declarative configuration allows reliable system upgrades via several official channels of stability and size.

This community discusses NixOS, Nix, and everything related.

founded 1 year ago
MODERATORS
 

I've probably parsed dozens of pages now, including the "Dual boot NixOS and Windows" page on nixos.wiki, and not really sure what the best steps are since most seem to leverage the fact that everything is on a single partition. My windows lives on a physically separate drive than NixOS, so osprober does not detect the windows partition at all. I tried to go down the route of grub-mkconfig but that doesn't seem to be a nix package and I couldn't mount my Windows bootloader as it is NTFS. Is this even possible with this configuration?

My next step was going to be to physically disconnect each of my disks/NVME, nuke everything bit by bit, then only connect the disks I want and install each OS with it's specific disk connected.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 5 months ago

I know this is too late for you, but something like this happened to me recently, so I'm writing for the sake of anyone who might find this thread in the future.

In my case it was because the NixOS installer had booted up in legacy/BIOS mode, so grub was in BIOS mode, and it can't boot a UEFI OS (e.g. Windows 10) from that state.

In fact I couldn't get the NixOS installer to boot in EFI mode at all. Odd, as both Windows and other distros work fine. Actual installed NixOS also works, it's just the installer that fails.

So what I did was to boot a different distro's live medium (EndeavourOS, but it shouldn't matter) in EFI mode and did a manual NixOS install from there.

It probably also would have worked to just switch grub to EFI mode in the config, except I had also failed to clock that the new SSD I was installing to had an MBR partition table, so I had to nuke the original install to make it gpt anyway.

tl;dr: osprobe can find OSes on other drives just fine; what it can't do is find an EFI bootloader while in legacy mode.