I have a real simple solution that involves not windows
i use a different drive for my windows installation because that happened to often,
and i swear it once managed to whipe the bootloader on the linux drive.i have no idea how it did that,
but i avoided starting windows using the grub entry since then.Having two drives is sometimes not enough, either. I have no idea why, but anytime Windows installs for the first time or goes through a major update (not the small security patches, but the periodic feature releases) there’s a random D20 dice throw to determine if it will randomly decide to create the bootloader and recovery partitions in another drive, even though your main installation isn’t there.
I kid you not, Windows 10 once decided that my external SSD enclosure was the best place to put the bootloader.
This happened to me! Did an update, unplugged my eSATA and BAM! Can’t find bootloader. I literally, physically facepalmed when I realized what happened. At least the old one still worked from the primary.
I’ve done a ton of Linux updates and this has never happened to me once (yet).
Easy solution if you only have one SSD: instead of installing Windows as your second OS, install a different Linux distro.
And while you’re at it, install a third distro
Why stop there?
Never trusted this setup to begin with because I didn’t trust Microsoft and I’m not all that capable or want to take time to sort this stuff out on a regular basis.
So I just setup my ThinkPad laptop with two removable SSDs and I just swap one or the other whenever I need. The drive is easily switched, from power down, remove drive, insert other drive and restart only takes about two minutes.
I’m not going to risk messing up my setup because two operating systems can’t work with one another.
Besides I seldom switch, I use Windows if I really have to about three or four times a year.
Wine won’t work?
I really wish Excel would work on wine. It’s the only reason I do occasionally fire up windows on my duel boot. (And no the open source / browser based spreadsheet options don’t always suffice, brilliant as they are).
I recently had this issue needing to run Excel macros. I ended up using Oracle Virtualbox to run Windows from inside linux. Even more linuxey is using Proxmox to run your Windows VMs but that’s a bit more of a faff.
Don’t use virtualbox, instead use virt-manager (KVM). KVM is faster and doesn’t do awful stuff to their users.
Pfft, even 2 separate ssds for dual booting doesnt stop this from happening to me -___-
On the plus side, this is the first i recall hearing of someone encountering the same issue, so i guess i dont feel as alone now.
it stopped happening to me after i stopped using the grub entry to boot windows.
i now use my mainboards boot menu to select the windows entry when i need to boot it
Windows has a lovely “feature” where it installs the bootloader on a secondary drive if there’s one connected. It doesn’t install it on drive 1 and drive 2, just drive 2. I always disconnect all secondary drives before installing windows for this very reason.
That said you can configure the windows bootloader to recognize your Linux (or grub) and just use that to manage booting two OSes and it’s less likely to not destroy things.
How can you do that?
Is that actually easily fixable? Was planning to go dual-boot soon on my laptop and haven’t even considered this scenario.
My old thinkpads have this great feature where the hard drive is easilly accessible on the side, so I leave the cover off and just swap the drive to boot into a different os
iirc the last time it happened to me, i just needed to fix the uefi entry which wasnt that bad.
(just remember to have a usb stick with a live image ready)if it were to overwrite your bootloader that would be a way harder fix.
i dont remember if the second ever happend to me
It’s relatively quick and easy to fix if you have a live boot Linux usb stick …and probably a second machine so you can Google what to do. It’s just also rather worrying at the time.
Remember kids, if you’re gonna dual boot, stay safe, use 2 drives, and pray you’re fast enough to mash the boot menu button when you power on.
Just press and hold the button as the computer boots!
Or just set your BIOS to take you to the boot menu on startup so you don’t have to pound keys like a barbarian.
Or maybe I share a computer with my partner that absolutely does not want to see a boot menu when they turn on the computer.
Nah, you just need to develop a custom EFI app to boot on it. This app then calls a server on your network which will answer whether to boot on Linux or Windows (or any OS installed really).
And voilà, you don’t need to manually select the OS anymore (well, you still need to say to the server what to use, but you can do it beforehand, not during the boot)
I just use rEFInd with auto discover turned on. I installed the windows bootloader onto my Linux boot partition and haven’t had any issues with Windows overwriting my boot entries on update.
- install windows
- adjust main partition so you have space for Linux
- install linux, during install create anither efi partition, and root partition.
- linux probes foreign OS (some distros might not) and creates a chainloader entry from your new EFI to Windows EFI
- set BIOS to boot from linux EFI
Windows never knows the other partition exists and leaves it intact.
Could you give me more detail for step 3?
Yes. When you install Linux it will auto detect the Windows EFI partition and put boot stuff there by default, but then windows comes along and will randomly trash that setup. So during install don’t go with the suggested option, instead use the partitioning tool to creat another small EFI boot partition elswhere on disk, leaving Windows EFI and OS paetitions as is. Also create your root and home partition(s). Install to those partitions, then Linux should prompt for Probe Foreign OS and add a chainloader entry to your grub menu. This entry, when selected, points grub to windows EFI partition ID and hands off the boot process to Windows. Windows is unaware it has been chainloaded. As long as you set BIOS to load directly from the LINUX EFI entry then you will boot to Grub with Linux/Windows Dual option…But technically it is not a true Dual Boot, it is a sequential boot I guess. I have had this for 7 years on same install and boot between W10 and Linux daily. Windows has never touched my Linux EFI.
How to add chainloader entry to grub?
Don’t even have to do that. Install windows first, then install Linux with refind bootloader on preferably a separate disk. Done
I installed arch so that didn’t happen.
You do need a separate EFI, even though linux finds EFI, otherwise windows update trashes it randomly and why the meme we see here exists, with separate EFI windows doesn’t know about it. You can shutdown windows mid update and boot linux, then reboot back to windows and update will continue. Siloed System
That’s literally what I did yesterday with my method. It works, Windows has never trashed it
It will, thats why that meme exists.
Not during typically reboots, but when some windows update or autofile repair happens it thinks it is the only OS on that partition and does what it likes.
Nope, ran it like this for over 5 years. Definitely rebooted during updates / did some crap
Then you have been lucky, because most peoples experience with grub EFI on Windows partition is windows will eventually scrub it.
Did exactly that.
I have yet to have this happen to me lol.
i need to remove my windows boot drive from my workstation, but it lives in a rack. And has a temperament. Sometimes when losing power shit just refuses to boot for like an hour, eventually it randomly boots. Still unsure why. Could be anything really. Best guess is bad cmos battery though. Could be slightly bunged bios, could be marginally fucky cpu. Who knows. It’s fine when shutdown with power for long periods of time though.
Gotta love modern hardware, if only 7 segment displays weren’t a 300 dollar privilege.
For me its the opposite, Linux always boots fine but occasionally a linux system update will break the Windows boot option in systemd-boot
laughs with macbook
Every panel would be the same for you regardless of the brand of your laptop, no?
Not at all, macOS is very friendly to dual booting. I have never had any issues.
I assume since we’re talking about Linux bootloader you aren’t running macos, but Linux.
MacOS updates* have never broke my Asahi
*May have to do with the fact I haven’t booted into MacOS since installing Asahi
If I dual boot windows, I tend to disconnect my Linux drive any time I do anything on the Windows side. Even installing Windows fresh using default settings, it managed to completely erase my Linux disk to put the Windows bootloader on it even though I selected a completely different disk for the Windows OS. Won’t be making that mistake again. And by mistake I mean dual booting Windows. That pile of spaghetti code gets a VM.
I got used to windows overwriting the MBR and could generally work around that. But the last time I tried windows/Linux dual boot, it was windows that got caught in a recovery loop after a windows update. Linux was fine. I was impressed at how thoroughly Windows had killed itself on a basic unmolested install. At that point I decided I was done with windows on bare metal unless it was the only thing running. Windows goes in the virtual sandbox or plays by itself.
windows installing its bootloader on a completely separate drive is such a weird and fucking idiotic issue for it to have.
… on a proxmox host in another room.
i have two other possibilities at hand, that do not involve two SSDs:
- don’t use intentionally broken software in the first place ;-)
- use another device for bootloader, could be a readonly CD or a usb drive, PXE/bootp could also do it.
And if your company wants you to use rotten software, they also want you to give them the delays, downtimes and annoyances that naturally come with rotten decisions, just keep that in mind.
Here is one thing to remember and why i call it rotten software and rotten decisions:
Microsoft offers a free “blame the ransomware people” to any CTO who just wants to receive money without working at all or not having to “think” during work. That same CTO can get a bonus after “solving” the ransomware issue and then: “look how ‘invaluable’ that CTO is to the company” he “worked” for month ( yelling at engineers he previously told to install rotten software???) and resolved the ransomware issue!! This is same to those who work. no law has ever given people that many payed breaks from work as “rotten software” vendors did. and if you made a mistake and did not get trained before, you could blame bot beeing trained.
Look at it from a “fingerpointer” point of view, one cloud always blame someone else for everything and the only one to blame is too big to fail and also untouchable due to their army of darkness lawyers. thus anything happened? no one could be guilty AND be held responsible. Also if one is slow at work, and so is his OS, obviously easy to blame someone else again.
so microsoft offers a “solution” to “boss wants you to work more and quicker” but remember, that same boss only “needs” a cover for his own ass to be able to point to someone else and the ones creating the rotten software do deliver that ;-)
i do not know any better wording for such a situation than “rotten” thus i name it so.
I have power switches for my drives. If I want to boot into windows, I turn that one on and the others off.
how do you do that ? physical switches ? do you buy them separately and solder them ? where ?
It’s a physical switch board like this
https://www.amazon.com/Kingwin-Optimized-Controls-Provide-Longevity/dp/B00TZR3E70
Neat, had no idea this existed. Thanks !
That’s a really awesome idea. If I ever need an actual Windows install I’m totally going that route!
For the rare occasion that I need Windows bare metal, I have a Windows 11 installation on a usb ssd originally installed via the Rufus Windows-To-Go option that I can just plug into the system and boot off it whenever I need it without it touching my uefi menu or partition on my internal drives. This way I can also use it on another machine if that need arises. Windows can even trim the usb drive it’s running on. It pretty much works as if installed internally.