如何在 SSD 上安装带有 LVM 和 LUKS 的 Ubuntu,并使用 LUKS 加密的 HDD 来存储戴尔 Inspiron 7580 上的数据

如何在 SSD 上安装带有 LVM 和 LUKS 的 Ubuntu,并使用 LUKS 加密的 HDD 来存储戴尔 Inspiron 7580 上的数据

Dell Inspiron 7580(较小的 SSD 和较大的 HDD)的目标是在 SSD 上安装 Ubuntu(LVM/LUKS),并使用 HDD(LUKS 加密)存储较大的文件(例如视频、图片、下载等)。我在互联网上搜索,但找不到具体的说明。

答案1

抱歉我的英语不好。首先,关于本地存储较大文件,有多种选择。一种选择是将您的 /home 安装为硬盘上的分区。您可以使用高级分区方法执行此操作。优点是它适用于所有用户,但缺点是也会将一些应用程序数据(主要是配置文件)移动到硬盘。因此,另一个选项是仅将文档、视频、图像等文件夹移动到硬盘。我在这一点上不同意之前的回答:移动这些文件夹的正确方法是编辑文件 ~/.config/user-dirs.dirs 并从环境变量(如 XDG_DOCUMENTS_DIR)更改值,而不是创建符号链接,因此这些文件夹的环境变量将是有效的文件夹路径。这些文件夹的图标和快捷方式将正常工作。

其次,您需要在启动时挂载 hdd 分区,这样您就可以更好地使用它,因为 hdd 路径将始终有效。您可以正常在 ssd 中安装系统,然后使用 gnome-disks 实用程序在 hdd 中创建 luks 分区。然后您可以选择在启动时输入密码,或者只使用密钥文件,我猜如果您的 ssd 也加密了,这是更好的选择。

教程询问密码https://averagelinuxuser.com/auto-mount-encrypted-partitions-at-boot/ 密钥文件教程https://www.golinuxcloud.com/mount-luks-encrypted-disk-partition-linux/

提示:在 /media 中安装分区将使该媒体更显眼,出现在 nautilus 中的“其他位置”,但也将在 nautilus 中无法安装,并且会始终在 ubuntu dash 中显示一个图标,就像 pendrive 一样(您可以在 gnome-tweaks 中更改它,但它也会隐藏 pendrive 图标)。我更喜欢在 /mnt(如 /mnt/hdd)中安装,或者只是在 / 中安装一个新目录,如 /data。您只需打开此目录、右键单击、属性,就可以在 nautilus 中看到该媒体中的可用磁盘空间,然后可以为该文件夹添加书签。

答案2

我花了很多时间,也不得不寻找大量信息才能成功完成这项特定任务。这就是为什么我想与其他人分享它,也许其他人会发现答案或其中的一部分很有帮助:

关于戴尔 Inspiron 7580 上的 Ubuntu,我首先找到了令人沮丧的页面
“Ubuntu 的标准映像可能根本无法在系统上运行,或者可能无法很好地运行,尽管 Canonical 和计算机制造商将尝试使用 Ubuntu 的未来标准版本对系统进行认证。”
这很奇怪,因为特殊映像可以运行,为什么戴尔不将更改反馈给社区和 Canonical? 为什么他们不能提供特殊映像供下载? 但我还有希望,因为我现在正在使用 Ubuntu 19.04,没有任何问题。

我认为一些基本的有用的评论:
无需过度配置(留出一些 SSD 空间)。这已经是一些博客为了吸引点击而定期重复的旧闻了(超级用户答案)。

