首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复或安装加密的文件系统

修复或安装加密的文件系统
EN

Ask Ubuntu用户
提问于 2019-12-21 03:53:35
回答 1查看 1.2K关注 0票数 0

我试图保存一个系统中的数据,这个系统过去生活在一个很小的usb接口上,但我怀疑是硬件故障。这个系统是以只读的方式暂停根文件系统,而不是理解它即将死亡,我应该尝试保存一些数据,我选择了快速重新启动,但从那时起就无法以任何方式重新进入它。

它是一个Ubuntu18.04,在安装时选择了加密的根文件系统,所以我想是LUKS。如果我现在试图引导它,我得到紫色的屏幕,然后是一个错误消息,然后我得到(initramfs)提示符。我尝试按照这里的说明对文件系统执行手动fsck操作,但始终获得以下类型的i/o错误,

Buffer I/O error on dev dm-1, logical block 4, lost async page page write

print_req_error: critical target error, dev sda, sector 9896192 flags 801

它以

fsck.ext4: unable to set superblock flags on /dev/mapper/ubuntu--vg-root

并告诉我文件系统仍然存在错误。我试着指定备份超级块,但没有成功。

我现在试着把棍子放进一个健康的系统中,解密并安装它,看看我是否还能保存一些东西。当插入棍子时,提示我输入密钥,显然它会对其进行解密,请参见syslog:

代码语言:javascript
复制
Dec 21 03:38:42 X1 kernel: [36919.500937] usb 2-1: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
Dec 21 03:38:42 X1 kernel: [36919.521737] usb 2-1: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00
Dec 21 03:38:42 X1 kernel: [36919.521742] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 21 03:38:42 X1 kernel: [36919.521745] usb 2-1: Product: Ultra Fit
Dec 21 03:38:42 X1 kernel: [36919.521748] usb 2-1: Manufacturer: SanDisk
Dec 21 03:38:42 X1 kernel: [36919.521751] usb 2-1: SerialNumber: 4C530001210812112290
Dec 21 03:38:42 X1 kernel: [36919.523118] usb-storage 2-1:1.0: USB Mass Storage device detected
Dec 21 03:38:42 X1 kernel: [36919.523697] scsi host1: usb-storage 2-1:1.0
Dec 21 03:38:42 X1 mtp-probe: checking bus 2, device 3: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-1"
Dec 21 03:38:42 X1 mtp-probe: bus: 2, device: 3 was not an MTP device
Dec 21 03:38:42 X1 upowerd[1354]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0
Dec 21 03:38:42 X1 upowerd[1354]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-1
Dec 21 03:38:43 X1 kernel: [36920.553722] scsi 1:0:0:0: Direct-Access     SanDisk  Ultra Fit        1.00 PQ: 0 ANSI: 6
Dec 21 03:38:43 X1 kernel: [36920.554585] sd 1:0:0:0: Attached scsi generic sg1 type 0
Dec 21 03:38:43 X1 kernel: [36920.554754] sd 1:0:0:0: [sdb] 489160704 512-byte logical blocks: (250 GB/233 GiB)
Dec 21 03:38:43 X1 kernel: [36920.555633] sd 1:0:0:0: [sdb] Write Protect is on
Dec 21 03:38:43 X1 kernel: [36920.555641] sd 1:0:0:0: [sdb] Mode Sense: 43 00 80 00
Dec 21 03:38:43 X1 kernel: [36920.555952] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Dec 21 03:38:43 X1 kernel: [36920.566040]  sdb: sdb1 sdb2 < sdb5 >
Dec 21 03:38:43 X1 kernel: [36920.568791] sd 1:0:0:0: [sdb] Attached SCSI removable disk
Dec 21 03:38:43 X1 kernel: [36920.961099] EXT4-fs (sdb1): INFO: recovery required on readonly filesystem
Dec 21 03:38:43 X1 kernel: [36920.961100] EXT4-fs (sdb1): write access unavailable, cannot proceed (try mounting with noload)
Dec 21 03:38:43 X1 gnome-shell[1828]: Unable to mount volume 767 MB Volume: Gio.IOErrorEnum: Error mounting /dev/sdb1 at /media/peter/0b776e27-d039-4fc5-ad20-462e5e36e031: cannot mount /dev/sdb1 read-only
Dec 21 03:38:50 X1 gnome-shell[1828]: Unable to mount volume 250 GB Encrypted: Gio.IOErrorEnum: Operation was cancelled
Dec 21 03:38:50 X1 udisksd[1004]: Unlocked LUKS device /dev/sdb5 as /dev/dm-3

现在

代码语言:javascript
复制
$ sudo fsck /dev/dm-3 -y
fsck from util-linux 2.31.1

没别的了。不知道这是好消息还是坏消息,或者我走错了轨道。只要尝试挂载它,我就会得到以下unknown filesystem type 'LVM2_member'.,也没有帮助:

代码语言:javascript
复制
$ udisksctl mount -b /dev/dm-3 
Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.

现在我仍然不太明白LVM和LUKS是如何工作的,我也不知道这条棍子有多坏。接下来我能试试什么?

编辑:我正在尝试进入磁盘,将其插入一个健康的系统中。有人问我密码,系统显然被解密了。

