Setup Guidance

Hi,

Sorry in advance for the long post, but just want a bit of guidance as to how you would set up my dual boot Linux Mint/Win10 system.

I’ve already got it working, but thought I would ask before getting too much further, in case it was recommended to set it up differently. I’ve been reading most of the Forum posts and saw a suggestion to have Linux and Win10 installed on the same drive with the other drive being just for data.

So, here’s what I’m working with and where I’m at:
My system Info: 2016 HP Pavillion Core i7-6500U 2.5GHz 16Gb RAM, NVidia GEFORCE
with 2 - 1 Tb drives

System:    Kernel: 5.4.0-90-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: Cinnamon 5.0.7 
           wm: muffin dm: LightDM Distro: Linux Mint 20.2 Uma base: Ubuntu 20.04 focal 
Machine:   Type: Laptop System: HP product: HP Pavilion Notebook v: Type1ProductConfigId 
           serial: <filter> Chassis: type: 10 serial: <filter> 
           Mobo: HP model: 80A4 v: 91.1E serial: <filter> UEFI: Insyde v: F.87 date: 02/26/2018 
Battery:   ID-1: BAT0 charge: 30.3 Wh condition: 30.3/30.3 Wh (100%) volts: 16.4/14.8 
           model: Hewlett-Packard Primary serial: <filter> status: Unknown 
CPU:       Topology: Dual Core model: Intel Core i7-6500U bits: 64 type: MT MCP arch: Skylake 
           rev: 3 L2 cache: 4096 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 20799 
           Speed: 2706 MHz min/max: 400/3100 MHz Core speeds (MHz): 1: 2703 2: 2711 3: 2753 
           4: 2709 
Graphics:  Device-1: Intel Skylake GT2 [HD Graphics 520] vendor: Hewlett-Packard driver: i915 
           v: kernel bus ID: 00:02.0 chip ID: 8086:1916 
           Device-2: NVIDIA GM108M [GeForce 940M] vendor: Hewlett-Packard driver: nvidia 
           v: 470.82.00 bus ID: 01:00.0 chip ID: 10de:1347 
           Display: x11 server: X.Org 1.20.11 driver: modesetting,nvidia 
           unloaded: fbdev,nouveau,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: NVIDIA GeForce 940M/PCIe/SSE2 v: 4.6.0 NVIDIA 470.82.00 
           direct render: Yes 
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: Hewlett-Packard driver: snd_hda_intel 
           v: kernel bus ID: 00:1f.3 chip ID: 8086:9d70 
           Sound Server: ALSA v: k5.4.0-90-generic 
Network:   Device-1: Intel Wireless 3165 driver: iwlwifi v: kernel port: 4000 bus ID: 03:00.0 
           chip ID: 8086:3165 
           IF: wlo1 state: up mac: <filter> 
           Device-2: Realtek RTL810xE PCI Express Fast Ethernet vendor: Hewlett-Packard 
           driver: r8169 v: kernel port: 3000 bus ID: 04:00.0 chip ID: 10ec:8136 
           IF: eno1 state: down mac: <filter> 
Drives:    Local Storage: total: 1.83 TiB used: 66.98 GiB (3.6%) 
           ID-1: /dev/mmcblk0 model: SD08G size: 7.46 GiB serial: <filter> 
           ID-2: /dev/sda vendor: Western Digital model: WD10JPVX-60JC3T0 size: 931.51 GiB 
           speed: 6.0 Gb/s serial: <filter> 
           ID-3: /dev/sdb vendor: Crucial model: CT1000MX500SSD1 size: 931.51 GiB speed: 6.0 Gb/s 
           serial: <filter> 