很多用户看到的 SSD 信息都很旧。它们现在和 HDD 一样可靠(不可靠?)。(来源:Ubuntu 论坛热硬件Ubuntu 论坛

并查看此 Ubuntu Ask 的评论回答: “工作不会毁掉固态硬盘,但年龄会毁掉它,谷歌研究“”。

因此无需将交换分区和 var 文件夹从 SDD 传输到 HDD

在 Dell Inspiron 7580 上安装和配置 Ubuntu(19.04)
我以以下答案作为垫脚石:使用两个驱动器加密 Ubuntu 18.04 LTS 安装:主 SSD 上的操作系统,辅助 HDD 上的 /home

但在安装之前Ubuntu,确保在安装过程中识别您的 SSD。在“安装类型”步骤中,您可以选择“其他”,并查看是否显示两个驱动器(SSD + HDD)。对我来说,它是 BC501 NVMe ... 128GB 和 ST2000LM015-2E8174。

  • 如果两个驱动器都能被识别,请返回“安装类型”,然后您就可以安装带加密的 LVM(LUKS)。它会询问您要在哪个驱动器上安装 Ubuntu,然后选择 SSD“NVMe ...”。
  • 如果仅显示 HDD,请按照以下步骤识别 SSD。
  1. 将 Ubuntu 安装到较小的硬盘(通常是 SSD)上,然后检查(i)擦除磁盘、(ii)加密安装和(iii)LVM 管理。这将导致 SSD 加密,但不会触及第二个(通常是 HDD)驱动器。

当我想重新启动笔记本电脑时,它似乎尝试从 SSD 启动,但发出吱吱声后停止了,然后它启动了 HDD(在 UEFI 中称为 ubuntu),然后显示带有 GRUB 命令行的黑屏。如果您遇到这种情况,请检查以下步骤以解决问题,在我的情况下,这是错误的启动选项/顺序

  1. 打开 gParted(如果尚未安装:sudo apt install gparted)
  • 导航到你的第二个硬盘(仔细检查 /dev/sd?X)
  • 删除所有现有分区
  • 使用 ext4 文件系统创建一个新的主分区。您也可以给它贴标签,但这不是必需的。选择“应用”。
    一个 gParted 完成后,关闭 gParted。
  1. 现在,您已准备好在第二个驱动器上安装 LUKS 容器,然后对其进行格式化。在以下命令中,将 sd?X 替换为您的 SECONDARY 驱动器(而不是主驱动器)的名称,例如 sda1:sudo cryptsetup -y -v luksFormat /dev/sd?X

  2. 然后,您需要解密新分区,以便可以使用 ext4(Ubuntu 首选的现代 Linux 文件系统)对其进行格式化。sudo
    cryptsetup luksOpen /dev/sd?X sd?X_crypt
    sudo mkfs.ext4 /dev/mapper/sd?X_crypt

  3. 如果您想将第二块硬盘用作常规、经常访问的硬盘,那么有一种方法可以在启动时自动安装和解密第二块硬盘,此时您的计算机会提示您输入主硬盘解密密码。另外:我对两个硬盘都使用相同的密码,因为我预计两个不同的密码会带来更多问题。
    第一的您需要创建一个密钥文件,作为您的辅助驱动器的密码,这样您就不必在每次启动时输入(就像您的主硬盘加密密码一样)。
    sudo dd if=/dev/urandom of=/root/.keyfile bs=1024 count=4
    sudo chmod 0400 /root/.keyfile
    sudo cryptsetup luksAddKey /dev/sd?X /root/.keyfile
    一次
    密钥文件已创建,使用 nano sudo nano /etc/crypttab将以下行添加到 /etc/ crypttab
    添加此行,保存并关闭文件(/etc/crypttab)。sd?X_crypt
    UUID= /root/.keyfile luks,discard
    对我来说:sda1_crypt UUID=7e0edaa0-69f9-425d-ba9d-3f5fdff14cd5 /root/.keyfile luks,discard
    获取分区的 UUID要进入 /etc/crypttab 文件,请使用以下命令(您需要使用 sudo 才能显示所有分区):
    sudo blkid
    您想要的价值是 /dev/sd?X 的 UUID,而不是 dev/mapper/sd?X_crypt。另外请确保复制的是 UUID,而不是 PARTUUID。
    关闭并保存/etc/crypttab 文件。

  4. 将此行添加到 /etc/fstab 以在启动时实际挂载分区。(请小心使用此文件,因为它很容易导致系统无法启动,请参阅AskUbuntu 答案
    /dev/mapper/sd?X_crypt / ext4 defaults 0 2
    对我来说:/dev/mapper/sda1_crypt /media/Storage ext4 defaults,discard 0 2

  5. 然后重新启动(输入主驱动器解密密码),它应该会解密主驱动器和辅助驱动器。
    如果您发现自己无法在新分区中创建文件,则它可能仍由 root 拥有,需要将其所有权更改为您的用户。运行此命令:
    sudo chown : / -R
    重新启动并检查这(菊花链解密)是否确实如此。如果辅助驱动器自动解密,当您选择“其他位置”时,第二个驱动器应该显示在列表中,上面有一个锁定图标,但图标应该是解锁的。

我遵循了一些提示,让 Ubuntu 安装程序识别 SSD。
只有当我在 UEFI 中将 SATA 模式从 RST(RAID) 更改为 AHCI 时,它才起作用(如果您想与 Windows 进行双启动,请小心)。其他一些可能有用的步骤:

第二次安装进展顺利,我可以选择要在哪个硬盘上安装 Ubuntu 19.04(LVM+LUKS)。

黑屏,启动选项错误
当我想重新启动笔记本电脑时,它似乎试图从 SSD 启动,但发出吱吱声后停止了,然后它启动了 HDD(在 UEFI 中称为 ubuntu),然后显示带有 GRUB 命令行的黑屏。如果您遇到这种情况,请检查以下步骤以解决问题。启动 USB 安装程序后,我会看到一个快速错误:无法获取大小:0x8000000000000000e。
该错误可能与 SSD 无关(请参阅BugzillaUbuntu论坛):

关注 HowToGeek ([1][2]),我运行了启动修复程序,但没有帮助。

但我也找到另一个主题我觉得这可能很有帮助:我按照答案操作,没有考虑 USB 驱动器,而是考虑了我的 SSD。唯一的区别是我必须选择 FS1:(FSO:不起作用,它可能从 HDD 启动了 Grub)

  1. 出现戴尔徽标时,按 F2 进入 BIOS 设置。
  2. 继续启动顺序,您需要确保 BIOS 设置为 UEFI,禁用传统选项 ROM,并检查在安全启动启用行上启用了安全启动。
  3. 现在最重要的操作是……返回启动顺序(左侧的常规菜单) • 单击添加启动选项。将弹出添加启动选项窗口。在启动选项名称文本区域中键入名称(例如“Ubuntu”)。
    • 单击文件名文本区域左侧的按钮。将弹出 EFI 启动选择窗口。
    • 在文件系统下拉菜单中选择 FS1(或 FS0)和 EFI。然后使用目录部分,导航直到您可以在文件部分中选择 SHIMx64.EFI(仅适用于 Ubuntu - 对于其他发行版,如果您的 PC 不是 amd64,请使用 grubx64.efi 或 grubx.efi,无论如何它将被命名为 grubxxxxx.efi)。
  4. 现在,顶部和启动菜单中将出现一个新的启动选项。保存并退出
  5. 计算机现在应该可以顺利重新启动。

文件夹的符号链接(其他文件夹上的音乐、图片等)
ln(链接)-s(符号链接),请参阅终端中的“man ln”
如何
ln -s /路径/到/文件/路径/到/符号链接

删除当前的 Videos 文件夹(先清空它!): rm -rf ~/Videos
ln -s /media/Storage/Videos ~/Videos
ln -s /media/Storage/Pictures ~/Pictures
ln -s /media/Storage/Public ~/Public
ln -s /media/Storage/Music ~/Music
ln -s /media/Storage/Downloads ~/Downloads
ln -s /media/Storage/Online-Storage ~/Online-Storage
ln -s /media/Storage/Apps-n-Backup ~/Apps-n-Backup
ln -s /media/Storage/E-Books+Articles ~/E-Books+Articles
(参见询问Ubuntu)
有帮助:通过终端建立符号链接和右键单击建立链接之间有什么区别?

在这个设置中没有什么帮助,最好使用符号链接 gnome - 更改默认用户文件夹路径?
gedit ~/.config/用户目录.dirs

LVM 卷的 Trim 和 noatime
如何检查 TRIM 是否适用于加密卷? - 询问 Ubuntu

很多用户看到 SSD 上的旧信息。它们现在和 HDD 一样可靠(不可靠?)。因此写入并不是真正的问题。但我确实更改了 SSD 分区以使用 noatime 参数。(有关更多详细信息,请参阅Ubuntu 论坛博客确认Tldp.org堆栈指针超级用户

在 /etc/crypttab 中的 cryptdevice 选项中添加 discard 参数,以使 LUKS 接受 LVM 分区的丢弃行为。(参见世界上最隐秘的博客

/etc/fstab:/dev/mapper/ubuntu--vg-root / ext4 错误=remount-ro,discard,noatime 0 1

整个 fstab 如下所示:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>  
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro,discard,noatime 0       1  
# /boot was on /dev/nvme0n1p2 during installation  
UUID=eb0d2e85-12cf-446e-9594-92ca1005b5cd /boot           ext4    defaults        0       2  
# /boot/efi was on /dev/nvme0n1p1 during installation  
UUID=5295-E16A  /boot/efi       vfat    umask=0077      0       1  
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw,discard              0       0  
#mount HDD  
/dev/mapper/sda1_crypt  /media/Storage   ext4    defaults,discard        0       2  

要检查 TRIM 是否处于活动状态(重启后):
SDD 本身会自动修剪,由 systemd 处理,您可以使用以下命令进行检查:sudo systemctl status fstrim.timer(参见AskUbuntu 评论维基百科

LVM:sudo dmsetup table /dev/mapper/sda1_crypt --showkeys 如果最后一个命令显示结果:最后 1 allow_discards,则表示一切就绪。

注意:在加密分区上启用 TRIM 会降低加密的安全性,因为它会揭示分区的哪些部分包含数据,哪些部分不包含数据。这有助于某些类型的分析。从这个角度来看,这不会立即使您的数据可见,但它与使用稀疏文件作为加密块或设置加密分区但不使用随机数据初始化可用空间(通常建议这样做)的安全权衡类似。请参阅AskUbuntu 评论

供参考其他一些提到的戴尔 Inspiron 7580 的问题和提示
崩溃 - iwlwifi 导致 Ubuntu 19.10 系统挂起 - 咨询 Ubuntu
双启动 Ubuntu 18.04 和 Windows 10 后无法访问启动设备: - 安装 - Ask Ubuntu

相关内容