Can't install other operating systems after NixOS

I want to get this out of the way first. I have an old Dell XPS laptop that doesn’t have EFI nor the option to select secure boot. It is strictly BIOS.
I had NixOS installed on the Dell recently, wiped it today and tried to install Fedora 41 but was presented with Operation System not found (Yes, you read that right, ‘Operation’) after reboot of Fedora install. I found this odd. I then attempted Fedora 40 and then Pop!_OS, which both resulted in the same error message. In between troubleshooting of these OS installs I even attempted to wipe the drive with DBAN to see if that would fix the issue and also ran both a dd if=/dev/zero of=/dev/sdc bs=512 count=1 and dd if=/dev/zero of=/dev/sdc bs=446 count=1. And I still saw the same error message after those troubleshooting steps.
Just for the heck of it I attempted to install the latest NixOS to see if I would get the Operation System not found error. I did not.
Question: Does the NixOS install make unique changes to the MBR that would cause me to not be able to install other Linux operating systems thereafter? If so, how do I fix that?
I would have thought running those dd commands would clean the MBR completely. But I guess it didn’t?
There was a time before my first install of NixOS, about a year ago, on this Dell that I had no issues with installing Fedora. I think the last version I installed before NixOS was Fedora 39, and earlier versions before that.
Any assistance would be greatly appreciated.

Honestly, the first question in such a situation for me would be «does Fedora 25 installer work any better». Just to separate «can’t install fresh distros from scratch with BIOS boot» from something specific to the drive after NixOS installation.

Generally, for wiping I would go better-safe-than-sorry and zero out both the first three megabytes and the last three megabytes of the drive.

Do you mean, attempt to install an older distro versus a newer distro?
I understand the means of trying different troubleshooting steps but I am not sure what that would accomplish since I have already attempted to zero out the drive in multiple ways. And, my end result is to install a newer OS outside of NixOS.
I’m just wondering if the dd commands that I am running are actually clearing out the MBR that NixOS has changed.

I would zero out more, and from both ends, just to be sure.

The question if it is possible at all to install using a fresh installer, or installing an old version then upgrading is your only option anyway.

I guess I don’t fully understand the dd commands I ran.
Any recommendations on how I would zero out both ends?

On the start, I would do dd if=/dev/zero of=/dev/sdc bs=1M count=3. No problem to just drop 1 MiB of zeros per write() call.

On the end side, you need to know the drive size, then use oseek. Something like dd if=/dev/zero of=/dev/sdc bs=1M oseek=120000 status=progress. Here oseek is the number of blocks (1MiB-sized in this command) to skip; you want to write at least a few before reaching the end, but if you hit an early part and it writes too much, you can interrupt and try a larger number.

Thanks.
So, I ran dd if=/dev/zero of=/dev/sda bs=1M count=3 and attempted a re-install of Fedora 41. Same error message pop up again during POST, after install and reboot.
I’m currently reinstalling NixOS 24.11 and, for now, may just stick with NixOS. It’s just odd I can’t completely clean out the MBR after a NixOS install to install a different distro. I’ve never experienced this behavior before, on any hardware.

Do you actually have a GPT (which is at the end of the drive unlike the old-style partition table)?

It was msdos. So, to test, I change the partition table to gpt using gparted and tried installing Fedora 41 again but still got the same error at boot.

Hm interesting. So Fedora with GPT and BIOS Boot Partition does not work?

Correct. I’m going to try other distros, beside Pop!_OS and Fedora, to see what happens.

1 Like

So, an attempt to install Ubuntu 24.04 LTS displayed the same boot error as Fedora and Pop!_OS. Garuda Linux was a success.
One thing I noticed is that Garuda Linux looks to have the same installer as NixOS, which looks to be Calamares.

1 Like

Did you use “automatic” partitioning or “manual”?
Also, BIOS requires mbr partitioning table and bootable flag on partition which has bootloader installed.

Automatic partitioning.
In the beginning, I had set the partition table using gparted as msdos, which I believe also means mbr.
The more I think about it, the more I think the problem lies within the type of installer both the newer versions of Fedora and Ubuntu (and Pop!_OS) uses doesn’t partition the disk appropriately and the fault does not lie within NixOS. Stating that, I don’t know that it is necessary to continue this discussion thread since I originally thought it was a NixOS issue. I may head over to Fedora forum to get some input from that community to get their thoughts on the Fedora side of it.