Invested 4 hours attempting to enable dual booting
Invested 4 hours attempting to enable dual booting
I still don’t understand what’s going on. I’m trying to set up one SSD for Windows 11 and another for Ubuntu or Linux. There’s a third HDD, but it’s just a large game storage drive—don’t mind if it doesn’t show up in Ubuntu at all. What I really need is a menu that appears when I power on the system, showing both operating systems. I’ve tried everything, but somehow people only want to dual boot Windows 10 with everything except Windows 11 for Linux. I’ve looked into using Grub Customizer and even reinstalled Ubuntu, but nothing seems to make it display the menu I need. I’m not keen on formatting my original Windows drive if it helps. I’m running out of ideas online and could use some help from a tech friend.
It’s clear Ubuntu supports secure boot. I’m using Mint and Windows 11, but since Mint runs on Ubuntu, I’ll ask a fun question—after setting up Ubuntu, did you change the BIOS to make it the first boot device instead of Windows 11? Your game drive should work fine with both operating systems, and Ubuntu handles NTFS drives without any issues.
I attempted that and it launches directly to Ubuntu rather than Windows. Secure boot isn’t turned on, which isn’t necessary for Windows 11 once you install it. Ubuntu doesn’t appear to recognize the drive unless you use a utility such as gparted. During installation, there’s no dual-boot option available in the setup process.
Consider your boot setup before proceeding. Restart and press Shift or Control simultaneously—do this a few times if needed. After powering on, press the key you're holding or another method to load the system. If Grub is installed, run 'update-grub' and then view /boot/grub/grub.cfg to see its contents.
Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/50_linuxmint.cfg' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.4.0-99-generic Found initrd image: /boot/initrd.img-5.4.0-99-generic Found linux image: /boot/vmlinuz-5.4.0-97-generic Found initrd image: /boot/initrd.img-5.4.0-97-generic Found linux image: /boot/vmlinuz-5.4.0-91-generic Found initrd image: /boot/initrd.img-5.4.0-91-generic done # # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi if [ "${initrdfail}" = 2 ]; then set initrdfail= elif [ "${initrdfail}" = 1 ]; then set next_entry="${prev_entry}" set prev_entry= save_env prev_entry if [ "${next_entry}" ]; then set initrdfail=2 fi fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="0" fi if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function initrdfail { if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then if [ -z "${initrdfail}" ]; then set initrdfail=1 if [ -n "${boot_once}" ]; then set prev_entry="${default}" save_env prev_entry fi fi save_env initrdfail fi; fi } function recordfail { set recordfail=1 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } if [ x$feature_default_font_path = xy ] ; then font=unicode else insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi font="/usr/share/grub/unicode.pf2" fi if loadfont $font ; then set gfxmode=auto load_video insmod gfxterm set locale_dir=$prefix/locale set lang=en_US insmod gettext fi terminal_output gfxterm if [ "${recordfail}" = 1 ] ; then set timeout=30 else if [ x$feature_timeout_style = xy ] ; then set timeout_style=hidden set timeout=0 # Fallback hidden-timeout code in case the timeout_style feature is # unavailable. elif sleep --interruptible 0 ; then set timeout=0 fi fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/light-gray ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux ### function gfxmode { set gfxpayload="${1}" if [ "${1}" = "keep" ]; then set vt_handoff=vt.handoff=7 else set vt_handoff= fi } if [ "${recordfail}" != 1 ]; then if [ -e ${prefix}/gfxblacklist.txt ]; then if hwmatch ${prefix}/gfxblacklist.txt 3; then if [ ${match} = 0 ]; then set linux_gfx_mode=keep else set linux_gfx_mode=text fi else set linux_gfx_mode=text fi else set linux_gfx_mode=keep fi else set linux_gfx_mode=text fi export linux_gfx_mode menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi linux /boot/vmlinuz-5.4.0-99-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro quiet splash $vt_handoff initrd /boot/initrd.img-5.4.0-99-generic } submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { menuentry 'Ubuntu, with Linux 5.4.0-99-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-99-generic-advanced-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi echo 'Loading Linux 5.4.0-99-generic ...' linux /boot/vmlinuz-5.4.0-99-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.4.0-99-generic } menuentry 'Ubuntu, with Linux 5.4.0-99-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-99-generic-recovery-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi echo 'Loading Linux 5.4.0-99-generic ...' linux /boot/vmlinuz-5.4.0-99-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.4.0-99-generic } menuentry 'Ubuntu, with Linux 5.4.0-97-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-97-generic-advanced-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi echo 'Loading Linux 5.4.0-97-generic ...' linux /boot/vmlinuz-5.4.0-97-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.4.0-97-generic } menuentry 'Ubuntu, with Linux 5.4.0-97-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-97-generic-recovery-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi echo 'Loading Linux 5.4.0-97-generic ...' linux /boot/vmlinuz-5.4.0-97-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.4.0-97-generic } menuentry 'Ubuntu, with Linux 5.4.0-91-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-91-generic-advanced-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi echo 'Loading Linux 5.4.0-91-generic ...' linux /boot/vmlinuz-5.4.0-91-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.4.0-91-generic } menuentry 'Ubuntu, with Linux 5.4.0-91-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-91-generic-recovery-843b6a81-aa2d-44e7-bffd-6ef7d14f25d0' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 else search --no-floppy --fs-uuid --set=root 843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 fi echo 'Loading Linux 5.4.0-91-generic ...' linux /boot/vmlinuz-5.4.0-91-generic root=UUID=843b6a81-aa2d-44e7-bffd-6ef7d14f25d0 ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.4.0-91-generic } } ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/10_linux_zfs ### ### END /etc/grub.d/10_linux_zfs ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/30_os-prober ### ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/30_uefi-firmware ### ### END /etc/grub.d/30_uefi-firmware ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_custom ### if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ###
Opening nautilus reveals the windows drive under devices and allows mounting when you click on it. Once mounted, you can execute os-prober in the terminal with sudo to check for Windows boot entries. If it doesn’t detect Windows, run update-grub again; this should add a Windows entry. For more details, share the output of sudo lsblk.
I had this configured earlier in the year. It worked fine when I could reach my HDD on both platforms. I remember it would boot into whatever system ever appeared. I either had to start from BIOS or press F8 repeatedly to access the boot menu. Since then I’ve switched from Ubuntu to Arch, and now Debian—I think that’s where I’ll stay for the next couple of months without Windows. I’m really happy with it. By the way, I used Steam, Linux LTS, and Star Citizen all running smoothly.
Your Ubuntu partition setup was configured with a specific layout. Windows installation details were handled appropriately, and the Linux EFI was placed in the highest boot order within the BIOS/UEFI settings. The EFI file system was set to mount at /boot/efi, ensuring the GRUB menu was accessible.