使用fsck检查和修复LUKS加密磁盘?


13

我的Ubuntu 11.04计算机将LUKS加密用于root,swap和home。例行fsck -n揭示了我需要修复的一组错误。fsck需要卸载分区。停顿之前,我只是从USB记忆棒启动并从那里修复运行fsck。LUKS加密分区需要执行哪些步骤?

Answers:


26

确切的方法取决于您如何设置luk,以及是否在luk之上具有LVM或luk卷中是否只有文件系统。

如果除了luks之外没有LVM,那么您可能会做这样的事情。

cryptsetup luksOpen /dev/rawdevice somename
fsck /dev/mapper/somename

# or

cryptsetup luksOpen /dev/sda2 _dev_sda2
fsck /dev/mapper/_dev_sda2

如果您使用的是Debian / Ubuntu安装程序提供的LKS on LKS选项,则需要启动LVM。因此,vgchange -aly在打开加密的卷之后,请对运行fsck /dev/mapper/lvname

(如果缺少命令,则可能需要首先执行apt-get install cryptsetup。同样,如果需要vgchangedo apt-get install lvm。)


不管出于什么原因cryptsetup luksOpen /dev/rawdevice somename,都无法解决我的fsck问题,尽管vgscanvgchange -ay“活动” 之后它可以正常显示...我不得不手动创建原始设备vgscan --mknodes,然后fsck在其中显示逻辑卷vgscanfsck /dev/cryptVG/root-希望这可以帮助其他人
Dmitri DB

嗯,不管我用的cryptsetup还是cryptdisk_start,我得到相同的结果时,我尝试fsck/dev/mapper/ext_crypt is in use。我检查了一下mount,它没有安装在任何地方。
Nikodemus RIP

9

您需要先打开LUKS卷。

cryptsetup luksOpen /dev/(whatever) someName

这将要求您提供密码,然后创建/dev/mapper/someName,这是可以在其fsck上运行的纯文本设备。完成后,

cryptsetup luksClose someName

将删除/dev/mapper/someName纯文本设备。


1

步骤应相同。

使用Debian(在我的情况下为7.7.0 amd64 netinst)USB闪存盘,可以进入救援模式,该模式应识别LUKS分区,提示输入密码并进行映射。它还标识并映射其中包含的任何LVM分区。如果您不挂载根分区,则在shell提示下,您只需e2fsck -f -c /dev/system_name/partition_name等。

这个问题已经有四年了,但是我认为程序没有改变。


不过,我应该指出,fsck -n在已挂载的文件系统上执行操作几乎可以确保报告fsck卸载后实际上不存在的错误!

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.