What to know before Dual Booting Windows + Linux?

Otter@lemmy.ca to Linux@lemmy.ml – 86 points –

I'm looking to finally use Linux properly and I'm planning to dual boot my laptop. There's enough storage to go around, and while I'm comfortable messing around I'd rather not have to run and buy a new device before school while fixing my current one.

https://m.youtube.com/watch?v=VaIgbTOvAd0

This was the general guide I was planning to follow, just with KDE Plasma (or another KDE). I was going to keep windows the default, and boot into Linux as needed when I had time to learn and practice.

I assume it should be the near similar process for KDE Plasma?

I'm ok with things going wrong with the Linux install, but I'd like to keep the Windows install as safe as possible.

94

Always install Windows first then Linux in dualboot, otherwise microsoft messes with your boot area. Have a separate boot partition for Linux and some distros have foreign OS probe and will auto setup your grub menu to chainload to windows. This stops Windiws messing with your Linux boot partition since it has no clue it exists

If your laptop has room for a second drive, it's easiest to put Linux on its own drive.

Unfortunately there's just the one slot. I'm going to keep that in mind for future purchases

So then if the drive is big enough, use the shitty windows partition manager and shrink the windows partition, leaving as much space as you want for Linux.

Also you can try Linux on a Live ISO or even install it on a USB stick, but with UEFI thats a pain.

Ventoy on a fast usb stick or better a nvme case (cheap one + 256Gb is easily sub $100 and who can't use screaming fast external storage) via a usb3+ port is pretty godlike and really convenient.

But ventoy is not persistent right?

The specific ISO/distros can be (relatively) easily made persistent if they're built with that in mind, there's a list of choices in that link. I have a custom Arch ISO on mine that was a doddle to enable persitence on...

This is good advice, I recently first tried a Linux install on a partition of a large HDD just to tinker, then pretty much immediately bought a secondary SSD and re-did all the setup there.

I'm already a convert btw! My windows partition hasn't been fired up in weeks now.

Windows and Linux keeps track of time differently. One stores the time in your current time zone. The other stores the GMT time and adds an offset. I forget which one does what but it results in your time being wrong each time you switch from Linux to Windows or vice versa. You can search for how to fix it, its not very hard, or you can just ignore it and reset your clock each time you switch OS.

I don't think that's the case anymore.

I just checked, the time in the UEFI BIOS is in UTC, yet both Linux and Windows 10 display the local time correctly as an offset to UTC. I didn't have to do anything special for that.

Edit:

So I looked a bit deeper into it, and this is apparently controlled by a registry key called RealTimeIsUniversal in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]. You can paste the text below in a .reg file and then import it to set the parameter:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

I confirmed that this setting exists on my system, but I have no memory of ever manually setting this parameter. It's documented in the Arch wiki though, so it's possible that I did set it and forgot about it.

In any case, if you do a fresh Windows install and your time differs between Linux and Windows , this is what you should check.

It is with Windows 10 and Mint. I booted into Mint a few days ago, and when I switched back to Windows, the time was wrong.

Apparently it's easy to fix, but I keep forgetting while I'm in Mint >.<

You can also fix it by running the following command on your Linux machine:

timedatectl set-local-rtc 1 --adjust-system-clock

You could but this as an autostart script:

cat > ~/.config/autostart/adjust-time &lt;

This is easily fix, especially at install, when I install Linux, I click on "keep hardware clock in local time" or something.

I would now say never on the same disk. A shame because many laptops only have one slot. But Windows 11 may do anything and you never know what happens after a "Windows update"

Twice after a windows update I lost my bootloader menu and my laptop would boot straight into Windows. After the second time I just removed Windows. Some investigation revealed that "Windows does not support dual booting" which I believe translates to "we will ocationally cause issues that a beginner would struggle to fix in the hopes of them staying on Windows." Just a theory. Separate drives for sure if you can. No idea if they still do this as it's been years since I dual booted

