Dual booting Windows 10 and Garuda from separate drive

Hello.

I am completely new to the Linux world and enjoying it so far.

I was running Windows 10 and came across some YouTube videos about Linux a month or so ago which got me interested in the Linux World. I had previously installed Ubuntu a number of years ago but didn't really see the point in switching.

I recently discovered Garuda and installed it on a laptop running Windows 10 on a separate partition without any boot issues so I decided to install it on my home computer as well, but now Windows does not show up on the grub menu, only Garuda.

I have Windows 10 installed on a NVME drive.

I installed Garuda on a separate drive I was not using.

I'm afraid that my Windows is installed in MBR BIOS, while Garuda is installed UEFI. I am unsure though and haven't been able to see how to check.

My ultimate goal is to be able to dual boot Windows 10 and Garuda. Any suggestions would be appreciated.

System:    Kernel: 5.14.14-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=50040926-ce24-457f-bf54-b3e82686fd5b
rw [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 resume=UUID=2b779d4c-43e1-4d78-8e94-ff716f3be25f loglevel=3

Machine:   Type: Desktop System: Dell product: Precision Tower 5810 v: N/A serial: <filter> Chassis:
type: 7 serial: <filter>
Mobo: Dell model: 0HHV7N v: A00 serial: <filter> UEFI: Dell v: A33 date: 01/10/2020
CPU:       Info: Quad Core model: Intel Xeon E5-1620 v3 bits: 64 type: MT MCP arch: Haswell family: 6
model-id: 3F (63) stepping: 2 microcode: 46 cache: L2: 10 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 55869
Speed: 2749 MHz min/max: 1200/3600 MHz Core speeds (MHz): 1: 2749 2: 2533 3: 2672 4: 3479
5: 3187 6: 2150 7: 1510 8: 3536

Graphics:  Device-1: NVIDIA GP104 [GeForce GTX 1070 Ti] vendor: ASUSTeK driver: nvidia v: 470.74
alternate: nouveau,nvidia_drm bus-ID: 03:00.0 chip-ID: 10de:1b82 class-ID: 0300

Drives:    Local Storage: total: 5.49 TiB used: 36.41 GiB (0.6%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: WDS100T2B0C-00PXH0
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
serial: <filter> rev: 211070WD temp: 42.9 C scheme: MBR
ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10EALS-00Z8A0 size: 931.51 GiB
block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s type: N/A serial: <filter> rev: 1D05
scheme: GPT
ID-3: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST4000VN008-2DR166 size: 3.64 TiB
block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5980
serial: <filter> rev: SC60 scheme: GPT
ID-4: /dev/sdc maj-min: 8:32 type: USB vendor: Kingston model: DataTraveler 3.0 size: 28.82 GiB
block-size: physical: 512 B logical: 512 B type: N/A serial: <filter>
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition: ID-1: / raw-size: 862.25 GiB size: 862.25 GiB (100.00%) used: 36.41 GiB (4.2%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.45%) used: 562 KiB (0.2%) fs: vfat
dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 862.25 GiB size: 862.25 GiB (100.00%) used: 36.41 GiB (4.2%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-4: /var/log raw-size: 862.25 GiB size: 862.25 GiB (100.00%) used: 36.41 GiB (4.2%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-5: /var/tmp raw-size: 862.25 GiB size: 862.25 GiB (100.00%) used: 36.41 GiB (4.2%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 69 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/sda3
maj-min: 8:3
ID-2: swap-2 type: zram size: 62.73 GiB used: 1.8 MiB (0.0%) priority: 100 dev: /dev/zram0

Hi there, welcome.
Please be aware that dual booting is not officially supported.
I'll try to give you a few hints but I'm not an expert on this stuff.
Best thing would be if you continue "studying" in parallel. E g.
https://wiki.archlinux.org/title/GRUB#Detecting_other_operating_systems
https://wiki.archlinux.org/title/Dual_boot_with_Windows

This could be checked with sudo fdisk -l. If Disklabel type: dos for the windows disk, it should be MBR.
To confirm that Garuda, most likely GPT there, is in EFI mode you could check that sudo ls /sys/firmware/efi/efivars is not empty.
Then you have to make sure that the windows partition in your windows disk is mounted (see 1st link above), e.g. with lsblk, otherwise the os-prober will not detect it when the update-grub is executed.
If not, you could add it to the /etc/fstab to have this done at boot.
Before doing that, a simple test could be to mount temporarily the windows partition (e.g. simply open it with Dolphin; you should see the disk on the left regardless if it is mounted) and run os-prober or even sudo update-grub.

1 Like

This is the very first thing you will need to solve.

Then, after reinstalling whatever--it's easiest if Windows is installed first--just put GRUB on the drive you install Garuda to and it should pick up the Windows drive.

But it could all be much simpler than that. We just need you to describe--in detail--exactly the steps you took. Detail, please. There are far more knowledgeable forum helpers than me, so it might be a snap.

2 Likes

Can you post

sudo update-grub

output

3 Likes

When comedic value rises from general statements. :rofl: This is going to be my keeper for the day.

Welcome to Garuda and behind those words emerges a hushed whisper of...."give up Windows and embrace linux fully." :wink:

5 Likes

That's what i did, i was planning to dual boot but then realized with a bit of a effort i could get most of the games running as well as (if not better) than Windows. But i'm still haven't partitioned the NFTS drive yet even though it hasn't got windows on it, maybe clinging onto the last remnant of something i'd used since i was 10 years old.

2 Likes

LOL! Let go, and let the river that is Linux guide you gently downstream. :slight_smile:

4 Likes

Thanks for all the answers so far. I'm not trying to ignore y'all, I've been swamped with work, but will be able to send a reply a little later this evening.

I would like to make the switch completely, but as @zadoww said, I'm still clinging onto Windows for gaming. That said, this small interest has slowly turned into a hobby, and I can see it turning into an obsession.

2 Likes

@TilliDie , as requested, here is the output for your request:

Generating grub configuration file ...
Found theme: /usr/share/grub/themes/garuda-dr460nized/theme.txt
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-zen-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
Info: Separate boot partition not detected
Info: snapper detected, using config: root
Found snapshot: 2021-11-13 12:26:21 | @/.snapshots/54/snapshot | post | box2d clucene hunspell libabw libatomi
c_ops libcdr libe-book libepubgen
Found snapshot: 2021-11-13 12:25:21 | @/.snapshots/53/snapshot | pre  | /usr/bin/pacman -S --noconfirm extra/l
ibreoffice-fresh
Found snapshot: 2021-11-11 19:51:23 | @/.snapshots/52/snapshot | post | filesystem garuda-common-settings garu
da-migrations lib32-libgpg-error l
Found snapshot: 2021-11-11 19:51:18 | @/.snapshots/51/snapshot | pre  | pacman -Syyu
Found snapshot: 2021-11-11 14:48:09 | @/.snapshots/50/snapshot | post | alsa-card-profiles curl gst-plugin-pip
ewire hwinfo iw latte-dock-git lib
Found snapshot: 2021-11-11 14:47:53 | @/.snapshots/49/snapshot | pre  | pacman -Syyu
Found snapshot: 2021-11-10 08:52:52 | @/.snapshots/48/snapshot | post | adwaita-icon-theme at-spi2-core bluede
vil breeze btrfs-progs ffmpeg fire
Found snapshot: 2021-11-10 08:51:50 | @/.snapshots/47/snapshot | pre  | pacman -Syyu
Found snapshot: 2021-11-05 13:49:35 | @/.snapshots/46/snapshot | post | ananicy-rules-git ark baloo-widgets do
lphin dolphin-plugins ffmpegthumbs
Found snapshot: 2021-11-05 13:48:47 | @/.snapshots/45/snapshot | pre  | pacman -Syyu
Found 10 snapshot(s)
Unmount /tmp/grub-btrfs.IrOHcHFA3y .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

Hi @filo, here is the output for sudo fdisk -l:

Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WDS100T2B0C-00PXH0                  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcc42ff6e

Device         Boot   Start        End    Sectors   Size Id Type
/dev/nvme0n1p1 *       2048    1187839    1185792   579M  7 HPFS/NTFS/exFAT
/dev/nvme0n1p2      1187840 1953525167 1952337328 930.9G  7 HPFS/NTFS/exFAT

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WD10EALS-00Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 984E6967-3BA1-164A-8724-4EA7FA6A314C

Device          Start        End    Sectors   Size Type
/dev/sda1        4096     536575     532480   260M EFI System
/dev/sda2      536576 1808813151 1808276576 862.3G Linux filesystem
/dev/sda3  1808813152 1953520064  144706913    69G Linux swap

Disk /dev/sdb: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: ST4000VN008-2DR1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C3F26543-ED0E-4C8E-9C39-B67725D360EC

Device     Start        End    Sectors  Size Type
/dev/sdb1     34      32767      32734   16M Microsoft reserved
/dev/sdb2  32768 7814033407 7814000640  3.6T Microsoft basic data

Partition 1 does not start on physical sector boundary.

Disk /dev/zram0: 62.73 GiB, 67354230784 bytes, 16443904 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/sdc: 28.82 GiB, 30943995904 bytes, 60437492 sectors
Disk model: DataTraveler 3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Near the top, if I'm reading the information correctly, nvme0n1p1 should be my Windows boot drive?

Yes, /dev/nvme0n1 has an MBR and Windows created /dev/nvme0n1p1 as boot partition and /dev/nvme0n1p2 for the system.
/dev/sda has a GPT and the EFI system partition is /dev/sda1.
To be honest this is a configuration that I've never seen before and I'm not really sure how to handle it.
I'm not a GRUB or dual booting expert, but I'm sure this is feasible and maybe not even conplicated.
My only suggestion is, again, to try mounting your windows partition /dev/nvme0n1p2 and then try again sudo update-grub...

1 Like

Thanks @filo, here is what sudo update-grub gives:

Generating grub configuration file ...
Found theme: /usr/share/grub/themes/garuda-dr460nized/theme.txt
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-zen-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
Info: Separate boot partition not detected
Info: snapper detected, using config: root
Found snapshot: 2021-11-13 12:26:21 | @/.snapshots/54/snapshot | post | box2d clucene hunspell libabw libatomic_ops libcdr libe-book libepubgen
Found snapshot: 2021-11-13 12:25:21 | @/.snapshots/53/snapshot | pre  | /usr/bin/pacman -S --noconfirm extra/libreoffice-fresh
Found snapshot: 2021-11-11 19:51:23 | @/.snapshots/52/snapshot | post | filesystem garuda-common-settings garuda-migrations lib32-libgpg-error l
Found snapshot: 2021-11-11 19:51:18 | @/.snapshots/51/snapshot | pre  | pacman -Syyu
Found snapshot: 2021-11-11 14:48:09 | @/.snapshots/50/snapshot | post | alsa-card-profiles curl gst-plugin-pipewire hwinfo iw latte-dock-git lib
Found snapshot: 2021-11-11 14:47:53 | @/.snapshots/49/snapshot | pre  | pacman -Syyu
Found snapshot: 2021-11-10 08:52:52 | @/.snapshots/48/snapshot | post | adwaita-icon-theme at-spi2-core bluedevil breeze btrfs-progs ffmpeg fire
Found snapshot: 2021-11-10 08:51:50 | @/.snapshots/47/snapshot | pre  | pacman -Syyu
Found snapshot: 2021-11-05 13:49:35 | @/.snapshots/46/snapshot | post | ananicy-rules-git ark baloo-widgets dolphin dolphin-plugins ffmpegthumbs
Found snapshot: 2021-11-05 13:48:47 | @/.snapshots/45/snapshot | pre  | pacman -Syyu
Found 10 snapshot(s)
Unmount /tmp/grub-btrfs.MSNfEHmEG0 .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

I also created a folder /dev/win where I mounted /dev/nvme0n1p2.

fstab was also updated to include:
UUID=5E36AF4336AF1AD3 /mnt/win ntfs defaults 0 0

When I reboot, Windows still does not appear in grub.

i'm no expert but it could be the secure boot in bios, windows 10 will chuck up a stink if secure boot is not turned on when you boot, but for Linux (to be installed) and to do what it needs to do, it usually needs to be turned off. Some motherboards, like my ASUS has a "Other OS" setting so i can easily use Linux without messing round with the secure boot keys.

You may have to do some research on Dell and how their bios handles secure boot.

1 Like

@zadoww, I've done a little research and found this:

What is Secure Boot?
Secure boot is a feature of Windows 8 which uses a public-key infrastructure to verify the integrity of the Operating System and prevent unauthorized programs such as boot kits from infecting the device. Secure Boot is a security standard developed by members of the PC industry to help make sure that your PC boots using only software that is trusted by the PC manufacturer. Support for Secure Boot was introduced in Windows 8, and also supported by Windows 10

I have secure boot turned off... I'll try turning it on to see what happens...

Just looking at your inxi -faz it looks like you need to update your sysetem if you have not yet ?
Also this quiet a old board is your nvme drive installed on a pci add in card?

1 Like

@TilliDie, I have updated Garuda since posting my initial message.

As for the pci add in card, I'm not sure what you mean. My NVME is plugged directly into the motherboard if that's what you're asking.

Yes it was as your model no. shows it as not having nvme storage :grinning:
What model is it?

1 Like

It's the Precision Tower 5810... the NVME was purchased later and added after.

so to boot into which ever op system you press f11 or f8 to see boot menu to choose which op you go into?

1 Like

I wish it were that simple...

When I use the Dell boot menu (F12), I can see all my drives, however if I select any other drive than the Garuda one, it gives a "file system not found" type error.