grub2 – How to Add New Operating System Boot Entry to GRUB2 Menu

bootdual-bootgrub2partitioning

I'm pretty new to Linux, but over the past few days I've taken it upon myself to give it a shot. I'm trying a few different distributions just to kind of get a feel for different versions, and this is the only thing that's really got me hung up.

I started with Windows 7, then I installed Ubuntu 13.10 (which works perfectly), and then I installed Linux Mint. However, I don't have a way to boot Linux Mint, and that's what I'd like to accomplish. My goal is to have a Linux Mint menu entry on the Grub2 menu that appears on startup to goes along with the Ubuntu and Windows 7 menu entries (and a few others that I have yet to use, like the Advanced Ubuntu Options submenu, and the memtest menu entry).


In case any of this information is needed, here's some information from the GParted partition table, as well as parts of the bootinfoscript output:

Partitions info and descriptions taken from GParted:

  1. /dev/sda1 is a 101.94 MiB primary partition with fat16 file system with a flag of "diag"
  2. /dev/sda2 is a 11.29 GiB primary partition with ntfs file system with a flag of "boot" and a label of "RECOVERY." According to /boot/grub/grub.cfg, this is where the Windows 7 loader resides. I have no issues booting into Windows 7 from the current Grub2 menu.
  3. /dev/sda3 is a 275.12 GiB primary partition with ntfs file system with a label of "OS." This partition holds all of my files that were originally made on Windows, though some have been saved over using Ubuntu programs (nothing went wrong editing files across operating systems so far but let me know if this is bad for whatever reason).
  4. /dev/sda4 is a 171.01 GiB extended partition. This partition is currently mounted. This contains the swap partition, in addition to logical partitions for the Ubuntu 13.10 and Linux Mint 16:
    • /dev/sda5 is a 58.79 GiB logical partition with ext4 file system, which contains the installation of Linux Mint 16. In GParted, it says the mount point for this file system is /. This is the only partition that has a non-empty mount point entry. I don't know what to make of that, and I also currently do not know of a way to boot Linux Mint 16 as it currently resides.
    • /dev/sda6 is a 19.56 GiB partition (I believe it's considered primary?) with "linux-swap" file system. This was created automatically when I installed Ubuntu, but I increased its size manually by about 10 GB when I was having a few issues trying to install Linux Mint 16. Linux Mint 16 is currently successfully installed as far as I can tell, but I don't know how to boot into it like I said before. This partition is currently mounted.
    • /dev/sda7 is a 36.41 GiB logical partition with ext4 file system, which contains Ubuntu 13.10. Ubuntu 13.10 works quite well, and it's what I'm currently writing this question in. This partition is currently mounted.

Here is the bootinfoscript output (it's quite long, and includes the grub.cfg file as well as the sudo fdisk -l info already posted here – some had to be omitted due to character limitations, however):

                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and looks 
    in partition 94 for .
 => Syslinux MBR (4.04 and higher) is installed in the MBR of /dev/sdb.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  Dell Utility: FAT16
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /DELLBIO.BIN /DELLRMK.BIN /COMMAND.COM

sda2: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /bootmgr /Boot/BCD

sda3: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /Windows/System32/winload.exe /ubuntu/winboot/wubildr 
                       /ubuntu/winboot/wubildr.mbr

sda4: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info: 

sda5: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 13.10
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sda6: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

sda7: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  Grub2 (v1.99)
    Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda7 
                       and looks at sector 648107560 of the same hard drive 
                       for core.img. core.img is at this location and looks 
                       in partition 94 for .
    Operating System:  Linux Mint 16 Petra
    Boot files:        /boot/grub/grub.cfg /etc/fstab


============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1                  63       208,844       208,782  de Dell Utility
/dev/sda2    *        212,992    41,172,991    40,960,000   7 NTFS / exFAT / HPFS
/dev/sda3          41,172,992   618,134,175   576,961,184   7 NTFS / exFAT / HPFS
/dev/sda4         618,139,646   976,771,071   358,631,426   5 Extended
/dev/sda5         694,501,376   817,790,975   123,289,600  83 Linux
/dev/sda6         935,753,728   976,771,071    41,017,344  82 Linux swap / Solaris
/dev/sda7         618,139,648   694,499,022    76,359,375  83 Linux

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda1        3030-3030                              vfat       DellUtility
/dev/sda2        76C2AD13C2ACD89F                       ntfs       RECOVERY
/dev/sda3        B864AE8864AE4948                       ntfs       OS
/dev/sda5        5832ede3-f357-427e-ac67-b2157b5ba6e1   ext4       
/dev/sda6        24a1b8d2-d3a0-4b3f-b48e-9a3f5bab16c2   swap       
/dev/sda7        520dfeb8-758e-47c0-97de-a0a8cb8b4866   ext4

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/sda3        /media/matt/OS           fuseblk    (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda5        /                        ext4       (rw,errors=remount-ro)
/dev/sda7        /media/matt/520dfeb8-758e-47c0-97de-a0a8cb8b4866 ext4       (rw,nosuid,nodev,uhelper=udisks2)


=========================== sda5/boot/grub/grub.cfg: ===========================
Bootinfoscript
--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"

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 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
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
else
  search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
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=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

/\/\/\/\/\ EDITED OUT MORE THEME INFO /\/\/\/\/\/\

### 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-5832ede3-f357-427e-ac67-b2157b5ba6e1' {
recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
    else
      search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
    fi
    linux   /boot/vmlinuz-3.11.0-15-generic root=UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 ro   acpi_backlight=vendor dell_laptop.backlight=0 quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.11.0-15-generic
}

/\/\/\/\/\/\/\/ I MANUALLY OMITTED THE UBUNTU ADVANCED OPTIONS SUBMENU FROM HERE BECAUSE THERE Was >30000 CHARACTERS /\/\/\/\/\/\/

--class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-35-generic-advanced-5832ede3-f357-427e-ac67-b2157b5ba6e1' {
    recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
        else
          search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
        fi
        echo    'Loading Linux 3.8.0-35-generic ...'
        linux   /boot/vmlinuz-3.8.0-35-generic root=UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 ro   acpi_backlight=vendor dell_laptop.backlight=0 quiet splash $vt_handoff
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.8.0-35-generic
    }
    menuentry 'Ubuntu, with Linux 3.8.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-35-generic-recovery-5832ede3-f357-427e-ac67-b2157b5ba6e1' {
    recordfail
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
        else
          search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
        fi
        echo    'Loading Linux 3.8.0-35-generic ...'
        linux   /boot/vmlinuz-3.8.0-35-generic root=UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 ro recovery nomodeset 
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.8.0-35-generic
    }
    menuentry 'Ubuntu, with Linux 3.8.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-19-generic-advanced-5832ede3-f357-427e-ac67-b2157b5ba6e1' {
    recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
        else
          search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
        fi
        echo    'Loading Linux 3.8.0-19-generic ...'
        linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 ro   acpi_backlight=vendor dell_laptop.backlight=0 quiet splash $vt_handoff
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.8.0-19-generic
    }
    menuentry 'Ubuntu, with Linux 3.8.0-19-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-19-generic-recovery-5832ede3-f357-427e-ac67-b2157b5ba6e1' {
    recordfail
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
        else
          search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
        fi
        echo    'Loading Linux 3.8.0-19-generic ...'
        linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 ro recovery nomodeset 
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.8.0-19-generic
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
    insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
else
  search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
fi
linux16 /boot/memtest86+.bin
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
else
  search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-76C2AD13C2ACD89F' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  76C2AD13C2ACD89F
    else
      search --no-floppy --fs-uuid --set=root 76C2AD13C2ACD89F
    fi
    chainloader +1
}
### 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 ###
--------------------------------------------------------------------------------

=============================== sda5/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sdb5 during installation
UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 /               ext4    errors=remount-ro 0     1
# swap was on /dev/sdb6 during installation
UUID=24a1b8d2-d3a0-4b3f-b48e-9a3f5bab16c2 none            swap    sw              0       0
--------------------------------------------------------------------------------


=========================== sda7/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# 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
set default="0"

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 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
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  520dfeb8-758e-47c0-97de-a0a8cb8b4866
else
  search --no-floppy --fs-uuid --set=root 520dfeb8-758e-47c0-97de-a0a8cb8b4866
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=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

/\/\/\/\/\/\/ EDITED OUT SOME DEBIAN/MINT THEME INFO HERE /\/\/\/\/\/\/\

### 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
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Linux Mint 16 Cinnamon 64-bit, 3.11.0-12-generic (/dev/sda7)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  520dfeb8-758e-47c0-97de-a0a8cb8b4866
    else
      search --no-floppy --fs-uuid --set=root 520dfeb8-758e-47c0-97de-a0a8cb8b4866
    fi
    linux   /boot/vmlinuz-3.11.0-12-generic root=UUID=520dfeb8-758e-47c0-97de-a0a8cb8b4866 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.11.0-12-generic
}
menuentry 'Linux Mint 16 Cinnamon 64-bit, 3.11.0-12-generic (/dev/sda7) -- recovery mode' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  520dfeb8-758e-47c0-97de-a0a8cb8b4866
    else
      search --no-floppy --fs-uuid --set=root 520dfeb8-758e-47c0-97de-a0a8cb8b4866
    fi
    echo    'Loading Linux 3.11.0-12-generic ...'
    linux   /boot/vmlinuz-3.11.0-12-generic root=UUID=520dfeb8-758e-47c0-97de-a0a8cb8b4866 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.11.0-12-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  520dfeb8-758e-47c0-97de-a0a8cb8b4866
    else
      search --no-floppy --fs-uuid --set=root 520dfeb8-758e-47c0-97de-a0a8cb8b4866
    fi
    linux16 /boot/memtest86+.bin
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  520dfeb8-758e-47c0-97de-a0a8cb8b4866
    else
      search --no-floppy --fs-uuid --set=root 520dfeb8-758e-47c0-97de-a0a8cb8b4866
    fi
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os     $menuentry_id_option 'osprober-chain-76C2AD13C2ACD89F' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  76C2AD13C2ACD89F
    else
      search --no-floppy --fs-uuid --set=root 76C2AD13C2ACD89F
    fi
    chainloader +1
}
menuentry 'Ubuntu 13.10 (13.10)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-5832ede3-f357-427e-ac67-b2157b5ba6e1' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  5832ede3-f357-427e-ac67-b2157b5ba6e1
    else
      search --no-floppy --fs-uuid --set=root 5832ede3-f357-427e-ac67-b2157b5ba6e1
    fi
    linux /boot/vmlinuz-3.11.0-15-generic root=UUID=5832ede3-f357-427e-ac67-b2157b5ba6e1 ro acpi_backlight=vendor dell_laptop.backlight=0 quiet splash $vt_handoff
    initrd /boot/initrd.img-3.11.0-15-generic
}