They still do it (at least they did a couple months ago) and Windows even likes to erase or replace linux bootloaders when on separate drive in my experience.

Annoyed me enough to remove Windows too. I'll never install that anywhere again

Yes its horrible. This may happen during their weird updates.

Interestingly you can swap drives Windows 11 and Fedora, it does "repair" bullshit at the beginning but works.

If you never update windows (which is so horrible that you actually need to consider that) you can first install it, shrink it and install Linux.

I've seen people talk about Windows messing up the Linux install. Have there been cases where the windows install itself was messed up after an update (or is it straight up "you never know" and anything can happen)

I only have one slot, and I'd prefer to not have to carry around a USB or external drive if I can avoid it. I'm ok with having to redo the Linux install/setup, and it might be nice practice anyway. But I definitely need to have windows running and stable for schoolwork.

When I was using windows 10 + linux mint for over the 2 years I never got a boot problem from windows update. You just need a separate EFI partition for linux boot loader.

My Partitions: Windows boot C: D: Windows recovery or some other crap Linux EFI for grub / (Root directory) Swap

I don't bother with separate /home because I never know how much I will fill up my disk

So for me USB sticks dont even work on Secureboot, so you need to disable that.

Then you can shrink your windows partition and install Fedora or something in the rest. Only use the unallocated space.

I actually removed the windows Bootloader manually, the IT simply removed the Linux bootloader instead, lol.

I've never had an issue, outside of bios updates (see last paragraph). I've even booted into windows after hibernating in linux (but not the other way around, since I don't let windows hibernate; not saying you can't, just that I don't), and everything was fine when i got back. I use a swap partition for hibernating, in case you're curious.

I do try to make sure I'm watching when it reboots after a windows update (because linux is my default, so i have to select windows from the boot loader) just in case, but i've also fucked that up a time or two with no ill effects.

My one piece of advice is: once you get it working, take a picture of your bios settings. You may have to fix some settinga after bios updates, as they can get set back to the default values. I did not do this, and while it led to a very confusing afternoon due to my inexperience, it would have been a non-issue if I'd have taken some pictures and known to look at them.

Boot with a live USB image first. Check and see if everything is working. Don't be married to the first Linux distro you try.

That's fair, I'll take some time to explore them :)

On the other hand, try not to get into distro hopping hell

This is really the best advice. Dual boot via USB. Once something clicks, then look at dual booting.

USB boot is the second most fun way to learn Linux. Esp with high speed 40Gbs flash, there isn’t a ton of reason not to.

However backing up then trashing your windows environment will really teach one — it is a commitment!! But the learning will defn happen, there is no turning back after the windows partition gets scratched and GRUB enters the scene.

“Monitor scan line cfg don’t fail me now!”

“Interesting, mobo WiFi is MIA. Where did that 20’ Ethernet cable go?”

“Audio device not found. Okkkkkl”

Just incase you're unaware, if you're looking to learn Linux but keep the windows until you're familiar enough with Linux, there is a way to install Linux in windows as a container, it's called WSL 2.0

Might be easier for you to learn with, and if you brick it then you can just wipe the container and start again, takes minutes to do

I don't recommend wsl because it bodges the worst part of windows (windows terminal) onto linux. Also, it's much nicer to learn in a vm where you are learning actual linux, instead of MS' interpretation of linux.

It's like playing with clay in a bag, versus playing with clay with your bare hands.

First the powershell is a very good terminal and some even consider it better than bash. And if you're talking about the actual terminal emulator it also became really good with the new windows terminal(which is also open source) it bas many good features and customization options. Also wsl2 IS a VM running on hyper-v. It simply uses a custom kernel optimised for it and the cherry on top of the sunday : you can run gui apps natively (windows 11) with WSLg which uses wayland/xwayland

Power shell is ass because of its policy enforcement & its pseudo lisp / completely foreign grammar.

What good is a script that doesn’t run it’s alien commands?

