我有一个 U 盘,我用 LUKS 加密。最近电脑崩溃了。我可以打开加密设备,没有任何明显问题,但当我尝试安装驱动器(作为 root)时,出现以下错误:
EXT4-fs (dm-1): write access unavailable, cannot proceed.
mount: /media/thumb: cannot mount /dev/mapper/thumb read-only.
dmesg 给我:
EXT4-fs (dm-1): INFO: Recovery required on read-only filesystem
EXT4-fs (dm-1): write access unavailable, cannot proceed
好的,那么 fsck 吧?嗯...
fsck.ext4: Operation not permitted while trying to open /dev/mapper/thumb
You must have r/w access to the filesystem or be root
当然,我是以 root 身份运行它的。
有人有什么建议吗?我被困住了吗?
运行 Arch,如果这有区别的话。
编辑:问题是 SD 卡上的读/写开关处于“只读”位置。所以一旦我把它放好,我就可以毫无问题地对分区进行 fsck。尽管如此,提供的解决方案足以从分区中获取数据,所以我会留下这个问题,以防其他人遇到同样的问题(因为谷歌对此并没有太多了解)。我要去角落里度过剩下的夜晚。干杯!
答案1
有几种方法可以进行。我可能采取的方法是将磁盘的未加密版本复制到一个文件中,然后对其进行操作。为此,我会(采取额外步骤以减少失败的可能性):
使用以下命令打开块设备
cryptsetup LuksOpen /dev/sdX 加密usb
将未加密版本复制到文件中
pv < /dev/mapper/encryptedusb > /path/to/unencrypted.file
创建一个环回设备,以块设备的形式访问未加密的文件(可能不是必需的,但允许某些块操作成功,否则可能会失败。)
losetup /dev/loop0 /path/to/unecrypted.file
按照任何正常文件系统尝试在 /dev/loop0 上进行数据恢复,例如 fsck 磁盘,尝试挂载它,如果失败则在其上运行 photorec 等等。