所以我读过维基百科和这个答案,我还是有点不知所措。在维基百科中,感觉很多都是可选的。
这就是我所做的。我使用 Manjaro 安装到单个分区,我可能会后悔,并且我启用了全盘加密。我在启动 Windows 或 Linux 时观察到,系统会提示我输入密码,然后我会看到实际的 grub 菜单。
我不确定哪些选项会起作用。我认为 LVM 已启用,但不是 100%,并且我确定我选择了 ext4。我考虑过修改 grub.conf 生成脚本,但我不确定在哪里,也不确定这是否是正确的地方。
在 Manjaro 上添加discard
、no_read_workqueue
、 和 的正确答案是什么?no_write_workqueue
更新:
这是我最新的配置,但我总是陷入救援外壳。我正在尝试使用 systemd cryptsetup 来完成所有操作,这似乎表明我使用luks.*
参数。
笔记:这个名字root
来自于我在救援外壳中的手动安装。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS MOUNTPOINT UUID
loop0 7:0 0 450.2M 1 loop /var/lib/snapd/snap/wickrme/543 /var/lib/snapd/snap/wickrme/543
loop1 7:1 0 55.4M 1 loop /var/lib/snapd/snap/core18/2074 /var/lib/snapd/snap/core18/2074
loop2 7:2 0 65.1M 1 loop /var/lib/snapd/snap/gtk-common-themes/1515 /var/lib/snapd/snap/gtk-common-themes/1515
loop3 7:3 0 32.3M 1 loop /var/lib/snapd/snap/snapd/12398 /var/lib/snapd/snap/snapd/12398
zram0 253:0 0 1.5G 0 disk [SWAP] [SWAP]
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 100M 0 part /boot/efi /boot/efi 6CEB-F417
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 780.6G 0 part
├─nvme0n1p4 259:4 0 508M 0 part CA343C30343C223D
├─nvme0n1p5 259:5 0 146.5G 0 part 74c51543-eb14-4f61-afeb-b5de6c10a32a
│ └─root 254:0 0 146.5G 0 crypt / / e0a93c98-88a8-4fc9-9948-acdb423d05fd
└─nvme0n1p6 259:6 0 18.6G 0 part [SWAP] [SWAP] 72db96da-87e4-4b17-a622-6a4d56b314c6
4 ❯ cryptsetup luksDump /dev/nvme0n1p5 # ~
LUKS header information for /dev/nvme0n1p5
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 512
UUID: 74c51543-eb14-4f61-afeb-b5de6c10a32a
❯ cat /etc/default/grub | grep -v -e '^[[:space:]]*$' -e '^#' # ~
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet luks.uuid=74c51543-eb14-4f61-afeb-b5de6c10a32a luks.options=discard,no_read_workqueue,no_write_workqueue root=/dev/mapper/luks-e0a93c98-88a8-4fc9-9948-acdb423d05fd splash apparmor=1 security=apparmor udev.log_priority=3"
GRUB_CMDLINE_LINUX=""
GRUB_SAVEDEFAULT=true
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_TERMINAL_INPUT=console
GRUB_GFXMODE=1280x768x32,auto
GRUB_DISABLE_RECOVERY=false
GRUB_DISABLE_OS_PROBER=false
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"
GRUB_ROOT_FS_RO=true
GRUB_ENABLE_CRYPTODISK=y
据我了解systemd-cryptsetup-generator
不应该需要更多选项,我确实有一个,/etc/crypttab
但所有内容都被注释掉了。
我相当有信心这GRUB_CMDLINE_LINUX_DEFAULT
是我唯一的问题,但我不确定它应该是什么。谷歌没有找到我很多(没有)关于如何使用blkid
or的输出执行此操作的示例lsblk
。
答案1
我终于想通了,为了修复我的靴子,并获得我想要的功能,我必须这样做。
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=74c51543-eb14-4f61-afeb-b5de6c10a32a:root:allow-discards,no-read-workqueue,no-write-workqueue quiet udev.log_priority=3"
答案2
TLDR - 如果可能的话,不要加密整个磁盘,如果可能的话,在最后给它一些完全未分区的喘息空间,并在 fstab 中保留大部分默认值。
这是我不确定的用户选择权衡之一,所以我宁可谨慎,也选择与维护者合作。
话虽如此,TRIM 命令有可能延长 SSD 的使用寿命,但它们也有可能增加 LUKS 分区的脆弱性。
安装它们实际上会缩短驱动器的使用寿命多少?你觉得舒服多少?
实际上必须对驱动器的多少部分进行加密?使用 TRIM 加密的数据有多脆弱?
它也可以在 cron 上手动完成,或者作为服务
我在多台机器上坚持使用默认设置,并且总是加密根,但通常只有 100GB LUKS 分区,至少有根和主目录,在我的桌面上,我通常也安装了一些没有加密的驱动器任何分区。总的来说,与没有加密分区的驱动器相比,我认为我没有看到任何个人驱动器因此而提前死亡。我不记得曾经拥有过一块死掉的SSD,除了一台过热笔记本电脑上的一个行为不当的msata(当机器变热时,它会在某些时候没有数据)。但我听说某些 RAID 5 硬件控制器由于某些类似的情况而杀死了 SSD。编辑:我收回不拥有任何死SSD的说法,我有一盒SSD驱动器,这些驱动器一开始就不好,一些零碎的东西很糟糕,但特别是一堆来自知名品牌的廉价SSD信电脑公司由一家办公零售公司在街区附近出售,众所周知,这些公司在使用几个小时后就崩溃了。
就 SSD 磨损而言,这是可能的,诺阿泰姆更重要的是,特别是在读取密集型驱动器/分区上:
为了缓解这种情况,我通常甚至不会对驱动器的最后 10% 进行分区,即使我填满了磁盘,磨损旋转器也会大量磨损(这不包括文件系统的典型保留块)。我已经有十多年没有在个人计算机上使用过交换分区了。我不加密整个磁盘,我在 LUKS 上的 LVM 内加密 root、home usr 和 var,然后在我尝试放置无关紧要的内容的地方创建其他数据分区,例如 /mnt/steam SteamLibrary 的分区,因为它可以轻松删除并重新下载。 100GB LUKS 分区通常对于 arch root usr var home 分区来说绰绰有余,而大多数现代机器我都有大量 RAM,所以我使用 tmpfs 作为 /tmp。我安装了大量软件,所以 /usr 是:
du -sh /usr
26G /usr
要查看是否有 lvm,请使用命令 pvscan lvscan vgscan 示例:
[root@examplenode1 ~]# lvscan
ACTIVE '/dev/examplemachineVG/examplemachineRoot' [40.00 GiB] inherit
ACTIVE '/dev/examplemachineVG/examplemachineHome' [70.98 GiB] inherit
[root@examplenode1 ~]# vgscan
Found volume group "examplemachineVG" using metadata type lvm2
[root@examplenode1 ~]# pvscan
PV /dev/mapper/examplemachinecrypt VG examplemachineVG lvm2 [110.98 GiB / 0 free]
Total: 1 [110.98 GiB] / in use: 1 [110.98 GiB] / in no VG: 0 [0 ]
还要检查内容
/dev/mapper/
和
/etc/fstab
/etc/mtab