Dual boot desktop

Hello everyone!

First time posting here. I am making the switch to Linux as my daily driver tomorrow. I am setting up my computer with a 3Tb Corsair M.2 ssd as the primary storage with Ubuntu loaded and a second 1Tb Samsung M.2 ssd with Windows 10 for anything that doesn’t run on Linux. I am a student at my local college studying for my BAS in Cybersecurity and System Admin. I know that Linux will be be my future professionally and personally but I am worried about compatibility with school programs so I would like to retain Windows for the near future until I am more comfortable going totally Linux.

What steps do I or should I take to make sure that the system build turns out great. I understand that sometimes in dualboot systems that the different OS’s can break each other.

My plan was to install Ubuntu with only the 3Tb ssd inserted. Take it out. Install the 1Tb ssd. Install Windows. Re-insert the 3Tb ssd and set it as the primary boot drive in BIOS and everything should be good to go.

If anyone has any experience with a setup like this and has some advice I welcome your input.

Thanks in advance for the help guys!

System Build Parts List:

Ryzen 5 3600x
MSI X370
MSI Radeon 5700
Team T-Force Vulcan 32gb RAM
Corsair Force MP600 M.2 2280 2TB
Samsung 1TB M.2
EVGA 650w Gold+ PSU
Fractal Design Focus G Black Case

Personally I would recommended installing windows first. Then install Ubuntu on your M.2, and set it as the boot drive.

This way you can use the grub bootloader to switch between the 2 OS’s easily. Installing Windows after Ubuntu would still work fine. But will require some further steps, so may as well make it easy on yourself :smiley:

Also consider running Windows in a QEMU/KVM virtual machine. It’s much nicer/more efficient than having to keep rebooting. Plus it’s a really cool project if you want to learn something.

1 Like

The only thing keeping me from doing a VM is games. This will be the first time I have had decent computer in years and I want to play some games again :smile:

What makes installing windows first vs ubuntu easier? Is it just the GRUB compatability?

I would recommend against using grub for controlling what boots. Completely isolate each install, as you mentioned and then use your UEFI boot menu, instead.

You can game in a VM. Have a look at VFIO PCI passthrough. With this you could assign your 5700 to the Windows VM. And use a discrete GPU to run Linux. Only downside is if you want to do GPU intensive things in Linux, you can’t use the 5700 while it’s setup to be passed to the Windows VM.

I would highly recommend this method. Do the reading and see if it’s a good option for you.

It will detect Windows at the point of install. If you install Windows after Ubtuntu you will have to configure grub to detect Windows. It’s easy to do, just easier to install Ubuntu last unless you have a reason not to.

What’s your reasoning? Just personal preference?

That’s what I did linux first in boot order, used grub to boog into windows. If grub ever screws up, just use your uefi/bios to boot into windows

What is your argument against GRUB? I don’t have any experience with it so I will have to do some reading on it.

So build project is on hold until tomorrow. I ordered a X370 chip set MoBo and didn’t realize that it needed to be flashed to the latest BIOS which I can’t do because I don’t have access to a gen1-gen2 Ryzen CPU to install on the board to get it updated. I called every repair shop in my area and no one had a Ryzen on hand to do the flash. I overnighted a ASUS AMD AM4 ROG Strix X570-E MoBo to install and “should” be out of the box compatible with Gen3 Ryzen.

Hopefully better luck tomorrow.

Reliability, mostly, Any issue with your grub disk will prevent you from booting any OS which may be installed on a different disk. I have an Icy Dock and several SSD’s with various OS’s installed. I swap these SSD’s in and out based on the task at hand. I have found that using the UEFI to select the boot disk is more reliable and less fiddly.

Obviously, all of my Linux SSD’s use grub, but these grub installs only know about OS which is installed on their specific disk.

I have no argument against grub. I use it to boot my various Linux installs. I’m just a proponent of having all of my disks self-contained. For reliability and convenience, I don’t want to rely on one disk to boot another disk, especially when UEFI is so reliable at performing this task.

I can take any of my Linux SSD’s and install it in another machine and it just boots, because all of my disks have their own specific grub install.

Perhaps an example would help?
If I have W10, Fedora and Manjaro installed on disks 1, 2 and 3, respectively, with grub installed on the Fedora disk, what happens if I decide to move the Manjaro disk to another machine? What happens if I install the latest release of Fedora and it crashes and burns? What happens if disk 2 has a mechanical failure. What happens if W10 decides to overwrite grub? If each individual disk has its own bootloader and UEFI is used to select the boot disk, an issue with one disk will not typically prevent me from booting a different disk, plus I have greater flexibility to move disks around from machine to machine, with a minimum of hassle.