Partition: ID-1: / size: 17.71 GiB used: 14.81 GiB (83.6%) fs: ext4 dev: /dev/sda4 
USB:       Hub: 1-0:1 info: Full speed (or root) Hub ports: 12 rev: 2.0 chip ID: 1d6b:0002 
           Device-1: 1-1:2 info: YK 2.4G Wireless Device type: Mouse,Keyboard 
           driver: hid-generic,usbhid rev: 1.1 chip ID: 3938:1080 
           Device-2: 1-3:3 info: Realtek HP Truevision HD type: Video driver: uvcvideo rev: 2.0 
           chip ID: 0bda:57eb 
           Hub: 1-6:4 info: Genesys Logic 4-port hub ports: 4 rev: 2.1 chip ID: 05e3:0610 
           Device-3: 1-6.4:6 info: Genesys Logic microSD Card Reader type: Mass Storage 
           driver: usb-storage rev: 2.0 chip ID: 05e3:0751 
           Device-4: 1-7:5 info: Intel type: Bluetooth driver: btusb rev: 2.0 chip ID: 8087:0a2a 
           Hub: 2-0:1 info: Full speed (or root) Hub ports: 6 rev: 3.0 chip ID: 1d6b:0003 
           Hub: 2-3:2 info: Genesys Logic hub ports: 4 rev: 3.0 chip ID: 05e3:0616 
Sensors:   System Temperatures: cpu: 35.0 C mobo: N/A gpu: nvidia temp: 36 C 
           Fan Speeds (RPM): N/A 
Repos:     No active apt repos in: /etc/apt/sources.list 
           Active apt repos in: /etc/apt/sources.list.d/brave-browser-release.list 
           1: deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https: //brave-browser-apt-release.s3.brave.com/ stable main
           Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 
           1: deb http: //packages.linuxmint.com uma main upstream import backport
           2: deb http: //mirror.nodesdirect.com/ubuntu focal main restricted universe multiverse
           3: deb http: //mirror.nodesdirect.com/ubuntu focal-updates main restricted universe multiverse
           4: deb http: //mirror.nodesdirect.com/ubuntu focal-backports main restricted universe multiverse
           5: deb http: //security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
           6: deb http: //archive.canonical.com/ubuntu/ focal partner
           No active apt repos in: /etc/apt/sources.list.d/yannubuntu-boot-repair-focal.list 
Info:      Processes: 254 Uptime: 11h 15m Memory: 15.48 GiB used: 1.79 GiB (11.5%) Init: systemd 
           v: 245 runlevel: 5 Compilers: gcc: 9.3.0 alt: 9 Client: Unknown python3.8 client 
           inxi: 3.0.38 

The sda is a WD 1 Tb HDD and has my Linux installation.
The sdb is a Crucial 1 Tb SSD and has my Win10 installation.

Here is the GParted info on each drive:


Prior to installing Mint, I had the SSD as the sda with Win10 and had a 1Tb HDD as a clone drive to the SSD as a backup. The HDD is installed in a drive caddy in the DVD bay.

When I first started my install, I replaced the clone disk with another 1Tb HDD that I had laying around, so I could start with a truly blank slate.
I booted Mint from the USB and then ran the install with the option to dual boot. It created the partition structure shown in the screenshot above (18Gb root, 8Gb swap and 905Gb /media/steve/…+ timeshift)
The problem I had with this config, is that Grub would never come up and I would end up in Win10. Then I would have to go to Settings - System Recovery to get an option to boot from the Linux install.
I tried multiple suggestions to try to fix the boot loader to come up but to no avail, including using Boot Repair. The BIOS/UEFI does not have an option to change the boot order of the OSes. I turned off Secure Boot as suggested. I tried to get to the BIOS or Boot menu with the F2/F12 (whatever key) but it just consistently ignored me and booted into Win10.
I finally swapped the Mint HDD into the sda spot and left the Win10 SSD out of play. I was then able to get the machine to boot from that drive into Grub (maybe through sudo update-grub or with Boot Repair – it’s all a bit fuzzy now :smile: )
I then re-installed the SSD with Win10 in the DVD caddy and did another Grub update and now I consistently start with Grub and can boot either OS.

So from the perspective of function, I’m OK. Just trying to get some suggestions on a good config for a dual boot setup with Win10. My goal is to wean away from anything Win10, but there are likely some applications that I may not have a replacement for, so I would need to keep Win10 for those limited functions.

I also realize that having Timeshift on the same drive as Mint is probably not ideal as a backup/restore solution, so there’s some thought needing to go into that too.

I’ve got a couple of 5Tb USB backup drives, a USB 1TB HDD (my Win10 clone) and a 750 Gb USB HDD, so I definitely have some room to play with for configuring a good dual boot and full backup solution. I even saw a video about creating a Raspberry Pi NAS, so that might be in play too.

One more thing is that the root Linux partition is now down to 1 Gb free, so clearly the default setup which allocated 18 Gb was not enough.

