下面的消息来自另一篇帖子,我按照他们所说的方式进行了尝试。首先,我安装了 USB 驱动器:
sudo mount -o ro,noexec /dev/sdb1 /media
我将它安装为只读,以防止在复制它时对 USB 造成任何损坏或更改,特别是如果我if
将of
. 在下面的消息中,我不确定他们是想让我使用sdb
还是sdb#
for if
。
在尝试任何恢复之前,我会通过逐块备份整个设备来保存当前状态:
dd if=/dev/sdb bs=16M of=/somelargedisk/rawusbdrive
其中 /dev/sdb 是您的 USB 驱动器(使用 lsblk 检查哪个),/somelargedisk/rawusbdrive 是您选择的路径和文件名具有大量空间的磁盘/分区。然后,如果写入磁盘的恢复工具造成的损害大于修复,您可以返回(交换 if 和 of 字段)。”
/dev/sdb
是整个U盘,/dev/sdb1
是磁盘上的一个分区。如果要对整个磁盘进行映像,则需要/dev/sdb
.也就是说,在这种情况下,以只读方式安装对您没有任何帮助。您正在绕过文件系统(这是只读效果所在)并直接使用块设备。因此,如果您混淆
i
和o
,无论如何您都会破坏磁盘。这里没有太多好处
dd
,您不妨使用cat
:(或者
pv
为了一个漂亮的进度显示。)备份整个驱动器的最佳方法是 via,
dd
因为您可以比使用cat
. 当 U 盘未挂载时,请运行,如下root
:您的 USB 驱动器在哪里
/dev/sdb
(使用 检查哪个lsblk
),并且/somelargedisk/rawusbdrive
是您在具有大量空间的磁盘/分区上选择的路径和文件名。您可以通过交换
if
和of
参数来恢复该备份dd
。请注意:
dd
如果参数错误,可以轻松覆盖无法修复的所有数据(通过合理的努力)!这是在我对您的其他问题的评论中首次提到的 用于从 USB 闪存驱动器删除文件的最佳 linux 恢复工具?