You are not logged in.

#1 2017-01-02 03:10:48

Fred Barclay
Member
From: /home
Registered: 2015-02-27
Posts: 123

Grub can't find Ubuntu MATE but does find other distros

Hullo mates. I'm not entirely sure if this is an Arch or a Ubuntu question, or even a general knowledge question. I think it's worth asking here since Arch handles my grub, but tell me it's not an Arch problem and I'll move along. smile

I have multiple OSes installed to my hard drive:
Windows 7  (preinstalled)          sda1 and sda2
Arch                                          sda5 and sda6
Kali                                            sda7
Fedora 25                                 sda8
Ubuntu MATE 16.10                 sda9

The hard drive uses MBR, and sda3 is my extended partition. sda4 holds /boot for Arch:

$ lsblk
NAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sr0            11:0    1  1024M  0 rom   
sda             8:0    0 298.1G  0 disk  
├─sda4          8:4    0  1000M  0 part  /boot
├─sda2          8:2    0  77.2G  0 part  
├─sda9          8:9    0  38.4G  0 part  
├─sda7          8:7    0  32.6G  0 part  
├─sda5          8:5    0  29.7G  0 part  
│ └─cryptroot 254:0    0  29.7G  0 crypt /
├─sda3          8:3    0     1K  0 part  
├─sda1          8:1    0   1.5G  0 part  
├─sda8          8:8    0    20G  0 part  
└─sda6          8:6    0  97.8G  0 part  
  └─crypthome 254:1    0  97.8G  0 crypt /home



