在我的公司笔记本电脑上,我有Windows 11,它有加密的磁盘,工作的hibernate,在登录时我只需要提供一次密码。我想和Ubuntu一起在我的个人笔记本上有同样的东西。我有Ubuntu 20.04。有一些混乱,所以我想做干净的Ubuntu22.04安装。并且想知道什么是加密分区的最好和最简单的方法(LUKS,或者其他什么?)这将允许我跳过GRUB,并在登录密码登录时解锁磁盘/分区。同时,我需要/需要一个正常工作的hibernate。注意,我不是使用交换文件,而是使用分区。
RN我使用这个配置来进行休眠:https://gist.github.com/Mlocik97/5936fa55d4971f05c6a1c0fb10c4c9bb,也就是我用内容设置了sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
文件:
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
但有效是因为我没有加密的交换密码。我在GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/nvme0n1p3"
文件中设置了像/etc/default/grub
文件中的简历参数,但是现在当我打开计算机时,GRUB菜单显示,即使是Ubuntu也只是我个人笔记本上的系统,我想跳过这一步。
我尝试在KVM (QEMU/KVM)中安装Ubuntu22.04。对于加密的虚拟磁盘(LUKS),安装程序在LVM分区上为我提供了选项,但当我这样做时,我需要给它两次密码,一次用于解锁磁盘/分区,第二次是在登录时,我认为这很烦人,并且希望我只给它一次密码。
因此,我正在解决两个问题,使hibernate与加密交换工作,并解锁分区使用登录密码。有人能帮帮我吗?
发布于 2022-11-17 15:50:49
这个答案是为了使用加密的交换分区启用hibernate。此答案不涉及使用TPM或其他绕过LUKS密码提示的方法。
首先增加交换分区:
在加密的LVM上更改交换大小?(kubuntu 20.04安装)
第二,启用hibernate
增加加密交换的大小 https://gist.github.com/tjvr/f82004565139a5b13031af1ce5a50a02
)
使用默认安装过程在笔记本中安装Ubuntu。在高级选项下选择LUKS (和LVM)。测试系统以确保一切正常。
我的笔记本电脑有4GB RAM和一个1GB加密的交换分区,来自安装过程。我用的公式是:
<#>New交换分区大小= RAM的大小+内存的大小(内存的大小)
所以我需要一个6GB的交换。也就是说,我需要向现有的交换分区添加5GB。
Note:分区号、逻辑卷名等来自没有其他操作系统的笔记本电脑上Ubuntu22.04的干净默认安装(加密)。
从Ubuntu安装USB启动并使用“试试Ubuntu”选项。
打开终端并以超级用户的身份运行后续命令
sudo su
加密设备不应被解锁。以下列方式核实:
lsblk
输出不应该有任何crypt
或lvm
。
解锁加密装置
cryptsetup open /dev/sda4 crypt
在出现提示时输入LUKS密码。
获取逻辑卷标识符
lsblk
# └─sda4 8:6 0 464,6G 0 part
# └─sda4_crypt 253:0 0 464,5G 0 crypt
# ├─vgubuntu-root 253:1 0 463,6G 0 lvm /
# └─vgubuntu-swap_1 253:2 0 980M 0 lvm [SWAP]
缩小逻辑根卷和文件系统。
lvresize --verbose --resizefs -L -5G /dev/mapper/vgubuntu-root
# `lvresize` => resize a logical volume
# --verbose => Give more info.
# --resizefs => Resize filesystem AND LV with fsadm(8).
# -L => Specifies the new size of the LV,
# +/- add/subtracts to/from current size, g|G is GiB.
检查逻辑根卷的文件系统是否有错误
e2fsck -f /dev/mapper/vgubuntu-root
# `e2fsck` => Check a Linux ext2/ext3/ext4 file system
# -f => Force checking even if the file system seems clean.
增加空位
lvresize --verbose -L +5G /dev/mapper/vgubuntu-swap_1
关闭终端并重新启动到内部LUKS加密驱动器。
The命令 free
shows旧交换大小。
来源:增加加密交换的大小
终端中的以下命令应修复此问题:
sudo swapoff -a
sudo cryptsetup resize vgubuntu-swap_1
sudo mkswap /dev/mapper/vgubuntu-swap_1
sudo swapon -a
再次使用free
命令来验证是否有所需的交换大小。
Note:我不需要对问题中提到的 /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
as文件进行任何更改(或创建)。
编辑文件/etc/initramfs-tools/conf.d/resume
并添加:
RESUME=/dev/mapper/vgubuntu-swap_1
编辑文件/etc/default/grub
,使以GRUB_CMDLINE_LINUX_DEFAULT
开头的行看起来如下所示:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/mapper/vgubuntu-swap_1"
接下来的两个命令将分别更新intramfs和grub:
sudo update-initramfs -u -k all
sudo update-grub
sudo reboot
要测试运行:
sudo systemctl hibernate
如果一切顺利,你的笔记本电脑应该冬眠。
希望这能有所帮助
https://askubuntu.com/questions/1441208
复制相似问题