I'm trying to install LMDE 2 'Betsy' 64-Bit dual-booting with Windows 8.1 and both systems encrypted separately, Windows with truecrypt and LMDE with luks. When booting I want to be asked for the truecrypt volumes password and when I press Esc GRUB should start and boot the encrypted Linux. I want to have a LVM partition for my data which will be my home directory in Linux and which I plan to access with https://github.com/t-d-k/LibreCrypt . My problem is that I can't get GRUB working.
Most of the following steps I took from https://wiki.ubuntuusers.de/system_verschl%C3%BCsseln and changed them to fit my needs.
Here is my setup although Windows is not encrypted yet:
/dev/sda1 Windows Recovery ntfs /dev/sda2 Boot ext4 300MiB /dev/sda3 Windows 8.1 truecrypt /dev/sda4 crypt-luks crypt-luks
And here is what I did: Boot LMDE 2 from USB stick. Select German as language. Do the other stuff until I have to select a partition. There I enter Expert Mode where I get asked to mount my target System under /Ziel but it needs to be /target.
I start to get the system ready with:
cryptsetup -c aes-xts-plain64 -s 512 -h sha512 luksFormat /dev/sda4 cryptsetup luksOpen /dev/sda4 lukslvm pvcreate /dev/mapper/lukslvm vgcreate vglmde /dev/mapper/lukslvm
Then I create my logical volumes:
lvcreate -L 8G -n swap vglmde lvcreate -L 25G -n root vglmde lvcreate -l 100%FREE -n home vglmde
I format these partitions with labels:
mkswap /dev/mapper/vglmde-swap -L swap mkfs.ext4 /dev/mapper/vglmde-root -L root mkfs.ext4 /dev/mapper/vglmde-home -L home
Then I mount the logical root partition in /target to continue installing:
mkdir /target mount /dev/mapper/vglmde-root /target mkdir /target/boot mount /dev/sda2 /target/boot mkdir /target/home mount /dev/mapper/vglmde-home /target/home
Then I continue the installation. When asked I choose that GRUB should be installed in /dev/sda2 because that is my boot partition.
After the dialog Installation paused shows up, I perform the following steps:
mount -o rbind /dev /target/dev mount -t proc proc /target/proc
Here I get the message that proc is already mounted on /target/proc
mount -t sysfs sys /target/sys
Here it says that sys is already mounted or /target/sys is busy.
cp /etc/resolv.conf /target/etc/resolv.conf chroot /target /bin/bash
Then I make sure the required packages are up-to-date.
apt-get update apt-get install cryptsetup lvm2
To set up the /etc/crypttab I first get the UUID and then append to the crypttab replacing with the UUID.
blkid /dev/sda4 echo "lukslvm UUID=<MY_UUID> none luks" >> /etc/crypttab
Then I append some necessary modules.
echo "dm-crypt" >> /etc/modules echo "ohci_pci" >> /etc/initramfs-tools/modules update-initramfs -u -k all -t
And I edit the /etc/fstab .
echo "/dev/sda2 /boot ext4 defaults 0 2" >> /etc/fstab echo "/dev/mapper/vglmde-root / ext4 defaults,errors=remount-ro 0 1" >> /etc/fstab echo "/dev/mapper/vglmde-swap none swap sw 0 0" >> /etc/fstab echo "/dev/mapper/vglmde-home /home/ ext4 defaults 0 2" >> /etc/fstab
Then I update GRUB and leave chroot.
update-grub exit sync
And continue the installation. When asked if I want to reboot I say yes and... ...at reboot I get the following output:
error: no such partition Entering rescue mode... grub rescue>
Now I can't figure out where I went wrong. Am I right that GRUB should have loaded normally when there is no other boot-able partition?
P.S. When debugging the following commands let you use the installed system when on a live disc. Mounting the encrypted Volume
cryptsetup luksOpen /dev/sda4 lukslvm
Search and add the volume groups.
vgscan vgchange -a y
Mount the volumes as usual
mount /dev/mapper/vglmde-root /mnt