我正在尝试设置具有单独/boot
分区的完整加密磁盘,但遇到了一些麻烦。
我将写下在Ubuntu 15.04 Live DVD会话中一直遵循的过程。
用“随机数据”填充磁盘
sudo dd if=/dev/urandom of=/dev/sda1 bs=4096 #ok
创建分区(使用gparted)
- 创建分区表-gpt 2。
- / dev / sda1 ext2 1.5GB#启动
- / dev / sda2 linux-swap 4GB #swap
- / dev / sda3 ext4 15 GB #root
- / dev / sda4 ext4 FREESPACE #home
- 创建分区表-gpt 2。
加密卷
cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda1 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda2 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda3 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 /dev/sda4
打开加密卷
cryptsetup luksOpen /dev/sda1 boot cryptsetup luksOpen /dev/sda2 swap cryptsetup luksOpen /dev/sda3 root cryptsetup luksOpen /dev/sda4 home
格式
mkfs.ext2 /dev/mapper/boot mkswap /dev/mapper/swap mkfs.ext4 /dev/mapper/root mkfs.ext2 /dev/mapper/home
安装(使用普遍性)
- / dev / sda上的引导程序
- / dev / sda1-用作ext2-挂载点/ boot
- / dev / sda2-用作ext2-挂载点/ boot
- / dev / sda3-用作ext2-挂载点/ boot
- / dev / sda4-用作ext2-挂载点/ boot
最后,安装程序会警告grub-install失败(因为引导卷已加密),因此请选择“继续而不使用引导程序”。
清理启动卷
mkfs.ext2 /dev/mapper/boot
挂载量
mkdir /mnt/root mount /dev/mapper/root /mnt/root mount /dev/mapper/boot /mnt/root/boot
更新fstab和crypttab
sudo blkid [/dev/sr0: UUID="2015-10-21-16-17-40-00" LABEL="Ubuntu 15.10 amd64" TYPE="iso9660" PTUUID="429817b4" PTTYPE="dos" /dev/sda1: UUID="...#1" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda2: UUID="...#2" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda3: UUID="...#3" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda4: UUID="...#4" TYPE="crypto_LUKS" PARTUUID="..." /dev/mapper/boot: UUID="..." TYPE="ext2" /dev/mapper/swap: UUID="..." TYPE="swap" /dev/mapper/root: UUID="..." TYPE="ext4" /dev/mapper/home: UUID="..." TYPE="ext4"]
fstab
#<file system> <mount point> <type> <options> <dump> <pass> UUID=#1 /boot ext2 defaults 0 2 UUID=#2 none swap sw 0 0 UUID=#3 / ext4 errors=remount-ro 0 1 UUID=#4 /home ext4 defaults 0 2
加密表
boot UUID=#1 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool, time=3000 swap UUID=#2 luks,swap,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 root UUID=#3 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 home UUID=#4 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=5000
更新initramfs映像
cd /mnt sudo chroot root mount -t proc proc /proc mount -t sysfs sys /sys mount -t devpts devpts /dev/pts update-initramfs -u #ok
配置引导程序(
/etc/default/grub
)GRUB_ENABLE_CRYPTODISK=y GRUB_PRELOAD_MODULES="luks cryptodisk" GRUB_CMDLINE_LINUX="cryptdevice=UUID#3:root root=/dev/mapper/root resume=/dev/mapper/swap crypto=whirlpool:twofish-xts-plain64:512:0:"
创建配置文件
$ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/root'.]
在外面尝试
$ exit $ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.]
在此之前,我是否犯了任何错误?如何继续正确配置和安装grub?
/boot
了一切的安装点。我希望那是一个错字。2. /dev
chroot 时没有挂载,但是挂载了devpts。Oo
grub
+您的标题。我想您在pavelkogan.com/2014/05/23/luks-full-disk-encryption(这是该主题上的第一个Google搜索)中找到了加密过程。如果没有,也许会有所帮助。好问题!还有祝你好运!