Author: Kevin Chevreuil - Kaisen <kaisen@kaisenlinux.org>

--- grub-btrfs-4.13.orig/41_snapshots-btrfs
+++ grub-btrfs-4.13/41_snapshots-btrfs
@@ -49,7 +49,7 @@ print_error()
 {
     local err_msg="$*"
     local bug_report="If you think an error has occurred, please file a bug report at \"https://github.com/Antynea/grub-btrfs\""
-    printf "%s\n" "${err_msg}" "${bug_report}" >&2 ;
+    printf "%s\n" "${err_msg}" >&2 ;
     exit 0
 }
 
@@ -83,7 +83,7 @@ if ! type btrfs >/dev/null 2>&1; then pr
 printf "Detecting snapshots ...\n" >&2 ;
 
 ## Submenu name
-distro=$(awk -F "=" '/^NAME=/ {gsub(/"/, "", $2); print $2}' /etc/os-release)
+distro=BTRFS
 submenuname=${GRUB_BTRFS_SUBMENUNAME:-"${distro:-Linux} snapshots"}
 ## Limit snapshots to show in the Grub menu (default=50)
 limit_snap_show="${GRUB_BTRFS_LIMIT:-50}"
@@ -123,7 +123,11 @@ boot_hs=$(${grub_probe} --device ${boot_
 boot_fs=$(${grub_probe} --device ${boot_device} --target="fs" 2>/dev/null) # Type filesystem of boot device
 
 ## Parameters passed to the kernel
-kernel_parameters="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS"
+if [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/home" ] || [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/boot" ] || [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/boot/efi" ] || [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/home /boot" ] || [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/home /boot/efi" ] || [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/boot /boot/efi" ] || [ "`cat /etc/fstab | grep -ivwE '(^[#|$]|/|nfs|ceph|fuse|autofs|gfs2|ocfs2|smb)' | awk '{ print $2 }' | sed -r ':a;$!N;s/\n(\S)/ \1/;ta;s/,\s+/,/g;P;d'`" = "/home /boot /boot/efi" ]; then
+	kernel_parameters="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS fstab=no"
+else
+	kernel_parameters="$GRUB_CMDLINE_LINUX $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS"
+fi
 ## Mount point location
 grub_btrfs_mount_point=$(mktemp -dt grub-btrfs.XXXXXXXXXX)
 ## Class for theme
@@ -617,5 +621,5 @@ fi
 fi
 
 # warn when this script is run but there is no entry in grub.cfg
-grep "snapshots-btrfs" "${grub_directory}/grub.cfg" >/dev/null 2>&1 || printf "\nWARNING: '%s' needs to run at least once to generate the snapshots (sub)menu entry in grub the main menu. \
-After that this script can run alone to generate the snapshot entries.\n\n" "${GRUB_BTRFS_MKCONFIG:-grub-mkconfig}" >&2 ;
+#grep "snapshots-btrfs" "${grub_directory}/grub.cfg" >/dev/null 2>&1 || printf "\nWARNING: '%s' needs to run at least once to generate the snapshots (sub)menu entry in grub the main menu. \
+#After that this script can run alone to generate the snapshot entries.\n\n" "${GRUB_BTRFS_MKCONFIG:-grub-mkconfig}" >&2 ;