Wsl is truly awful.

Why msft couldn’t have adopted bash and python, we will never know.

This is probably better than dual booting. You're learning the command line, which is the happiness foundation needed to enjoy linux.*

And then you are ready to install Ubuntu and use Snaps... I dont know. Yes its useful but for me the use of the command line comes with time.

WSL 2.0

I appreciate this, I've had WSL for a little while now. It did take some getting used to and I think I'm ready to give it a try for real now

Windows likes to fuck with your Linux boot loader after every feature update!

I haven’t had this happen in years, maybe it’s my config? I’m using GPT on a UEFI system (in UEFI mode), with systemd-boot.

I do remember having tons of issues back when I was using grub on an MBR system using legacy bios emulation.

None of my computers had Windows in years so I can't really tell you but that sounds plausible to me

Only thing keeping on my disk is fusion360, so annoying to have to deal with booting into windows just to use a single piece of software.

I did this, and now I would say 'is it really worth it?'

After a while of dual booting I realised I was never using Windows, I was only using it originally for playing Oblivion.

It's probably good experience though, and you will learn a bit about GRUB.

I would argue instead, identify which applications you need Windows for, and then determine what is required to run those on Linux or find alternatives. And then just make the switch.

Linux is kinda simple. Everything is a file.

I went about it the other way around. I switched to linux because I was tired of windows and found alternatives to the software I was used to along the way.

The video missed one small, but very important thing: You need to disable fast boot in windows before mounting your windows partition in linux, otherwise it will get corrupted.

The reason for that is that windows doesn't actually shut down if you tell it to by default and it leaves the drive in a dirty state. Windows itself can pick that back up and boot off of it, but linux won't detect it. If you leave fast boot on, windows will run chkdsk on the next boot after using linux.

I found that out the hard way and got to not use my computer while it ran chkdsk on my 4TB HDD. It took 15 hours.

Install windows 1st, Linux 2nd. Generally speaking Linux installers won't mess up a windows install, however most of the time the windows installer WILL mess up a Linux install.

Don't think of Linux the same way as windows, think of it as desktop android. Do not download applications from the browser, unless they're not available literally anywhere else, use the app center instead. Use a popular distro (Ubuntu/Ubuntu variant, fedora, etc...).

Use Wayland.

The simplest and the most windows like in looks distro would be Linux mint, it's probably better than trying Ubuntu or other distros for your first experience with Linux.

If you want a challenge then go for it but just letting you know it's better start off with a few wins under your belt then getting freaked out by complex systems like fedora made for advanced users.

tbh I like mint, but for people that want to learn linux I think ubuntu is better.

There's more people using it, so you get better support, and there's other flavpurs available so things like kde and xfce are supported well right out the box

In that case you'd be better off installing and learning Debian. It's what Linux Mint and Ubuntu are based on, as well as many other distros such as Knoppix, Raspberry Pi OS, Kali, and many more. What you learn about Debian will be transferable to many other systems.

I don't think debian is good for first time users because:

  • the downloads page 🗿
  • sudo isn't setup out of the box
  • most guides refer to ubuntu 20.04/22.04

Some day you may find your machine booting into linux without displaying a grub menu. You were promised a menu giving you boot options. Where is it? The problem may be your grub timeout is 0. Set the timeout in /etc/default/grub and then run update-grub. See section 6.1 of the info grub manual.

In the same config file, you can also re-enable the "OS Prober" setting, which was turned off in some distros by default, which can also cause windows to not be displayed.

I'm not sure which distros have overridden this option to being back on by default on new installs, since AFAIK it was changed upstream.

Have a think about how you want to arrange your data. While you can access windows partitions and files under Linux (and vise versa), it's better not to be constantly be mounting your windows C drive from another OS. Plus, if you're mid-update, or had to restart suddenly, windows will happily mark your drive as read-only.