Welcome any thoughts and suggestions.
Thanks in advance,
Steve

Hey @smarquis22 AKA Steve!
First, let’s start by keeping your life as simple as it can be. :slight_smile:

When setting up a Linux, especially with manual partitions, here’s what I recommend:

  1. Create the boot partition with 1GB, so that you have ample space
  2. Create the SWAP partition to the size of your RAM (which you did nicely). Over here you can put double SWAP size (or a bit more) if you want to activate hibernation - though some systems might sour at that option!
  3. Give the entirety of the rest of your drive to the root / partition. This way, you won’t have to worry about running out of space completely on your system. Keep in mind, that all the package downloads remain in your system until you manually remove them via the:
sudo apt autoremove && sudo apt autoclean

The above commands (separated by the &&) clean up the unnecessary installations (AKA orphans) and then clean up all downloads respectively.

Also, if given the option during installation, I would highly recommend using the BTRFS system to format your root drive. This is a filesystem that allows automatic snapshots on the fly and Time Shift utilizes it completely. It takes much less space on your drive and it’s supported by the filesystem itself. So, it’s a win-win. My new Synology NAS uses BTRFS as its recommended type. However, this system will be inaccessible to your Windows side, if you ever try to install an app for it. Best case scenario, until today that is, it will be read only. Though I strongly recommend against mounting Linux drives on Linux as they tend to cause havoc. I speak from experience. :wink:

Also, since you select the manual partition during installation, you can select where the Linux boot loader will be installed. From the drop-down menu, select the partition/drive that has the Windows Boot Manager. Grub will replace it and also attach the Windows load option when it installs.

Now, when you end up with the boot loaders in different drives, know that you can install Grub on every drive as well. For example, if your system boots Windows from sda and your Linux from sdb, you can do a:

sudo install-grub /dev/sda

And then a:

sudo update-grub

However, make sure the os-prober is installed so that it scans for your Windows (or other Linux distro you might have) and incorporate it. You can check it by trying to install it via:

sudo apt install os-prober

Though during the late years, it comes as pre-installed.

I hope this helps bring some perspective. :wink:

One extra thing, if you are in the habit of resizing drives, you might want to format your drive as an LVM. This creates a container for your filesystem that can be resized on the fly. However, when you need to go into repairs or anything else, you will need to take a few extra steps to mount it or un-mount it properly, so I won’t recommend it for the time being. Once you get the hang of things, then yes. :wink:

LVMs are what allow the full drive encryption.

@vasileios, thanks for the feedback. I re-read your whole post with @LibertyMom and watched the included video. I’m going to make my way through your previous comments and suggestions, but here is my Linux drive structure now:

Using GParted, I got rid of the /media/steve + /timeshift partition. Then I copied my root into that wide open space. I deleted the 8Gb swap and then deleted the original 18Gb root partition. I then re-added that 18Gb as my Swap which is closer in size to my 16Gb RAM. I ended up with the rest of the drive as my root, so I shouldn’t get any further complaints about running out of space in root.

I haven’t re-activated Timeshift yet, but that brings me to my next question(s).
You suggest having BTRFS as the format of root. Is it possible to back up root (somehwere…), reformat that partition with BTRFS and restore the original root data to it? Just trying to avoid having to start from scratch again. Then I could set up Timeshift with the BTRFS option. Where would you store the Timeshift backups? External drive?
Also, sort of like your suggestion to @LibertyMom, I might be inclined to split the Linux drive into 2 parts. One partition for Linux root and the other of NTFS so that I could use it for sharing my data/documents between the 2 systems.

I’m also trying to set up my mother-in-law’s 2014 laptop with Mint. Having trouble there with getting the dual boot working, but I’ll have some more things to try after reading more of the forum posts and we’ll keep that for another post.

Thanks, Steve

Hey @smarquis22!
Thankfully, you are in luck! BTRFS offers the convert option, and there’s a nice guide below:

And by the way, you don’t need a middle drive to share files. Well, with Linux at least. Your Linux installation can easily see and work with NTFS drives, so when you need to send something to Windows, you can simply copy it there. For this scenario, you could use an external drive. Personally, I setup a Raspberry Pi 4 as a Samba server and I save all my files in there - which makes them accessible by all my systems with ease. :slight_smile: