Вобщем, делается это дело так:
Загружаемся с "живой" оси, конечно же.
Открываем fdisk'ом диск (fdisk /dev/sda), находим нужный раздел, получаем инфу о разделах (p), запоминаем сектор, где начинается раздел (Start LBA), затем удаляем раздел (d), создаем раздел (n), такого же типа (ext or prm), такой же номер раздела и fdisk спросит начальный сектор, вводим как был ранее, последний сектор оставляем по-умолчанию (по-умолчанию заполнить все до конца), открываем шифрованный контейнер, открываем LVM (vgscan --mknodes and vgchange -ay), затем натравляем cryptsetup resize cryptcontainer -v тем самым расширяя криптоконтейнер, затем расширяем физический том LVM - pvresize /dev/mapper/cryptcontainer, pvchange -xy /dev/mapper/cryptcontainer. Теперь расширяем нужные логические тома lvm. lvresize --size +1G /dev/crypt/swap (если по объему), и заполняем остальные разделы полностью lvresize -l +100%FREE /dev/crypt/root. Сохраняем изменения pvchange -xn /dev/mapper/cryptcontainer. Проверяем целостность ФС (в моем случае btrfs) btrfsck /dev/crypt/root (ошибок быть не должно!), теперь ресайзим саму ФС - монтируем /dev/crypt/root /mnt, btrfs filesystem resize max /mnt. смотрим - df -h - вуаля!
Теперь, как обычно: umount /mnt, vgchange -an, cryptsetup luksClose cryptcontainer, sync, reboot...