I use 4 partitions for a dual boot. Sizes are based on a 1TB drive.

  • Windows C (100GB or so, OS drive). Only mounted by Linux if I have a big problem.
  • Windows D (NTFS formatted, my main storage partition. Mounted all the time by Linux. 700GB or so)
  • Linux root (50GB or so, EX4 formatted)
  • Linux storage (remaining space, EX4 formatted used for big programs, games, home folder)

This way, Windows OS is separate, main storage is accessible to both without tripping over permissions, linux root drive is separate from storage so reinstalling isn't so painful if something goes very wrong.

This is probably some of the best advice here. Keep the drives (if possible, if not partitions) each OS is on separate from the other. Have a 3rd drive (or partition) as the bulk of your storage that both can see and use.

I'd also suggest reversing your plan of mainly using windows and hopping to linix when you want to and make it Linux default and windows when you have to. You'll learn more immersing yourself in Linux that way, and you'll find whatever issues or software that force you back to windows (if any). The other way around you'll feel that Linux doesn't do anything you need it to and likely spend very little time in it at all. Habits are hard to change.

Turn off secure boot and just check if anyone has ever run your device with linux before. And kde plasma is a de not a distro.

You can leave on secure boot nowadays if you install and configure the sbctl package. It can use the Windows secure boot method, and you'll have a successful dual boot deployment.

Do I need to turn it off initially and re-enable it after?

I'm a little unsure of when secure boot becomes a problem

For a distribution like Fedora, it's usually not required to turn off secure boot. You'll know if it's needed when booting the install USB, as it'll give a "security policy" (or similar) warning.

Other things of note when dual booting are Windows "Fast Boot" and "Hibernation" features, which can put hardware in a state where it is unusable from Linux. Turning those off in Windows can fix things like your network interface not working. Windows also stores the time in a different way than Linux, if you are in a non-utc timezone, setting up NTP (automatically syncing date and time) on both Windows and Linux can help.

For me this didnt do anything. You need to reboot, and when the screen is black, force kill by pressing the power button. Lol Windows.

There also is a specific shutdown command with some parameters to force that. You can create a .bat file on your Desktop and use that to really shutdown your PC.

This is solid advice.

Only thing I would add is if you use a different OS that doesn't support secure boot during install, go ahead and disable it. After you install linux, then go through the sbctl setup, and it'll tell you when you should re-enable secure boot.

Thats what I thought. Secure boot normally needs a distro signed by damn Microsoft. This only applies for official Ubuntu spins and Fedora. Maybe some others. But the distro can create its own secureboot entry once running, and then you can enable it again.

kde plasma is a de not a distro

Whoops, I think what I meant was Kubuntu. I've been watching videos on what each thing is like and after many "GNOME vs. KDE Plasma", that's all I remember

edit: either that or Manjaro. Was going to try one while keeping the other in mind for when I eventually decide to start all over again

Please avoid Manjaro. I’ve had my Manjaro install break more than any other distro. If you want something arch based, you’re better off installing Arch from scratch, using the arch install script, or using EndeavorOS. All three of these options use the normal arch repositories which are far more stable than the Manjaro ones, and also offer much better compatibility with the AUR

Oh intersting, ok good to know!

Jumping in to parrot the arch install script advice. It's easy, has a fair amount of flexibility, and gives you a rock solid base to build on.

One other thing to mention once you've grown comfortable is looking into systemd-boot. I got fed up with dual boot issues and moving away from grub solved for them.

Best of luck.

Yeah, definitely would avoid. I've had to reinstall twice on desktop, twice on mobile due to update breakage. Mint is a great starting point. Kubuntu if you don't mind snaps and like KDE.

Whatever you do, don't cross the streams!

Backup all your personal data on windows prior to attempting anything. On a separate disk and cloud if possible. For cloud backups, just pick the important stuff. No need to backup steam libraries since steam servers are the backup in this case.

Like others have said, if you can use a separate disk, do that. If you can't do that and you just want to try out Linux, use a USB live disk to test hardware compatibility and the user experience, or if you have an old laptop or desktop that isn't being used, load Linux on that first.