$ sudo parted /dev/sda print
[sudo] password for fred: 
Model: ATA TOSHIBA MK3275GS (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system  Flags
 1      1049kB  1574MB  1573MB  primary   ntfs         diag
 2      1574MB  84.5GB  82.9GB  primary   ntfs
 4      84.5GB  85.5GB  1049MB  primary   ext4         boot
 3      85.5GB  320GB   235GB   extended
 5      85.5GB  117GB   31.9GB  logical
 6      117GB   222GB   105GB   logical
 7      222GB   257GB   35.0GB  logical   ext4
 8      257GB   279GB   21.4GB  logical   ext4
 9      279GB   320GB   41.2GB  logical   btrfs

I do have os-prober installed, but whever I run `sudo grub-mkconfig -o /boot/grub/grub.cfg`, all of the OSes are found but Ubuntu MATE on sda9:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image(s) in /boot: initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
Found Kali GNU/Linux Rolling (kali-rolling) on /dev/sda7
Found Fedora release 25 (Twenty Five) on /dev/sda8
done

And sure enough, Ubuntu MATE is not listed from my Grub menu though everything else is.

Can someone help me figure out why this is, and what I should do to have it show up?
One difference is that I installed Ubuntu to a btrfs partition, while all the other LInuxes are ext4. The wiki does say that Grub and btrfs sometimes don't get along, but only when the drive was previously formatted btrfs without partitions, which I did not do.

I also see that I could simply add a menu entry for Ubuntu myself, but I'm curious (or stubborn smile) and I'd like to figure out why Grub doesn't see or add the Ubuntu install automatically.

Thanks!
Fred

Offline

#2 2017-01-02 12:38:55

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: Grub can't find Ubuntu MATE but does find other distros

Fred Barclay wrote:

Hullo mates

Hello Fred smile

Two questions:

  1. Do you have btrfs-progs installed?

  2. What is the full output of `grub-mkconfig`?

Offline

#3 2017-01-02 20:31:22

Fred Barclay
Member
From: /home
Registered: 2015-02-27
Posts: 123

Re: Grub can't find Ubuntu MATE but does find other distros

G'day HoaS!

I did not have btrfs-progs installed but I do now.
Here's the full output of grub-mkconfig after installing btrfs-progs:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image(s) in /boot: initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
Found Kali GNU/Linux Rolling (kali-rolling) on /dev/sda7
Found Fedora release 25 (Twenty Five) on /dev/sda8
done

Still no U. Mate. sad

Offline

#4 2017-01-03 00:47:15

JohnBobSmith
Member
From: Canada
Registered: 2014-11-29
Posts: 804

Re: Grub can't find Ubuntu MATE but does find other distros

I'm just curious, does this work if you build the images from Ubuntu, or one of the other OS'es you have, instead of Arch? Also, why is Windows 7 detected twice...?


I am diagnosed with bipolar disorder. As it turns out, what I thought was my greatest weakness is now my greatest strength.

Everyday, I make a conscious choice to overcome my challenges and my problems. It's not easy, but its better than the alternative...

Offline

#5 2017-01-03 01:39:07

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: Grub can't find Ubuntu MATE but does find other distros

Fred Barclay wrote:

Here's the full output of grub-mkconfig after installing btrfs-progs:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

Sorry to be a stickler for detail but what I actually asked for was the full output of:

# grub-mkconfig

without the -o flag -- sometimes GRUB gets confused and puts the kernel images in the wrong menu entry, perhaps this is what is happening with your Ubuntu kernels.

Speaking of which, perhaps the Ubuntu kernels are strangely named and so not picked up by the (vanilla) Arch GRUB package -- is this the case?

Offline

#6 2017-01-03 02:13:47

Fred Barclay
Member
From: /home
Registered: 2015-02-27
Posts: 123

Re: Grub can't find Ubuntu MATE but does find other distros

Head_on_a_Stick wrote:

Sorry to be a stickler for detail but what I actually asked for was the full output of:

# grub-mkconfig

without the -o flag

So you did. :oops: I didn't realise there was a difference 'till now.
Here we are:

# grub-mkconfig
Generating grub configuration file ...
#
# 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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
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 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 loadfont unicode ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
Found linux image: /boot/vmlinuz-linux
Found initrd image(s) in /boot: initramfs-linux.img
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-734bc2d1-9e97-4850-a86d-6c795057dc63' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos4'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  b4fc9661-dcce-4501-9e7e-444a5ed24cb0
	else
	  search --no-floppy --fs-uuid --set=root b4fc9661-dcce-4501-9e7e-444a5ed24cb0
	fi
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=734bc2d1-9e97-4850-a86d-6c795057dc63 rw  cryptdevice=/dev/sda5:cryptroot
	echo	'Loading initial ramdisk ...'
	initrd  /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-734bc2d1-9e97-4850-a86d-6c795057dc63' {
	menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-734bc2d1-9e97-4850-a86d-6c795057dc63' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  b4fc9661-dcce-4501-9e7e-444a5ed24cb0
		else
		  search --no-floppy --fs-uuid --set=root b4fc9661-dcce-4501-9e7e-444a5ed24cb0
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=734bc2d1-9e97-4850-a86d-6c795057dc63 rw  cryptdevice=/dev/sda5:cryptroot
		echo	'Loading initial ramdisk ...'
		initrd  /initramfs-linux.img
	}
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
	menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-734bc2d1-9e97-4850-a86d-6c795057dc63' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  b4fc9661-dcce-4501-9e7e-444a5ed24cb0
		else
		  search --no-floppy --fs-uuid --set=root b4fc9661-dcce-4501-9e7e-444a5ed24cb0
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=734bc2d1-9e97-4850-a86d-6c795057dc63 rw  cryptdevice=/dev/sda5:cryptroot
		echo	'Loading initial ramdisk ...'
		initrd  /initramfs-linux-fallback.img
	}
}

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

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