Hello,
It sounds like you have a fairly new system and I assume that you have USB 3 or better yet USB 3.1 gen 2 ports. I have run dual boot systems since 1999, back then Grub did not exist and most used LILO as the boot loader. As time passed I began having issues with running dual boot with Linux installed on an internal HD. The issue was not with Linux but with Microsuck. I cannot remember when but it was at lest back when Windows 7 was used that a lot of the time when Windows pushed out an update it would over write the Grub file. Sometimes I wound up with an unbootable system and at others it would only boot into Windows. I discovered a very interesting thing about Linux quite by accident. I had an older Toshiba laptop that could not run Windows 7 due to hardware limitations so I installed Ubuntu on it so I could still use it safely online. Eventually the laptop died and I pulled out the HD before discarding the laptop. Later I installed this HD into an external USB 2 enclosure so I could pull some files off of it. I plugged it into my new desktop but at the time I was running Windows and of course it did not even see the HD because it was was not using a Microsuck file system. So I rebooted the PC with the intention of selecting my current Linux install at the Grub boot menu. When the system powered up I was not paying attention I think I went to get a cup of coffee. When I got back to the PC I was rather confused because the desktop was Ubuntu not the Linux I had installed in the new PC. I had my system BIOS configured to boot from USB first and it had no issues running the Ubuntu install off of the external HD because when Linux was installed it was the only OS and Grub was put on the root of the HD. I then did an experiment, I had just built a new mITX system that I had not installed any OS yet. I installed an SSD and installed Windows 10 Pro on it. Once it was done and I had rebooted to make sure that it worked correctly I then turned off the PC and to be safe I removed the SSD. I had another SSD installed into a USB 3 enclosure and I plugged this drive into a USB 3 port and in another USB 3 port I plugged in a USB 3 pen drive that had a live Linux installer. I turned on the PC and it did not care that there was no internal HD it simply booted into the Live Linux, I think it was Linux Mint. Once it was up and running I did the install to HD option and the only HD it could see was the SSD in the USB 3 enclosure and I selected the option to use the entire HD, the installer then asked me where I wanted Grub installed, well I cannot remember if it asked this time because since it was the only HD it just put Grub on the root sector of that drive. I have done some later installs where I did not remove the Windows SSD this is when it asked where Grub should be installed. You want Grub to be put on the external HD. I then powered the PC off and reinstalled the Windows SSD and of course it booted right into Windows with out any issues because nothing had been changed, Grub was not even on the Windows SSD. I then plugged in the new Linux install into a USB port and rebooted and it loaded right into Linux. When you are in Linux you can then simply mount the internal SSD that has Windows on it to have access to your data.

Once I discovered this I have not use traditional dual booting methods due to the random issues that sometimes are caused by Microsuck being AHoles and screwing with Grub. I just do an install of Linux on an external HD, when you want to dual boot you still have to reboot so if I just want to use Windows I simply do not plug in the Linux drive and I use the system normally. Here is another trick you can do to greatly speed up things when running Linux, this only works if you are using a laptop or desktop that can have more than one HD installed internally. I have an older Dell Precision M6800 laptop that I have 3 internal HDs. you can use 2 standard 2.5" form factor hard drives and it also has an mSATA port. Currently I have 2 one TB 2.5" ssd’s installed one of which has Windows installed and the other one is a data drive. I also bought a 1TB mSATA drive and configured it with 2 partitions, one is 32GBs formatted as SWAP and the remainder of the HD is set up the as the HOME partition. The USB 3 drive is also a 1TB SSD that is configured with 2 partitions, approximately 1/4 is for Linux and the 2nd partition is formatted as NTFS and is used for data. The reason I set it up this way is the actual Linux OS does not really require that much space the bulk of space is needed for everything that goes into HOME. Since I still use Windows all of my data drives are formatted using NTFS because both OSs can read and write to NTFS but Windowzzzzz is so stupid that it cannot even see any other file system other than FAT XFAT or NTFS. By having the Linux install spread out over two separate physical HDs depending on what you are doing your through put is greatly enhanced because one drive can be written to at the same time as the other hd is being read. This last hint is pretty much irrelevant for most people today because most today are just using web based email like Gmail but if you still use an email client on your desktop a good choice for dual booting between Windows and Linux is to use Thunderbird Mail. Set up Thunderbird on Windows first and then when you install Thunderbird on Linux you configure it to use the same profile that is on the Windows drive. Doing this is great because if you check email on Linux the new emails that get downloaded to your system are saved into the Windows profile so your email downloads are always in sync.
As a parting comment, if you choose to install Linux to an external HD the absolute safest way of doing it is to physically remove the HD or SSD that has Windows that way there is no way if you get confused or do not fully understand the Linux labeling used for HDs because it is not the same as what Windows does. If the Windows drive is not in the system there is no way that it can be over written by mistake.

I’ve had a very smooth experience with my dual-boot. I think I installed Windows first, then Linux, but it’s hard to remember. Now that I think about it, I’m pretty sure I clean-installed a distro or two over my existing Linux install without causing Windows problems.

I find GRUB to be a more pleasant way to pick a partition to boot from, but I can still use UEFI if I mash the F12 key. So even if I lose my Linux drive, I can still boot Windows just fine.

However, once in a while I’ll hear about people having really strange problems with their dual-boots. Like, used GRUB instead of UEFI and it broke one of the installs or something. All I can say to that is YMMV, but again, I’ve never had issues with my OSes sniping at each other.