How to install two instances of Garuda Linux simultaneously

Hello Garuda Linux community. Sometime ago, I downloaded Garuda Linux and was blown away by how well configured it was. I liked it so much, that slowly but surely, it fully replaced Debian and Windows for me.

So now I would like to install two separate instances of Garuda Linux simultaneously. One that I use for Gaming only (Dragonized) , and the other one for day-to-day tasks, and work (KDE Barebones).

The problem with installing the same distro twice is that the installer replaces the bootloader of the previously installed instance, and it would lead to me being able to only boot into one of them. The Dragonized instance uses the Zen kernel while the KDE barebones edition uses LTS. So if I try to boot into the other one, it will give me error saying filesystem, and kernel not found.

I did try couple of shenanigans like create a new fat-32 drive with the boot flag enabled and I tried installing the bootloader files there. But that didn't work properly. I used Garuda Boot Repair to re-install the bootloader files quickly so I can try different things out. If I do a clean install this might work.

Also I had the option of manually backing up the boot EFI files, then copy and paste them with a different name, and edit the grub config to use those. But I thought it might be a 'not-standard' move, and I thought I could miss something out.

I wanted to ask you, what do you think I should do to dual-boot two instances of Garuda Linux?

garuda-inxi output
System:
  Kernel: 5.15.30-1-lts x86_64 bits: 64 compiler: gcc v: 11.2.0
    parameters: BOOT_IMAGE=/@/.snapshots/57/snapshot/boot/vmlinuz-linux-lts
    root=UUID=4ee61ca9-6089-484b-aabb-14ee74551d8c quiet quiet splash
    rd.udev.log_priority=3 vt.global_cursor_default=0
    resume=UUID=13c1fa8e-7e6a-4bb1-9f13-0467985c3870 loglevel=3
    rootflags=defaults,noatime,autodefrag,compress=zstd,discard=async,ssd,subvol=@/.snapshots/57/snapshot
  Desktop: KDE Plasma 5.24.3 tk: Qt 5.15.3 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: G5 5590 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 05P9XV v: A00 serial: <superuser required> UEFI: Dell
    v: 1.16.0 date: 07/29/2021
Battery:
  ID-1: BAT0 charge: 24.6 Wh (46.2%) condition: 53.3/60.0 Wh (88.8%)
    volts: 16.1 min: 15.2 model: BYD DELL HYWXJ93 type: Li-poly
    serial: <filter> status: Charging
CPU:
  Info: model: Intel Core i7-8750H bits: 64 type: MT MCP arch: Coffee Lake
    family: 6 model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xEC
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
    L3: 9 MiB desc: 1x9 MiB
  Speed (MHz): avg: 2199 high: 2202 min/max: 800/2200 scaling:
    driver: intel_pstate governor: performance cores: 1: 2200 2: 2201 3: 2200
    4: 2200 5: 2200 6: 2199 7: 2200 8: 2201 9: 2196 10: 2200 11: 2202
    12: 2200 bogomips: 52799
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell
    driver: i915 v: kernel ports: active: eDP-1
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:3e9b
    class-ID: 0300
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nvidia
    v: 510.54 alternate: nouveau,nvidia_drm pcie: gen: 1 speed: 2.5 GT/s
    lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 ports: active: none
    empty: HDMI-A-3 bus-ID: 01:00.0 chip-ID: 10de:1c8c class-ID: 0300
  Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo
    bus-ID: 1-5:3 chip-ID: 0c45:671f class-ID: 0e02
  Display: x11 server: X.Org v: 1.21.1.3 compositor: kwin_x11 driver: X:
    loaded: modesetting,nvidia gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: eDP-1 model: AU Optronics built: 2017 res: 1920x1080 hz: 60
    dpi: 142 gamma: 1.2 size: 344x194mm (13.5x7.6") diag: 395mm (15.5")
    ratio: 16:9 modes: 1920x1080
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2)
    v: 4.6 Mesa 21.3.7 direct render: Yes
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel
    v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
    chip-ID: 8086:a348 class-ID: 0403
  Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 8 link-max: gen: 3
    speed: 8 GT/s lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:0fb9 class-ID: 0403
  Sound Server-1: ALSA v: k5.15.30-1-lts running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.48 running: yes
Network:
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:a370 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Dell driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: 3000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) type: USB
    driver: btusb v: 0.8 bus-ID: 1-14:5 chip-ID: 8087:0aaa class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 1.14 TiB used: 583.93 GiB (49.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix
    model: BC501 NVMe 256GB size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 15.8 Gb/s lanes: 2 type: SSD serial: <filter>
    rev: 80002C00 temp: 43.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST1000LM035-1RK172
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B
    speed: 6.0 Gb/s type: HDD rpm: 5400 serial: <filter> rev: SDM3
    scheme: GPT
Partition:
  ID-1: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 720 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-2: /home raw-size: 127.42 GiB size: 127.42 GiB (100.00%)
    used: 21.12 GiB (16.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-3: /var/log raw-size: 127.42 GiB size: 127.42 GiB (100.00%)
    used: 21.12 GiB (16.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/tmp raw-size: 127.42 GiB size: 127.42 GiB (100.00%)
    used: 21.12 GiB (16.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-2: swap-2 type: zram size: 7.46 GiB used: 19.2 MiB (0.3%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 49.0 C pch: 58.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 323 Uptime: 27m wakeups: 1703 Memory: 7.46 GiB
  used: 2.69 GiB (36.0%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.2.0 clang: 13.0.1 Packages: pacman: 1320 lib: 340 Shell: fish
  v: 3.3.1 running-in: yakuake inxi: 3.3.13
Garuda (2.5.6-2):
  System install date:     2022-03-19
  Last full system update: 2022-03-20
  Is partially upgraded:   No
  Relevant software:       NetworkManager
  Windows dual boot:       No/Undetected
  Snapshots:               Snapper
  Failed units:            snapper-cleanup.service 

From telegram: Telegram: Contact @garudalinux

Garuda Linux Social Chat 🦅 (Visit Forum For Support), [23.01.22 18:46]
[In reply to Zabir]
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=garuda-first

Garuda Linux Social Chat 🦅 (Visit Forum For Support), [23.01.22 18:46]
then install a new garuda

Garuda Linux Social Chat 🦅 (Visit Forum For Support), [23.01.22 18:46]
your old garuda will be garuda-first, your new one garuda

Garuda Linux Social Chat 🦅 (Visit Forum For Support), [23.01.22 18:46]
you can boot into them from EFI like you normally would
5 Likes

Also... Just as a quick side note... I noticed you are booted off of a snapshot. You should not be booting off of snapshots for normal usage. You should restore the snapshot and then reboot manually ASAP.

3 Likes

Oh yeah definitely. I was experimenting with a lot of settings to see which one works for me and I messed a lot of things up. This is only way I can boot now. I plan to re-install everything anew.

You can reinstall if you want to, but you certainly don't have to. I suggest just restoring the snapshot from btrfs-assistant.

3 Likes

I'm going to try it now, and see if it works.

This fully worked. I didn't even re-install both systems. I just used Garuda Boot Repair to reinstall the respective bootloader files. It's such a useful tool!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.