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:

@vasileios

I formatted an external drive and set up Time Shift. I have not tested how to restore a Snapshot yet, though. The external drive is sdb1. Are these settings the right ones to restore?:

Hey @dotedus,
Since your backup device is the sdb1, you would want the root folder (the first selection with the / ) to be on the sda drive. Now, as to if it’s going to be sda2 or sda3 will depend on if you have a SWAP partition active or not.

To find out, you can go to the Gnome Disks (or just Disks) from your menu and select your system drive - just as I have in the screenshot below:

The rest appear to be good (the Root Device).

@vasileios

Thanks for the clarification. I’m using Ubuntu Studio, which has KDE Plasma instead of Gnome, from what I can tell. Anyway, I made your change and restored from a Snapshot that the computer made a few minutes prior. I was able to restart, but there were a few problems. First, the apps I had pinned to the top task bar were gone and only a few were there, probably the system defaults? Also, Nordvpn got screwed up so that it would not connect to a local server when it had before the restore. It said that no server was not configured for my connection or something like that. I uninstalled and reinstalled Nordvpn and now it works. Do you know what happened with the restore? And how do I run a test with Timeshift so that I know I’m backed up? I’d like to use this computer for work, too, but I’m not confident I have Timeshift configured correctly and what a restore would change. I really need to have confidence that a restore will bring me back with everything working before I can run my business primarily on Linux.

Thanks for all your help. I would tag other experts like yourself here so that you don’t have to get all my questions, but I don’t know who they are yet.

1 Like

Hey, @dotedus!
The key with TimeShift is that it alters your system completely to the last state you created the snapshot. This means that any files that were not there during the creation of the snapshot will disappear after the snapshot. Therefore, I would highly recommend to not include your home folder when performing these snapshots. I personally verified this to be true.

This is why NordVPN stopped working and that your desktop files disappeared.

As a system backup and restore, TimeShift works great. But it’s for system space, not for user space. If you use it for user space too, then the snapshots should be made often.

For your personal files, I would suggest FreeFileSync, which you can install directly from the repositories or the Flatpaks (I verified the Flatpak version). This does a direct sync or backup, without deleting to any drive you wish it to.

Will FreeFileSync create multiple incremental backups like Time Machine or does it just create one to mirror the most recent state of my files? How far back in time can I go to get a version of a past file?

You actually have the option to select how many versions of a file you will keep.

Ah, I see! That’s what I need to replace Time Machine.

Thanks!

1 Like