I found out that it wasn't the fact that I changed root=UUID=... that workaround the bug but the fact that I edited grub. It does not matter if I change or not settings. Just open the built-in editor and let it boot.
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1686837 Title: ubuntu fails to boot with btrfs root (unable to mount root) Status in linux package in Ubuntu: Incomplete Bug description: Hello, Failing to mount / as btrfs has been haunting btrfs users on ubuntu for some time. Coming and going with kernel updates. After I upgraded to 17.04, it seems that the problem is back. It seems that a non-clean umount reboot always leads to a non-bootable system. If I boot into rescue (selecting in grub, not a livecd), kernel can find the root partition. I can also boot normally if root=... kernel parameter is set with the device name (/dev/sda6) instead of UUID=xxxx. So, there might be a bug in kernel that does not allow linux to identify the boot partition using UUID in some circumstances (probably after a dirt reboot). Maybe other distros do some magic at initrd that cleans the btrfs problem because some, like opensuse, do uses btrfs as default root fs. Anyway, even ubuntu own rescue can boot normally. This is a tricky bug to debug as I get no logs written and no emergency shell. Just an ugly kernel error and a backstack. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1686837/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp