Eu tive um problema muito parecido com o LVM. O cerne da questão era que o systemd estava executando seus sistemas-fsck imediatamente após o initrd switch_root, então o sistema de arquivos não havia se estabelecido. No código-fonte, o system-fsck consulta o udev para o tipo de sistema de arquivos, e se isto é executado muito rapidamente após switch_root, o udev retorna NULL. Uma solução muito simples foi adicionar uma linha ao serviço, pausar por 3 segundos, antes de executar o fsck. Este é um diff:
root@localhost:/usr/lib/systemd/system$ diff -u systemd-fsck-root.service.orig systemd-fsck-root.service
--- systemd-fsck-root.service.orig 2015-11-24 23:15:22.593388104 +0000
+++ systemd-fsck-root.service 2015-11-24 21:52:13.489345153 +0000
@@ -17,6 +17,7 @@
[Service]
Type=oneshot
RemainAfterExit=yes
+ExecStart=/bin/sleep 3
ExecStart=/usr/lib/systemd/systemd-fsck
StandardOutput=journal+console
FsckPassNo=1