Pick a popular distro for better community support. If you have a recently released laptop (less than a year old) might want to pick a distro with newer kernel for better hardware support. My personal recommendations are Pop!_OS, Fedora (both gnome and KDE versions). Both work well on newer hardware. Others you might want to try are Linux Mint and Ubuntu.

After getting Linux installed, try and keep your home partition backed up, especially if Windows is on the same disk.

Try and use Flatpak for all your apps, flathub is the web "store" for Flatpak apps.

Be open to trying the Linux alternative to apps since the windows version might not be available.

This is a new OS so expecting things to work a certain way isn't realistic.

Most of the time a GUI is available for what you need to do, but learning the terminal is super helpful and a lot of people prefer it once they make the switch.

When searching online, try to include your distro and its version. It will help narrow down results.

If you're gaming, check ProtonDB for game compatibility, and be willing to tinker a bit.

If you do have Nvidia graphics, Pop!_OS and other distros that bake the drivers into the disk image or install process are better for beginners.

Opinion portion: Firefox is a better holistic choice over chromium based browsers (see Google's web environment integrity aka DRM for the web). KDE is a great desktop for people who like the Windows workflow, but I prefer Gnome. Nvidia graphics are much less problematic these days, but I still prefer amd and Intel hardware.

Life is hard; everyone is doing their best; be hard on problems and soft on people.

Good luck ;)

Keep your Linux partition backed up! Windows update deleted my EXT4 partition and all Linux data on my laptop. (No, it wasn't a Grub problem, the partition was gone.) There are reports this Microsoft BS going back years.

First, if you have only one HD, you'll have to shrink your windows partition. You'll have maybe 4 partitions already on your disk, a 100MB fat one for EFI, a 16MB one unformatted, a few GB recovery one, and a big one with windows on it, you may have more. Booting on a linux USB stick or with the gparted ISO, you'll need to shrink your windows partition and let whatever the size you want, say 100GB, for your future linux, free.

You need to disable secure boot in your bios.

When installing linux, it will ask you for custom partitioning (it's your first install, play with it, if you don't like your partitions, want or not a swap, etc, you'll redo it later!). Create a 20GB partition for / the root, create the remaining (e.g. 80GB) for your /home, these are the mount point that the installer ask in the custom partitioning screen. You will need to select the 100MB EFI partition as EFI/ESP mount point and keep it like this, no formatting for this one, just select it. Continue install, it will ask if you want to install GRUB, say yes, on ESP/EFI.

You may need to go in your BIOS and have to change the boot option to properly boot in EFI/GRUB. On my PC the BIOS boot option can bypass EFI and directly boot windows partition so I never had GRUB appearing.

Install windows as usual. And then install your Linux distro. Quite alot of them give you the option to easily install alongside windows

Unless you have a reason to keep Windows, for example some software you depend on that doesn't run under Linux, just get rid of windows. There's no real reason to keep it around if you don't need it for a particular reason.

It's hard to predict when a course will require some software that's windows only. Either that or support (from TAs and profs) will be specific to Mac & Windows.

Thought a good compromise might be to keep it

Since he's asking he probably has a reason.

The reason is most likely the same as it was for most Linux newcomers. They've used Windows for a long time, and aren't to the point where they are comfortable enough to cut Windows off entirely.

Keep the boot sectors for Linux and Windows separate. Windows loves to fubar the Linux boot instructions during update. They somehow still manage to break the Linux boot section even when it's on its own isolated sector, but it happens a lot less frequently.

AFAIK you can't use drive encryption when dual-booting on the same HDD.

If you use two drives, I'd highly recommend getting two different models of SSD because after around kernel version 5.18, the kernel will reject one of the "duplicates". Was a huge source of frustration when I started, and I had to use Mint for a while before finding out the problem (I'm on Arch now btw)

2 more...