+root_dev=$(awk '$2 == "/" {print $1}' /etc/mtab)
+if [[ $root_dev == /dev/dm-* ]]; then
+ for d in /dev/mapper/*; do
+ if [[ $(readlink -f $d) == $root_dev ]]; then
+ root_dev=$d
+ break
+ fi
+ done
+fi
+
+if cryptsetup status $root_dev &>/dev/null; then
+ crypt_dev=$root_dev
+else # if we are in a recovery boot, find the next best crypt device
+ noauto=,noauto
+ for dev in $(dmsetup ls --target crypt | awk '{print $1}'); do
+ dev=/dev/mapper/$dev
+ if awk '{print $1}' /etc/mtab | grep -Fx $dev &>/dev/null; then
+ crypt_dev=$dev
+ break
+ fi
+ done
+fi
+
+