代码语言:javascript
复制
Jan  4 13:15:59 X1 kernel: [258125.811027] usb 2-2: new SuperSpeed Gen 1 USB device number 6 using xhci_hcd
Jan  4 13:15:59 X1 kernel: [258125.835919] usb 2-2: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00
Jan  4 13:15:59 X1 kernel: [258125.835924] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan  4 13:15:59 X1 kernel: [258125.835927] usb 2-2: Product: Ultra Fit
Jan  4 13:15:59 X1 kernel: [258125.835930] usb 2-2: Manufacturer: SanDisk
Jan  4 13:15:59 X1 kernel: [258125.835933] usb 2-2: SerialNumber: 4C530001210812112290
Jan  4 13:15:59 X1 kernel: [258125.837229] usb-storage 2-2:1.0: USB Mass Storage device detected
Jan  4 13:15:59 X1 kernel: [258125.837738] scsi host1: usb-storage 2-2:1.0
Jan  4 13:15:59 X1 mtp-probe: checking bus 2, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2"
Jan  4 13:15:59 X1 mtp-probe: bus: 2, device: 6 was not an MTP device
Jan  4 13:15:59 X1 upowerd[1314]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0
Jan  4 13:15:59 X1 upowerd[1314]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-2
Jan  4 13:16:00 X1 kernel: [258126.856090] scsi 1:0:0:0: Direct-Access     SanDisk  Ultra Fit        1.00 PQ: 0 ANSI: 6
Jan  4 13:16:00 X1 kernel: [258126.856856] sd 1:0:0:0: Attached scsi generic sg1 type 0
Jan  4 13:16:00 X1 kernel: [258126.856963] sd 1:0:0:0: [sdb] 489160704 512-byte logical blocks: (250 GB/233 GiB)
Jan  4 13:16:00 X1 kernel: [258126.857870] sd 1:0:0:0: [sdb] Write Protect is on
Jan  4 13:16:00 X1 kernel: [258126.857875] sd 1:0:0:0: [sdb] Mode Sense: 43 00 80 00
Jan  4 13:16:00 X1 kernel: [258126.858195] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Jan  4 13:16:00 X1 kernel: [258126.867874]  sdb: sdb1 sdb2 < sdb5 >
Jan  4 13:16:00 X1 kernel: [258126.869975] sd 1:0:0:0: [sdb] Attached SCSI removable disk
Jan  4 13:16:00 X1 kernel: [258127.138645] EXT4-fs (sdb1): INFO: recovery required on readonly filesystem
Jan  4 13:16:00 X1 kernel: [258127.138646] EXT4-fs (sdb1): write access unavailable, cannot proceed (try mounting with noload)
Jan  4 13:16:00 X1 gnome-shell[1852]: Unable to mount volume 767 MB Volume: Gio.IOErrorEnum: Error mounting /dev/sdb1 at /media/peter/0b776e27-d039-4fc5-ad20-462e5e36e031: cannot mount /dev/sdb1 read-only
Jan  4 13:16:03 X1 systemd-resolved[924]: Got packet on unexpected IP range, refusing.
Jan  4 13:16:03 X1 systemd-resolved[924]: Got packet on unexpected IP range, refusing.
Jan  4 13:16:05 X1 gnome-shell[1852]: Unable to mount volume 250 GB Encrypted: Gio.IOErrorEnum: Operation was cancelled
Jan  4 13:16:05 X1 udisksd[1095]: Unlocked LUKS device /dev/sdb5 as /dev/dm-3

如果我试图挂载/dev/dm-3,我只能得到。

未知文件系统类型‘LVM2 2_member’。

lvmdiskscan给我看了音量:

/dev/mapper/luks-477637dc-44d2-4076-9519-194cc4bf46c6 [ 232,53 GiB] LVM physical volume

但是lvslvscan没有给我看任何与usb棒有关的东西。

我认为这是失败的,并已进入一种只读模式。我想知道是否有什么方法可以挂载根partion /dev/sdb5 5读-但仍然尝试从其中获取一些东西?也许我可以在其他地方安装dd /dev/dm-3并尝试安装它?

EN

回答 1

Ask Ubuntu用户

发布于 2020-02-16 21:07:42

请记录在案:

最后,我再次尝试将加密分区上的数据保存在即将消亡的USB棒上,这显然进入了只读模式,使实际分区(至少在我所能看到的范围内)无法挂载。将粘贴插入USB端口仍然会导致密码提示显示,分区将被解密,但将无法挂载。因此,将解密后的图像作为一个整体进行复制,然后将其作为回送设备安装似乎是一条道路:

sudo dd if=/dev/dm-3 of=tmp/oldstick status=progress

这大约花了8个小时,大约250 GB。接下来,新复制的图像必须与回送设备连接。

sudo losetup --all

显示到/dev/loop17为止的所有东西都已经在使用了,所以第18号必须使用:

sudo losetup /dev/loop18 tmp/oldstick

之后,它出现在sudo pvs的输出中,但与当前运行的系统具有相同的VG。尝试了几次对vgrename的不同调用,然后我发现了vgimportclone。又有几次尝试失败了,成功的一次似乎已经失败了。

sudo vgimportclone -i /dev/loop18,然后它出现在sudo pvs的输出中作为ubuntu-vg1

sudo vgchange -a y ubuntu-vg1

然后激活该卷,然后sudo lvscan除其他外,输出以下行:

ACTIVE '/dev/ubuntu-vg1/root' [231,57 GiB] inherit

然后,它向我指出了我实际上需要使用什么设备作为挂载命令的参数,这样,在几次失败的尝试之后

sudo mount -o ro /dev/ubuntu-vg1/root tmp/oldroot/

终于把我带回了我的旧体制。

这种方法的灵感主要来自于这里

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1197620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档