### BEGIN /etc/grub.d/30_os-prober ###
Found Windows 7 (loader) on /dev/sda1
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-A8A8985DA8982C36' {
	insmod part_msdos
	insmod ntfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  A8A8985DA8982C36
	else
	  search --no-floppy --fs-uuid --set=root A8A8985DA8982C36
	fi
	parttool ${root} hidden-
	chainloader +1
}
Found Windows 7 (loader) on /dev/sda2
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-EA74BDEB74BDBAA1' {
	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  EA74BDEB74BDBAA1
	else
	  search --no-floppy --fs-uuid --set=root EA74BDEB74BDBAA1
	fi
	parttool ${root} hidden-
	chainloader +1
}
Found Kali GNU/Linux Rolling (kali-rolling) on /dev/sda7
menuentry 'Kali GNU/Linux Rolling (kali-rolling) (on /dev/sda7)' --class kali --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-8f102ce1-0e13-42d7-84f8-276975c840f8' {
	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  8f102ce1-0e13-42d7-84f8-276975c840f8
	else
	  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
	fi
	linux /boot/vmlinuz-4.8.0-kali2-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro initrd=/install/initrd.gz quiet
	initrd /boot/initrd.img-4.8.0-kali2-amd64
}
submenu 'Advanced options for Kali GNU/Linux Rolling (kali-rolling) (on /dev/sda7)' $menuentry_id_option 'osprober-gnulinux-advanced-8f102ce1-0e13-42d7-84f8-276975c840f8' {
	menuentry 'Kali GNU/Linux (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali2-amd64--8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali2-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro initrd=/install/initrd.gz quiet
		initrd /boot/initrd.img-4.8.0-kali2-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 4.8.0-kali2-amd64 (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali2-amd64--8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali2-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro initrd=/install/initrd.gz quiet
		initrd /boot/initrd.img-4.8.0-kali2-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 4.8.0-kali2-amd64 (systemd) (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali2-amd64--8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali2-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro initrd=/install/initrd.gz quiet init=/lib/systemd/systemd
		initrd /boot/initrd.img-4.8.0-kali2-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 4.8.0-kali2-amd64 (recovery mode) (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali2-amd64-root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro single initrd=/install/initrd.gz-8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali2-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro single initrd=/install/initrd.gz
		initrd /boot/initrd.img-4.8.0-kali2-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 4.8.0-kali1-amd64 (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali1-amd64--8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali1-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro initrd=/install/initrd.gz quiet
		initrd /boot/initrd.img-4.8.0-kali1-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 4.8.0-kali1-amd64 (systemd) (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali1-amd64--8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali1-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro initrd=/install/initrd.gz quiet init=/lib/systemd/systemd
		initrd /boot/initrd.img-4.8.0-kali1-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 4.8.0-kali1-amd64 (recovery mode) (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.0-kali1-amd64-root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro single initrd=/install/initrd.gz-8f102ce1-0e13-42d7-84f8-276975c840f8' {
		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  8f102ce1-0e13-42d7-84f8-276975c840f8
		else
		  search --no-floppy --fs-uuid --set=root 8f102ce1-0e13-42d7-84f8-276975c840f8
		fi
		linux /boot/vmlinuz-4.8.0-kali1-amd64 root=UUID=8f102ce1-0e13-42d7-84f8-276975c840f8 ro single initrd=/install/initrd.gz
		initrd /boot/initrd.img-4.8.0-kali1-amd64
	}
}

Found Fedora release 25 (Twenty Five) on /dev/sda8
menuentry 'Fedora release 25 (Twenty Five) (on /dev/sda8)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-f4192224-a5c0-4021-aa14-2b5bb08b09fe' {
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos8'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8  f4192224-a5c0-4021-aa14-2b5bb08b09fe
	else
	  search --no-floppy --fs-uuid --set=root f4192224-a5c0-4021-aa14-2b5bb08b09fe
	fi
	linux /boot/vmlinuz-0-rescue-f1b2549b2c474628909bbaedda1c3209 root=/dev/sda8
	initrd /boot/initramfs-0-rescue-f1b2549b2c474628909bbaedda1c3209.img
}
submenu 'Advanced options for Fedora release 25 (Twenty Five) (on /dev/sda8)' $menuentry_id_option 'osprober-gnulinux-advanced-f4192224-a5c0-4021-aa14-2b5bb08b09fe' {
	menuentry 'Fedora release 25 (Twenty Five) (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-0-rescue-f1b2549b2c474628909bbaedda1c3209--f4192224-a5c0-4021-aa14-2b5bb08b09fe' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos8'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8  f4192224-a5c0-4021-aa14-2b5bb08b09fe
		else
		  search --no-floppy --fs-uuid --set=root f4192224-a5c0-4021-aa14-2b5bb08b09fe
		fi
		linux /boot/vmlinuz-0-rescue-f1b2549b2c474628909bbaedda1c3209 root=/dev/sda8
		initrd /boot/initramfs-0-rescue-f1b2549b2c474628909bbaedda1c3209.img
	}
	menuentry 'Fedora release 25 (Twenty Five) (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.10-300.fc25.x86_64--f4192224-a5c0-4021-aa14-2b5bb08b09fe' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos8'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8  f4192224-a5c0-4021-aa14-2b5bb08b09fe
		else
		  search --no-floppy --fs-uuid --set=root f4192224-a5c0-4021-aa14-2b5bb08b09fe
		fi
		linux /boot/vmlinuz-4.8.10-300.fc25.x86_64 root=/dev/sda8
		initrd /boot/initramfs-4.8.10-300.fc25.x86_64.img
	}
	menuentry 'Fedora release 25 (Twenty Five) (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.8.6-300.fc25.x86_64--f4192224-a5c0-4021-aa14-2b5bb08b09fe' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos8'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8  f4192224-a5c0-4021-aa14-2b5bb08b09fe
		else
		  search --no-floppy --fs-uuid --set=root f4192224-a5c0-4021-aa14-2b5bb08b09fe
		fi
		linux /boot/vmlinuz-4.8.6-300.fc25.x86_64 root=/dev/sda8
		initrd /boot/initramfs-4.8.6-300.fc25.x86_64.img
	}
}

### END /etc/grub.d/30_os-prober ###

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

And here's a gist to make it easier to read:
https://gist.github.com/Fred-Barclay/b5 … 781d27cbdb


The Ubuntu kernel img names are **literally** generic smile (initrd.img-VERSION-generic and vmlinuz-VERSION-generic).

Okay, here's where it gets interesting. Don't laugh at my confusion (or mistakes)... too much. Scratch that, feel free to laugh!
I just opened the Ubuntu MATE partition from Arch and I have the weirdest setup:

$ls 
@  @home

Now why on eath is / called @  ? (Rhetorical question - don't feel compelled to answer.) And why does /home, or @home, rather, have it's own directory independent of /  ? I certainly didn't set it up like that. Nor did I encrypt any of U MATE or set up LVM or do anything other than a vanilla install.

Perhaps btrfs uses @ instead of / ? Snapshotting, maybe? It's certainly something I've never heard of and I can't find it in a quick scan of the wiki. HoaS, don't I remember reading on the Debian forums that you use btrfs? Is this normal?
At any rate, I suspect that's the reason that grub can't find the Ubuntu kernels.

@JohnBobSmith:
Ubuntu does find itself when it handles grub, but since my Arch partitions are encrypted I'd rather not have to edit crypttab again, especially since the Ubuntu MATE install is simply a test (my computer can't handle virtualisation all that well, so I end up multi-booting whenever I want to test a distro). Better to leave Arch in control of Grub, IMHO.

I'm not entirely positive why Windows 7 was detected twice. I think there's a bootloader on sda1 and sda2?
It was already installed when I got this computer so I don't know the particulars about how it was installed. I don't expect it'll get much use though... wink


Cheers, and thanks!
Fred

Last edited by Fred Barclay (2017-01-03 02:17:23)

Offline

#7 2017-01-03 11:13:18

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: Grub can't find Ubuntu MATE but does find other distros

Fred Barclay wrote:

Now why on eath is / called @  ? (Rhetorical question - don't feel compelled to answer.) And why does /home, or @home, rather, have it's own directory independent of /  ? I certainly didn't set it up like that. Nor did I encrypt any of U MATE or set up LVM or do anything other than a vanilla install.

Answer - BTRFS Subvolumes.

It appears that Ubuntu Mate now defaults to using btrfs subvolumes on a new installation. If you check Mates fstab you should see that the @ subvolume is mounted at / and the @home subvolume is mounted at /home. I'd guess that this is what's causing the grub autodetection to fall over, it's only looking in a partitions root for boot files, not in different subvolumes.

You can manually add an entry for your Mate install by creating an /etc/grub.d/40_custom file with the following content...

menuentry "Ubuntu Mate" {
	set root=(hd0,9)
	linux /boot/vmlinuz rootflags=subvol=@
	initrd /@/boot/initrd.img 
}

substituting the correct filenames for your kernel images and then regenerating your grub config.


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#8 2017-01-07 17:44:01

Fred Barclay
Member
From: /home
Registered: 2015-02-27
Posts: 123

Re: Grub can't find Ubuntu MATE but does find other distros

Ah, so that's what it is!

# /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/sda9 during installation
UUID=2460d602-30ff-4705-97df-9b038124787d /               btrfs   defaults,subvol=@ 0       1
# /home was on /dev/sda9 during installation
UUID=2460d602-30ff-4705-97df-9b038124787d /home           btrfs   defaults,subvol=@home 0       2

I tried manually adding the listing to Grub as you suggested but I get this message at boot:

error: file 'boot/vmlinuz-4.8.0-32-generic' not found.
error: you need to load the kernel first.

Press any key to continue...

I presume this means that one of my paths in /etc/grub.d/40_custom is incorrect, so I'm going to start experimenting with that.
For reference, here's what it currently looks like:

$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry "Ubuntu Mate" {
	set root=(hd0,9)
	linux /boot/vmlinuz-4.8.0-32-generic rootflags=subvol=@
	initrd /@/boot/initrd.img-4.8.0-32-generic

Offline

Board footer

Powered by FluxBB