在u盘中刷入debian live,并添加一个加密持久化存储分区

如果不需要加密分区,使用任意能想到的方式刷入iso即可。

我想要直接在u盘安装debian live,而不是通过ventoy加载。先刷入镜像,再使用fdisk进行分区会由于debian live分区奇怪导致无法启动,GParted和parted也没有帮助。因此使用工具 mkusb

1. 在ubuntu安装mkusb (debian操作稍麻烦点)

# 启用 universe 仓库并添加 mkusb 官方源
sudo add-apt-repository universe
sudo add-apt-repository ppa:mkusb/ppa

# 更新并安装
sudo apt update
sudo apt install mkusb mkusb-nox usb-pack-efi -y

我在ventoy启动ubuntu,尝试挂载ventoy u盘中的debian live镜像失败。因此考虑直接通过另一个u盘拷入,或者直接wget下载到本地。

2. 刷入系统并分区

  1. 启动程序:在终端输入 sudo mkusb。选择d 开始,即 dus (Classic, easy to use),这是 mkusb 最经典、也是功能最完整的向导模式。
  2. 安全提示:此时会弹出一个警告窗口,问你是否运行(Run mkusb?),点击 Yes
  3. 主菜单:选择第一项 Install (make a boot device),点击 OK。
  4. 模式选择(关键):选择 'Persistent live' - only Debian and Ubuntu,点击 OK。
  5. 选择镜像:在弹出的文件浏览器中,找到你的 debian-live.iso
  6. 选择目标 U 盘:仔细核对,选中你的 U 盘(例如 sdb),点击 OK。
  7. select method/tool 选择 p (‘dus-Persistent’, classic dus method)。即需要的“Persistent(持久化)”
  8. persistent live drive settings 保持默认都不勾选
  9. 空间分配
    • mkusb 会非常贴心地问你:“持久化分区要占可用空间的百分之几?”
    • 例如,你可以拖动滑块或输入 50%
    • (剩下的 50% 它会帮你做成一个名为 usbdata 的 NTFS 分区,你插到 Windows 电脑上也能当普通 U 盘存文件!),不需要此分区,因此直接拉满100%(需要就保留)
    • select pack 选择默认的usb-pack-efi-1
  10. 最终确认:勾选 Go ahead,点击 Go

3. 加密分区

首先确认 mkusb 把持久化分区分配到了几号

lsblk -f /dev/sdb

找到带有 persistence 标签或者体积最大的那个分区(通常是 /dev/sdb4 或 /dev/sdb5)。

假设你确认了目标分区是 /dev/sdb5务必替换为自己 lsblk 看到的实际编号):

sudo cryptsetup luksFormat --type luks2 --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sdb5

输入大写的 YES,然后输入你要设置的保险箱密码。

解开刚建好的加密层,并在里面建立 Debian 认识的持久化格式:

sudo cryptsetup open /dev/sdb5 my_vault
sudo mkfs.ext4 -L persistence /dev/mapper/my_vault

答案是:随时可以更改,而且非常简单。 LUKS 加密机制极其高级,它支持所谓的“密钥槽(Key Slots)”,你可以随时修改密码,甚至可以同时设置多个不同的密码来解锁同一个 U 盘。

更改密码不需要格式化,也不会丢失任何数据。操作如下:

1. 找到底层的物理分区编号

在终端输入:

lsblk

找到你的 U 盘,看一下被标记为 crypt 的那个分区叫什么(通常是 /dev/sdb5 或 /dev/sdc5 之类,注意不是 /dev/dm-0,必须找它下面的物理盘符)。

2. 执行修改密码命令

假设你通过 lsblk 确认了加密分区是 /dev/sdb5

sudo cryptsetup luksChangeKey /dev/sdb5

3. 按照提示输入

终端会依次提示你:

  1. Enter any existing passphrase:(输入你现在的密码,输入时屏幕不会有任何显示,输完按回车)。
  2. Enter new passphrase for key slot:(输入你想要的新密码)。
  3. Verify passphrase:(再次输入新密码确认)。

只要没报错,密码就瞬间修改完成了!下次开机解锁时,直接使用新密码即可。

4. 在内存中运行

最开始选择运行方式时,直接按e编辑启动参数

在大概第二行 linux 最长的那行末尾添加 空格 toram

在 Debian Live 系统中,你可以通过几种简单的方法来确认系统是直接从 U 盘读取数据,还是已经完全加载到了内存(RAM)中。

通常,这取决于你在启动时的引导参数(Boot Parameters)中是否使用了 toram 选项。

1. 检查启动参数(最直接的方法)

查看内核启动时携带的指令。如果其中包含 toram,说明系统在启动时尝试将整个文件系统镜像加载进 RAM。

运行以下命令:

cat /proc/cmdline
  • 如果看到 toram 说明系统运行在 RAM 中。
  • 如果没有 toram 说明系统按常规模式运行,即实时从 U 盘读取数据。

2. 使用 lsblk 查看挂载点

通过查看设备挂载情况,可以观察“介质”在哪里。

运行命令:

lsblk
  • 常规模式: 你会看到你的 U 盘分区(如 /dev/sdb1)被挂载在 /run/live/medium。这意味着系统仍在使用 U 盘。
  • RAM 模式(toram): 在某些配置下,如果成功加载到内存,/run/live/medium 可能会被卸载,或者你会发现根目录对应的 loop 设备不再频繁访问 U 盘分区。

3. 检查 df 磁盘占用

查看文件系统的来源:

df -h | grep /run/live
  • 如果 /run/live/medium 指向一个物理设备(如 /dev/sdX),且系统运行缓慢(取决于 U 盘速度),通常是 U 盘运行。
  • 如果系统是 toram 模式,你会发现系统响应极快,且在拔掉 U 盘后(如果已手动卸载介质),系统依然能正常运行程序。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!无需注册,过短或乱码评论会被屏蔽。
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容