Потому, что приложение truecrupt может использовать встроенную в ядро поддержку шифрования. Если её нет или она не работает, то выводится сообщение об ошибке и приходится отключать её в настройках. Начинается использование софтверного шифрования, которое выполняется заметно медленнее.
Уточню, что изменилось с системе. Нужно было дать доступ к машине другому пользователю. Причём, использует он установленную на другом жёстком диске win. Для его удобства сделал загрузку с win-диска по умолчанию. В /etc/fstab разделы прописаны через UUID, проблем с загрузкой и использованием всех разделов нет.
Да, допустил неточность. Только truecrypt. Хотя, полагаю, предположение, что и другие бы не работали - весьма вероятно. Что можно попробовать для сравнения?
Ну вот чтобы использовать вкомпиленную в ядро функцию, надо иметь свой ядерный модуль или использовать device mapper. Посмотри в /dev/mapper, есть что-то связанное?
Захотел, например, прочитать файл, доступ к которому через юзерспейсный демон:
1) дернул open();
2) open() дернул ядро;
3) ядро дернуло юзерспейсный демон;
4) демон дернул ядро для чтения данных с блочного устройства;
5) ядро вернуло данные демону;
6) демон декодировал (расшифровал) полученные данные (опционально);
7) GOTO 4, пока не будет прочитана вся требуемая инфа, т.е. разная метадата и содержимое нужного файла;
8) демон вернул данные ядру для open();
9) open() возвращает данные.
Это как я представляю себе этот процесс, в целом должно быть верно.
С ядерным же шифрованием переключений контекста заметно меньше - пункты с 3 по 8 убираются.