When I run sudo nixos-rebuild boot, I get this error:
building Nix...
building the system configuration...
updating GRUB 2 menu...
/nix/store/8fv91097mbh5049i9rglc73dx6kjg3qk-bash-5.2-p15/bin/bash: line 1: /etc/grub.d/30_os-prober: No such file or directory
I assume the /etc/grub.d/30_os-prober should have been installed by some package, can I force a reinstall?
Also, I still boot into systemd-boot. The FAQ says:
Make sure to check if in your boot order, NixOS-bootloader is the default / first option.
I assume it’s talking about boot order in the BIOS, but I don’t see that option there. My default is Linux Boot Manager (starts systemd-boot and Nixos), and the other two alternatives are ubuntu (no idea how it got here, I overwrote the Ubuntu partition with Nixos. It drops me into a grub shell) and NVMe0 SAMSUNG + some code, which just reboots. Maybe NixOS-bootloader shows up once I’ve installed grub correctly?
The other OS I want to be able to boot into is Windows 11.
You’re likely running a computer with UEFI firmware. In UEFI land, the bootloader is stored in a separate efi partition - it’s completely unrelated to the rest of the system.
So by overwriting the ubuntu partition, you only removed the system that boot loader will boot, not the boot loader. Hence it goes to a grub shell, it can’t find what it’s actually supposed to boot.
You can safely delete this bootloader from /efi.
Odd, that’s usually the default on the efi partition for that drive. Oh well.
Note that Windows will override all other bootloaders if you install it second. Install Windows first when dual booting, and pray that system updates don’t break things (or better yet skip Windows altogether, screw that piece of crap).
Yep, or at least I suspect so too… Which means we need to fix:
Given the rest of your post I suspect you don’t have Windows installed yet? Maybe if there is no other OS os-prober doesn’t create a file it should, and you end up with this confusing error message?
I do have windows installed from before switching to NixOS. I just replaced my Ubuntu partition with NixOS and formatted my “boot” partition with Fat32 (was ext4 before) as recommended by the installer. Here my partition table:
nvme0n1 259:0 0 476,9G 0 disk
├─nvme0n1p1 259:1 0 260M 0 part
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 237,4G 0 part
├─nvme0n1p4 259:4 0 2G 0 part
├─nvme0n1p5 259:5 0 2G 0 part /boot
└─nvme0n1p6 259:6 0 235,4G 0 part
└─luks-0528c8b6-e6ec-4f00-b427-14d43d0a0eeb 254:0 0 235,4G 0 crypt /nix/store
/