如何更改已加密的完整系统分区的名称


17

我的系统已使用dm-crypt和完全加密LVM。我最近将加密分区从/dev/sda5移至/dev/sda2

我的问题是:我怎么能更改加密分区是从映射到名字sda5_cryptsda2_crypt

我可以启动系统。但是我在启动时得到的提示说,(sda5_crypt)尽管UUID映射到/dev/sda2

  Volume group "vg" not found
  Skipping volume group vg
Unlocking the disk /dev/.../UUID  (sda5_crypt)
Enter passphrase:

我想现场引导,解密sda2,激活vgchroot/dev/vg/root和运行update-grub2,但无济于事。

仅仅编辑/etc/crypttab也不起作用。


编辑后是否重新创建了initrd /etc/crypttab
Hauke Laging

我是这么认为的:update-initramfs -t -u -k all
NR

输出grep -r sda5_crypt /etc
Hauke Laging

找到了问题:我必须/dev/sda1像运行/boot 之前一样进行安装update-initramfs
2013年

用答案代替注释,然后接受它(如果不确定,我可以自己回答),以便将该问题显示为已回答。
Hauke Laging

Answers:


21

按照以下建议更改“ sda5_crypt” crypttab:

替换OLD_NAMENEW_NAME/etc/crypttab,然后:

# dmsetup rename OLD_NAME NEW_NAME
# update-initramfs -c -t -k all
# update-grub
# reboot

2
救援是没有必要的。只需编辑crypttab,update-initramfs,然后在下次启动时将其重命名。您也可以在运行的系统中使用对其重命名dmsetup rename oldname newname。请注意,这不会释放旧名称,因为它可能正在使用中。
frostschutz

@frostschutz您必须能够以/etc/crypttab某种方式获取该文件…从initramfs外壳手动进行安装,以便可以引导正常系统,但这并不容易。如果您对cryptsetupLVM命令不太熟悉,则可以使用救援系统。
吉尔(Gilles)'所以

1
@Gilles:可以,但是问题是“我可以启动系统”。
弗罗斯特斯

你让我头疼了@nr谢谢
deitch 2016年

这是正确的方法,但需要指出更多细节:1)同样不要/etc/fstab在这些命令之前进行更新,否则您将无法安装根分区。2)您可能会收到一个错误消息,update-grub那就是找不到名字。假设您只是重命名了crypt名称,那么您可以忽略该错误,重新启动,然后update-grub在启动后运行。
Fmstrat

0

我刚遇到这个问题-并带来了额外的麻烦,我没有看到最后一个的警告update-initramfs。因此,我在中将设备重命名为crypttab,然后运行update-initramfs并重新启动,出现了问题。我按以下步骤解决了问题,基本上与nr相同,但是我不得不对命令进行了些微改动:

  1. 从USB启动Live(K)Ubuntu系统
  2. 在Dolphin /中打开设备?它将设置所有需要的配置并询问您的密码
  3. 在损坏的系统的根目录中打开控制台
  4. 逐行执行以下命令
sudo -s
# get the name the partition was mounted with, starts with luks
dmsetup ls
# rename the loop device (check with ls /dev/mapper)
dmsetup rename LUKS_NAME NEW_NAME

# prepare chroot
mount --bind /dev dev/
mount --bind /proc proc/
mount --bind /sys sys/
chroot .

# mount devices (I missed this first, you need both)
mount boot
mount /

# ready to update
update-initramfs -u -k all
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.