Избавляемся от ошибки sparse file not allowed в grub2 на btrfs

Итак, впечатлившись возможностями файловой системы btrfs вы решаете установить ваш Ubuntu именно на эту ФС, более того, вы ленивы и вам не хочется выделять отдельный раздел под /boot как это в общем-то полагается (/boot — 100 — 200 метров ext2 / — 10-15 гигов /home — остальное) и вы ставите все на одну партицию, не заморачиваясь со всеми этими домами и ботинками :)После чего в свежеустановленной системе grub2 радостно выдает вам следующее сообщение об ошибке:

sparse file not allowed
нажмите любую клавишу для продолжения

В общем-то ничего страшного, поскольку система после этого грузится, но неприятно.

Поэтому идем в  /etc/grub.d/00_header и находим там нижеследующую функцию:

function recordfail {
set recordfail=1
if [ -n «\${have_grubenv}» ]; then if [ -z «\${boot_once}» ]; then save_env recordfail; fi; fi
}

Я не программист и до конца не понимаю для чего она и что делает, но знаю, что если мы закомментируем  строчку if [ -n «\${have_grubenv}» ]; then if [ -z «\${boot_once}» ]; then save_env recordfail; fi; fi то есть:

function recordfail {
set recordfail=1
if [ -n «\${have_grubenv}» ]; then if [ -z «\${boot_once}» ]; then save_env recordfail; fi; fi
}
то все встанет на свои места

После этого делаем sudo update-grub и вуа ля. Надеюсь, что мы не сломали ничего важного ;)