Put Windows in a virtual machine where it belongs!
This might be the most dweeby thing I’ve seen. I love it :)
666 upvotes
Only evil if you use one disk. :)
I’d had a dedicated windows drive for a little while… Maybe a bug and not malice, but the forced Windows 8 -> 10 upgrade deleted everything on my second drive that windows wasn’t installed on
The Windows installer partition manager also does not ask for confirmation before formatting a drive. That was a costly misclick
I had two disks and windows still fucked my secure boot keys somehow in a way that I wasn’t able to fix so I had to reinstall the linux side. I turned secure boot off afterwards so should be fine now but it was a thing that happened.
I needed to know this about 5 years ago, when I lost a partition on my SSD because of a poorly done dual boot.
The reason I just overwrote the Windows partition, instead of futzing with fixing dual boot was GDID. MSFTs global ID that tracks, literally, everything you do.
If you bought a store laptop, I’d bet those configuration signatures were recorded when it got imaged… for the police of course.
Now that Windows isn’t being updated anymore (unless you enroll for extended security updates), can this still happen?
Wonderful day!
It’s apparently the third day (in a week!) I see people share their negative view on the booting being damaged by Windows…
Frankly, it’s quite odd to see so many people having the issue when Windows or any other OS rewrites the bootloader…
It’s sure possible to have it safe, so that even Windows won’t rewrite during its update.Though, I’ve been into Linux for more than 20 years now, I do have a machine that has Windows 10 installed alongside Linux, even if it’s more frequent to boot Windows in a virtual machine nowadays.
The idea is to not share the location for the EFI files (in UEFI mode), but let the systems have their own keeping them fairly isolated, where Grub v2+ or another bootloader you prefer, load them all respectively, being located on a safer partition.
For example:
-
We have two storages (e.g., SSD):
/dev/sdaand/dev/sdb. -
Install Windows on
/dev/sdb(so it creates its own ESP); -
Install Linux on /dev/sda (so it creates its own ESP), with a normal/manual partitioning:
-/boot/(for Kernels I have 4 GiB+);
-/boot/efi/(commonly, from 128 to 512 MiB is enough);
- Here I normally also have a swap partition, and separate:/home/,/var/;
- Select Grub to be installed on the/dev/sda; -
Boot the Grub in
/dev/sda; -
Update Grub within Linux, so it finds the Windows EFI on another drive via its os-prober.
Here, I believe
efibootmgrshould show the existing EFI, or you could check it manually in/boot/efiafter.Windows should operate on its own ESP it created on its own storage, and don’t overwrite the Grub.
At voila!
To additionally clarify, in my personal experience for many years on Linux, I usually tend to see (and are fond of, personally) having separate mounts for contextually different data, where one of the most adequate in frequent circles and duties is to separate the responsibility as, for example:
- Main system (root) -
/; - Kernel (
~4GiB) -/boot/; - EFI (
~128-512MiB) -/boot/efi/; - User personal -
/home/; - Variable -
/var/; - Swap;
- (Optional) System configuration -
/etc/; - (Optional) Temporary -
/tmp/;
It’s also frequent to see the Logical Volume Manager (LVM) active, that may support a more fluent organization of hardware and logical devices. In this case, we might have all the above mounts, except 2 and 3, practically encrypted, too.
One of my current main machines have the following partitions (though no dual-boot on it):
sda 8:16 0 953.9G 0 disk ├─sda1 8:17 0 512M 0 part /boot/efi ├─sda2 8:18 0 4G 0 part /boot ├─sda3 8:19 0 32G 0 part [SWAP] └─sda4 8:20 0 917.4G 0 part └─luks-12341234-1234-1234-1234-123412341234 252:0 0 917.4G 0 crypt ├─vg_system-lv_var 252:1 0 400G 0 lvm /var ├─vg_system-lv_home 252:2 0 400G 0 lvm /home └─vg_system-lv_root 252:3 0 117.4G 0 lvm /If interested, please check the following:
- file-hierarchy (File system hierarchy overview… - Linux manual page…)
- Encrypting an entire system;
On Windows, if I am not mistaken (please correct me if wrong), the most frequent is to have at least two explicit partitions, in addition to the implicit primary 4 ones:
- EFI Boot Partition we mentioned above;
- Recovery Partition;
- Microsoft Reserved;
- Primary Windows.
For example:
-
C:\- System and automatically organized User personal files (desktop, documents, variable as AppData/ProgramData);
-D:\- Manually installed programs and manually organized User personal files;You can include a separate data partition to enable easier maintenance for situations where either the primary operating system is likely to be replaced, or when multiple operating systems exist on the same device, such as Windows 10 and Windows 7. When a device has multiple hard drives, a data partition may be stored on another drive.
For typical single-drive configurations, it’s best that you not use a separate data partition. There are two main reasons:
- The partition may not automatically protect data that is stored outside the user profile folders. For example, a guest user might have access to files in an unprotected data partition.
- If you change the default location of the user profile folders to any volume other than the system volume, you cannot service your image, and the computer may not apply updates or fixes to the installation.Source (Hard drives and partitions - Windows Documentation…)
Oh! I would recommend KDE Partition Manger if you prefer GUI for partitioning.
It’s likely worth to mention that KDE Partition Manger (project source) is likely one of the best out there I found (tried at least 11 a few years ago) for convenient GUI Luks2 and LVM support, if required.
Even if compared to some of the popular, where Gnome’s, GParted, and QtParted resulted in either unsupported logic for Luks2 and LVM or did not complete the task successfully. These tools are still awesome for other tasks, I believe!
Though, perhaps likely as you I do prefer shell or TUI, being dived mostly in terminals/servers, and a script is always an option, of course. Not to mention that even with the GUI above, manual commands are normally eminent/imminent.
Related: https://wiki.t2linux.org/guides/windows#separate-the-efi-partition-after-linux-is-installed
For example:
We have two storages (e.g., SSD): /dev/sda and /dev/sdb. Install Windows on /dev/sdb (so it creates its own ESP); Install Linux on /dev/sda (so it creates its own ESP), with a normal/manual partitioning: - /boot/ (for Kernels I have 4 GiB+); - /boot/efi/ (commonly, from 128 to 512 MiB is enough); - Here I normally also have a swap partition, and separate: /home/, /var/; - Select Grub to be installed on the /dev/sda; Boot the Grub in /dev/sda; Update Grub within Linux, so it finds the Windows EFI on another drive via its os-prober.Here, I believe efibootmgr should show the existing EFI, or you could check it manually in /boot/efi after.
Windows should operate on its own ESP it created on its own storage, and don’t overwrite the Grub.
At voila!
Then Windows will fuck up your EFI entries. Which is not a big deal if you know what you are doing but a completely different story for the audience you are explicitly addressing here when you even explain how to check those entries in the first place.
Also you did not actually mention that fastboot needs to be disabled in Windows, thus a clueless person will not understand the random hardware errors on Linux caused by not properly initialized devices and will blame Linux.
(And let’s not even talk about some of the really insane stuff like pre-installed Microsoft SecureBoot keys that brick you whole system when removed because idiotic OEMs signed their own hardware’s EFI drivers with the keys already pre-installed just because they can…)
So no, it’s not “quite odd to see so many people having the issue when Windows”. That’s what Windows is causing, often intentionally so. Is most of this easily fixable? Sure… But it’s a very effective deterrent for many people, so they never reach the point where they understand and be able to fix that stuff.
Windows never touched the main EFI entry in my cases, even at updating it from 10 to 11, and I clarified it 3 times.
With a few Google queries we may find it mentioned, yet I’ve just found a weak one at this moment:
If you are booting with Windows, you should simply be aware of the problem, because you can easily overcome it by temporarily changing the type code of the non-Windows ESP(s) if you run into problems. Note that Windows will boot just fine on a disk with multiple ESPs; it’s just the installer that chokes on such disks.
Some documentations found mentioned relatively similar:
The only Microsoft supported workaround for booting multiple installations of Windows in a uEFI environment is to use a dual boot configuration. This will make use of a single ESP and one MSR while still allowing the user to choose to boot to an installation on disk 1 or disk 2.
Note that Windows will boot just fine on a disk with multiple ESPs
Nice for Windows to support this theoretically but the UEFI standard does not require support for multiple ESPs on a disk, so you will easily find hardware that in fact will simply discover the first ESP then stop. Because actual implementations matter and a lot of them are bad.
Speaking of bad implementations. We got several manufacturers a few years ago where their UEFI implementation broke and bricked the whole device after editing the EFI entries via
efibootmgrexactly as defined by standard. Oh, you wanted to install Linux? Your device is now done because no one ever tested them without anything but the Windows pre-installs.Yet two other cases of totally coincidental “This should work but doesn’t, must be a Linux issue” artificially created by Microsoft (who after all were one of the driving forces behind UEFI development, also the reason we are still stuck with FAT32 ESPs - the only file system ESPs are required to support by the standard with everything else optional).
Windows never touched the main EFI entry in my cases
In the end positive anecdotal experiences don’t matter much. If a relevant fraction of users has issues that should not exist when installing Linux (and that obviously don’t exist with Windows because here OEMs actually do proper testing here… or it’s Windows/Microsoft itself causing the issues (pre-installed key, fast boot shenanigans, hardware that should be supported but randomly isn’t etc.)) that’s helping to prevent a lot of people from trying it in the first place. And that’s by design.
-
Microsoft’s boot killing shenanigans convinced me to just scrub the taint of 11 off this time.
Dual booting us viable, if you’re curious its good to try linux via dual boot. Windows doesnt break the linux bootloader. The incident referencing was a bug I believe. I know plenty of people who’ve been dual booting for 2+ years keeping both OSs up to date with no issue.
I have had Windows update completely obliterate my Linux partitions at least twice.
Do you remember if its happened in the past 2 years? A patch windows put out in 2024 is supposed to fix this.
No, I jist run straight Linux (Laptop) or straight Windows (Desktop) now. I don’t have a need to dual boot anymore.
If I didn’t play Fortnite so much I wouldn’t run Windows at all honestly.
That wasn’t “an incident.” The notion of Windows breaking Linux’s bootloader has been a known thing for at least a decade.
Still it’s a really good idea to keep a rescue USB drive handy, for when windows decides to update it’s boot loader and blitzes your setup
I’ve had windows nuke my bootloader at least thrice. Stopped dual booting a few years ago so I’m free of that nonsense.
I believe dual boot is more feasible when you have more than one drive, so you don’t risk corrupting it. Another option to test a Linux distribution would be using virtual machines
If you’re just testing a distro, then a live-bootable USB is also a great option.
I have had it break my bootloader when I was dual booting, if it wasn’t my main pc then I might risk it but I’m not rolling the dice on if windows decides to break it again.
My laptop only has one m.2 ssd/slot. I have the ssd partitioned for Linux and windows 11 dual boot. Grub boot loader. I have had it set up this way for 4 years now, and no windows updates have messed up by Linux install or boot loader yet 🤞
I love Linux, but damn unless you use Amd video cards. It’s a hard sell, especially if you’re a gamer. Not to mention, how often games break because they’re designed for windows. So dual boot is reasonable, in my opinion.
It used to be much, much worse. While some people still struggle a little with Nvidia on Linux, it seems perfectly usable in most distros and games by now.
Why? I have an nvidia card and haven’t noticed any major issues. It hasn’t even bricked the system on a driver update in years now.
I wasn’t talking about bricked systems, just the games themselves have issues and glitches. Especially with Nvidia. Not all games mind you. Plus the performance tax on Nvidia with Linux.
When running the games through Proton I never had issues because of Nvidia.
I have issues because of Nvidia, but none are related to gaming.
If you have the newest propertary drivers it should work just fine.
It’s actually the opposite if you’re trying to use your GPU for compute tasks, though.
Having tried both, nvidia GPU compute just worked, right out of the box, as soon as I installed the nvidia drivers. With AMD, though, I could never get GPU compute working, despite months of screwing around with it, trying different drivers from different sources, trying different methods to install them, trying different configurations – nothing could get GPU compute to work. And … that’s kind of a problem when I want to use software like Davinci Resolve, which requires GPU compute to run.
Which is a perfect argument for dual boot scenarios. Which unfortunately are necessary for optimal use.
With an nvidia GPU, I’m using Davinci Resolve just fine on Linux, no need for Windows at all.
The argument for dual boot is mostly for gaming, as far as compute is concerned your AMD graphics card would have been fine on Ubuntu or an RHEL/CentOS operating system. But honestly in my experience, it’s always good to dual boot just in case. There are many scenarios where it saves you headaches and precious time.
as far as compute is concerned your AMD graphics card would have been fine on Ubuntu
I was on Ubuntu. And it was not fine.
I’ve been on Nobara for a year or so now with my nvidia 4090. I can’t think of a game that I couldn’t get running that wasn’t related to the anti-cheat or VR. I had a hankering for Mass Effect 3 multiplayer. Getting the EA play app going through Lutris worked but was not consistently great at launching. ProtonDB said it ran fine through Steam so I ended up buying it last sale for $5 and it does run fine that way. Helldivers 2 has a single pixel white boarder around the window but otherwise it runs fine. Heck even Ultima Online works (and Outlands!) I’ve been gaming on Windows PCs for 30 years. It’s pretty close if not the same performance to me.
Man you people never learn do you. Linux isn’t secure from what windows is doing.
Linux isn’t there yet.
How do I know? because I JUST tried to move over to linux.
First I tried Zorin OS, and TBH it pretty much worked right out of the box.
BUT!
My monitor would only go up to 120hz Refresh rate, even though it can do 144hz natively. And games that are supposed to work on Linux (Arma 3) did not work no matter what I did. And forget about VR.
So I tried Arch.
And Jesus Christ…
Zorin was as easy to install as windows.
ARCH is actively trying to stop you from installing it.
So I did what most people do and youtube’d how to install Arch and oh my god, I encountered the living embodiment of the “Linux user meme” so hard when I did that.
But I finally was sort of able to get it up and running. Of course there are no list of packages that you will need for the smooth operating of Arch. Like I dunno, how about a file manager?
So I said fuck it and was going to try to install steamOS. but I fucked up formatting the drives and USB drive.
Fortunately, I had an old windows installer kicking around and finally able to get windows re-installed.
So my opinion for now is simply “Not ready for prime time… yet.”
But when it does maybe I will give it another try.
Why would you go from thing not working to Arch? Arch is about setting stuff manually up.
I’m sorry your delightful parody of failed install went over their heads, please continue posting your eccentric new-to-linux word art
I’ve used Ubuntu for years and it’s easy to install and widely supports all the things I need. Bazzite is also a great option. I’ve never been interested in Arch and SteamOS just came out for desktop so I’d rather not be an early adopter when Bazzite is already ironed out and waiting to be installed.
Love steamOS on my deck, but see no use for it on my Desktop atm.
Windows 11 is actually spyware garbage and I won’t have it in my house.
I’ll probably get around to dual booting Zorin. except I’ll be using Linux for productivity and windows for gaming.
I don’t see a reason to use Windows for gaming if you don’t play games with anticheat. I have a 9070XT so it just works with Linux. Left Nvidia and Linux is much happier.
I have a 7900XTX and don’t like the fact that there is no software support. Only drivers. Plus you get worse framerates than on windows.
dual booting just makes things more difficult. windows likes to silently change things in the bios and on disk drives it manages, basically pulling the rug out from under linux. you can mitigate it by making linux aware of the fact but that’s not the default behaviour, because again dual booting isn’t really recommended.
On the other hand, I set up a dual boot with 1 of my 4 ssds being available to both OS just in case. That was 8 or so months ago, and I haven’t booted into Windows 10 once since then.
My 165hz monitors are fine at 165, and that was without any config (NobaraOS). All the games I actively play work fine, and the closest thing to an issue is have is my H.O.T.A.S. registering only 12 or so buttons/switches instead of the much larger amount it has, but i haven’t put any effort into figuring it out because I only use it for one game.
Experiences vary, but I feel like you’re judging a whole platform from choosing a simple Windows replacement then switching to one of the harder OS’s to setup.
There’s plenty designed more for gaming which seems to be your monitor setup.
Windows isn’t there either. We’re just used to it.
And my impression is that they currently rather make things worse rather than better.
Skill issue. Everything works for me. I use Arch btw
^^^This is the other “Linux user meme” More than happy to tear someone down and not offer help.
If I do go back it, will be back to Zorin. very simple installation, and everything worked. For example, on Zorin, my bluetooth would connect to my headphones just fine. On Arch, they saw my headphones, but refused to connect. I tried a few fixes I found online but just gave up and went wired.
It’s not like Zorin is easy to install because the devs made their own simple installer. Almost every modern linux distribution ships with one of two or three prebuilt installer tools, with very few exceptions (one being arch, though if I recall correctly even arch has an option to use an installer)
You will most likely have the same or a very similar experience installing mint or bazzite or endevour or whatever else you choose.
Havent tried out zorinOS but so far i never hat problems running games under Linux : steam + proton experimental just makes it as easy AS downloading via steam and hitting the play button - literally die nothing else (have used Linux mint first now Debian - Debian required a bit oft fiddeling for steam but not with individual games)
arma is an annoying one because it’s a bespoke engine with a lot of deep windows integration, coming from the fact that parts of it is from 1995. add online multiplayer anticheat to that and it gets even more difficult.
that said, i got it running on linux in like… 2019, so i would have thought it to be easier now.
First I tried Zorin OS, and TBH it pretty much worked right out of the box.
BUT!
My monitor would only go up to 120hz Refresh rate, even though it can do 144hz natively.
Is 22hz of refresh rate really that much of a dealbreaker?
Yeah, god forbid I get everything I paid for…
2 separate bootloader partitions. Grub launches the windows bootloader on a different partition so it isn’t aware of anything other than itself. Then the 2nd bootloader actually launches windows. Don’t try to share one partition or else windows will inevitably wind up clobbering the Linux loader.
Windows will know, its lik a cancer
This is the way. I just discovered this, but the lazy way. If I want windows, I mash f8 on startup to get the manual boot selection. I never start windows through grub (systemd-boot in my case). It has its own EFI partition.
Grub refers to this as chainloading and I did it years ago successfully (though with windows 10). Everything has to be EFI boot so grub can see the windows bootloader.
Then Windows will fuck up the EFI entry itself. Easy to fix of course but a pain in the ass when you are just starting with Linux and have barely any idea other than reinstalling for the 10th time in a few weeks.
This assumes windows is not maliciously checking for other bootloaders in order to fuck with them, which I’m not willing to give MS the benefit of the doubt on tbh.
It does work.
If you have two EFI partitions, Windows will stop looking once it finds the first one.
Which is actually a problem sometimes, as it will stop looking and use the first one it finds, even if it’s on different drive than windows.
Imagine installing windows on a machine with two drives. Drive A already has an OS and an EFI partition, so you install Windows to drive B.
Except Windows will still go ahead and drop the bootloader onto drive A. Potentially breaking the OS that’s there, plus setting up Windows in such a way that it requires drive A to boot. EVEN THOUGH THAT ISN’T WHERE YOU INSTALLED IT.
This is why guides tell you to install windows with only one drive connected. It’s the only way to ensure it puts the bootloader and OS on the same drive.
Windows does stupid things with boot because it’s apparently alone in the world.
Like this NTFS lock up thing because it’s not really shutting down anymore but going into hibernate.
I had to change that setting but other than that dual boot works. Just realized that’s still win 10 on this machine. When that runs out time for fresh Linux only install.
Been dualbooting for years, no problem thus far.