/\/\/\/\/\/\/ THERE WAS ANOTHER SUBMENU THING FOR UBUNTU ADVANCED OPTIONS HERE, ALSO OMITTED /\/\/\/\/\/\/\/\

### 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 ###
--------------------------------------------------------------------------------

=============================== sda7/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda7 during installation
UUID=520dfeb8-758e-47c0-97de-a0a8cb8b4866 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=24a1b8d2-d3a0-4b3f-b48e-9a3f5bab16c2 none            swap    sw              0       0
--------------------------------------------------------------------------------

I'm not sure if this partition setup is good or not, because I was unable to create an additional primary partition (4 max), but I figured since Ubuntu could boot from within the extended partition, Linux Mint should be able to as well, so I added Linux Mint to a partition in the same extended partition as Ubuntu (which is in /dev/sda5), but in its own logical partition /dev/sda7.

In the /boot/grub/grub.cfg file, there are several menuentry units. If the right way to go about booting Linux Mint from the Grub2 menu is to just add a menuentry block for Linux Mint, then I'd like to know how to do this. If there's a better way to get each of these operating systems to have an option to be booted on startup, let me know that as well!

I saw a somewhat similar question here but it seemed a little bit different since that user didn't have two operating system partitions contained within the same extended partition, and I didn't want to just be shooting in the dark and possibly break something important by accident.

If any more information is needed that I haven't given here, I'll be keeping a close eye on this so let me know right away and I'll do my best to provide you with whatever info you need.

Thank you very much for any help!

Best Answer

You could try update-grub to see if that will detect Linux Mint. This should check to see what operating systems are installed.

Alternatively, you could try booting off the live USB (or LiveCD) and running grub-install /dev/sda with the hard drive mounted. This will reinstall GRUB and should check for other operating systems again.