AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 918021
Accepted
Yvain
Yvain
Asked: 2017-05-24 00:10:36 +0800 CST2017-05-24 00:10:36 +0800 CST 2017-05-24 00:10:36 +0800 CST

加密自定义安装

  • 772

我的电脑运行 Ubuntu。我想在另一种介质上安装 Ubuntu。我希望启用加密,但由于 ubuntu 安装程序的默认选择(擦除/沿着/等...)仅涉及默认驱动器,我必须选择“其他”并手动在另一个驱动器上创建分区,我创建〜 128mb 部分用于启动,然后我迷路了,如果我用其余空间创建一个加密分区,我无法分割它,所以我没有交换;相反,如果我创建两个加密分区,它似乎不正确,因为它想设置两个不同的密码......

那我该如何设置交换呢?(安装期间或安装后)。

system-installation
  • 4 4 个回答
  • 44980 Views

4 个回答

  • Voted
  1. Best Answer
    b_laoshi
    2017-05-24T00:46:44+08:002017-05-24T00:46:44+08:00

    2020-07-16 更新:这可能不适用于已远离 Ubiquity 安装程序的 Ubuntu 风格(例如,现在使用 Calamares 的 Lubuntu),因为其中一些安装程序甚至会停用他们自己没有的 LVM 分区,在预安装过程中配置。因此,使为系统安装配置的分区不可用。

    如何使用LVM 和单个加密分区完成此操作##

    警告

    首先128M太小,无法开机!我用1G。否则,必然会发生的事情是您可能忘记删除旧内核并且 /boot 将填满,并且您将不得不处理尝试从系统中删除旧内核的痛苦,以便您可以获取apt或apt-get工作再次。即使使用 1G,也要确保不时删除旧内核。

    后续步骤不适用于新手用户。
    更新:我创建了一个脚本,它将为您执行以下操作等等!您所要做的就是在安装之前从 Live OS 运行它。你可以在我的博客上找到一篇文章。


    从实时操作系统预安装

    您想在手动分区时设置 LUKS 和 LVM!我在 Ubuntu 16.04.2 / 18.04 / 20.04 上测试了这个

    从 Live OS 启动 Ubuntu 并选择选项以在不安装的情况下试用 Ubuntu。请按照我在下面概述的步骤操作。假设您要安装到 /dev/sdb。

    1. 使用您选择的工具对驱动器进行分区:我使用 fdisk 在 msdos 分区表上进行了如下设置:
      • 其他分区:现有的操作系​​统——我们不关心这些
      • sdb1:/引导(1G)
      • sdb2:LUKS 分区(磁盘的其余部分)
    2. 设置 LUKS
      • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
      • sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
      • 虽然没有必要,但最好用零填充 LUKS 分区,以便在加密状态下的分区中填充随机数据。sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M 请注意,这可能需要很长时间!
    3. 在 /dev/mapper/CryptDisk 上设置 LVM
      • sudo pvcreate /dev/mapper/CryptDisk
      • sudo vgcreate vg0 /dev/mapper/CryptDisk
      • sudo lvcreate -n swap -L 2G vg0
      • sudo lvcreate -n root -L 10G vg0
      • sudo lvcreate -n home -l +100%FREE vg0

    从实时操作系统安装

    1. 现在您可以安装了。当您进入安装的“安装类型”部分时,选择“其他”选项。然后根据您的需要手动分配 /dev/mapper/vg0-* 分区。不要忘记将 /dev/sdb1 设置为 /boot。/boot 分区不得加密。如果是,我们将无法启动。将“用于引导加载程序安装的设备”更改为 /dev/sdb,然后继续安装。
    2. 安装完成后不要重启!选择“继续测试”选项。

    实时操作系统的安装后配置

    如果您希望系统启动,这一点非常重要!我花了很多时间研究这个以找出这些安装后的步骤。就我而言,我实际上是这样做的,因为我想在 /dev/sda 上自定义 /boot 的大小,但所有这些工作也应该适用于您的情况。

    1. 在终端中,键入以下内容并查找 /dev/sdb2 的 UUID。记下该 UUID 以备后用。

      • sudo blkid | grep LUKS
      • 我机器上的重要行是/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
    2. 接下来让我们重新安装新安装的系统,以便我们进行更多更改。

      • sudo mount /dev/vg0/root /mnt
      • sudo mount /dev/vg0/home /mnt/home# 这可能不是必需的
      • sudo mount /dev/sdb1 /mnt/boot
      • sudo mount --bind /dev /mnt/dev# 我不完全确定这是必要的
      • sudo mount --bind /run/lvm /mnt/run/lvm
      • (仅当您使用 EFI 时): sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
    3. 现在运行sudo chroot /mnt以访问已安装的系统

    4. 从 chroot 安装更多的东西

      • mount -t proc proc /proc
      • mount -t sysfs sys /sys
      • mount -t devpts devpts /dev/pts
    5. 设置密码表。使用您最喜欢的文本编辑器,创建文件 /etc/crypttab 并添加以下行,将 UUID 更改为磁盘的 UUID。

    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
    1. 最后,重建一些引导文件。
    • update-initramfs -k all -c -update-grub
    1. 重新启动,系统应该要求输入密码才能在启动时解密!

    特别感谢Martin Eve、EGIDIO DOCILE和blog.botux.fr上的人们发布的教程。通过从他们的帖子中提取碎片并进行一些额外的故障排除,我终于能够弄清楚这一点。

    我尝试了很多次,但一次又一次地失败了。我必须根据错误消息为自己解决的问题是sudo mount --bind /run/lvm /mnt/run/lvm

    • 45
  2. b_laoshi
    2017-05-24T01:08:02+08:002017-05-24T01:08:02+08:00

    如何完成这个多重加密分区并且没有LVM

    因为我之前的答案太长了,如果您不想使用 LVM,我将发布第二个答案,该答案采用不同的方法。

    您可以创建多个加密分区并使用decrypt_derived脚本,这样您只需要输入一次密码。查看此博客文章以获取分步说明。作者使用密钥文件,但解密派生的 LUKS 脚本也足够了。

    • 3
  3. ernstkl
    2018-02-06T12:25:47+08:002018-02-06T12:25:47+08:00

    完成任务的一种方法是使用 ubuntu 网络安装程序https://www.ubuntu.com/download/alternative-downloads

    它不是图形安装程序。但是在您选择带有加密的完整磁盘安装后,它会为您提供明确的磁盘选择。

    • 2
  4. Yrogirg
    2019-12-29T18:42:50+08:002019-12-29T18:42:50+08:00

    对于那些不断遇到这个问题想要稍微改变 Ubuntu 的默认分区的人来说,这就是答案。例如,删除swap分区并增加/boot大小。我想很多人会不鼓励遵循 b_laoshi 的指示,因为所需的步骤很多。

    因此,对于带有加密的简单自定义分区,我建议使用“擦除磁盘并安装 Ubuntu”和“加密新的 Ubuntu 安装以确保安全”选项。我们要改变的是这个默认分区的配置。

    此配置包含在/lib/partman/recipes[-arch]/. 为了我自己,我一直在改变/lib/partman/recipes-amd64-efi/30atomic。为了获得 538M efi、1024M和ext4/boot的其余部分,我将文件编辑为/

    538 538 538 fat32
        $iflabel{ gpt }
        $reusemethod{ }
        method{ efi }
        format{ } .
    
    1024 1024 1024 ext4
        $defaultignore{ }
        $lvmignore{ }
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        mountpoint{ /boot } .    
    
    900 10000 -1 ext4
        $lvmok{ }
        method{ format }
        format{ }
        use_filesystem{ }
        filesystem{ ext4 }
        mountpoint{ / } .
    

    请注意,一旦您在安装程序中选择要擦除的磁盘,它会提示您分区摘要,因此您可以检查该技巧是否有效并且您是否获得了所需的分区。另请参阅https://askubuntu.com/a/678074/47073。

    • 2

相关问题

  • Wubi 和常规的“Windows 旁边”安装有什么区别?

  • 如何在 Windows 7 中运行 Ubuntu?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve