我正在尝试使用foremost
Ubuntu 18.04 系统上的 LibreOffice Calc 恢复丢失的 .ods 文件。
我正在运行的命令是
$ sudo foremost -i /dev/nvme0n1 -t ole -o /media/user/external-drive/recovery/
当此命令完成时,/media/user/external-drive/recovery/
文件只包含一个audit.txt
显示“0 FILES EXTRACTED”的文件。
即使我正在寻找的 .ods 文件丢失了,我也 100% 确定驱动器上还有其他应该找到的 .ods 文件。所以,一定有什么地方出错了。由于文件audit.txt
写入正确,我肯定-o
正确指定了目标,而且我可能做错了另外两件事:
-t ole
不是 .ods 文件的正确选项。man foremost
给出了不包含 .ods 的文件列表,但有ole
“PowerPoint、Word、Excel、Access 和 StarWriter”,所以据我所知,它是列表中最接近的文件。这是正确的吗?该选项应该ole
选择 .ods 文件吗?/dev/nvme0n1
不是我的硬盘。我找不到任何关于如何明确确定你的硬盘的信息,但lshw
给出了
$ sudo lshw -short -C disk
H/W path Device Class Description
=============================================================
/0/100/1d/0/0/1 /dev/nvme0n1 disk 256GB NVMe namespace
/0/0/0.0.0 /dev/sda disk 500GB External Drive
没有其他的,所以通过排除法,我不得不假设这个nvme0n1
选项是我期望找到 .ods 文件的硬盘。这错了吗?我还能做其他什么来确定这是否是正确的驱动器?
为什么foremost
无法检测到我知道存在的 .ods 文件?
编辑2) 是问题所在。查找硬盘的秘密命令是df
,而不是lshw
或lsblk
像我尝试的那样。这正确地将我的根分区标识为/dev/mapper/ubuntu--vg-root
foremost
使用正确的驱动器重新运行该命令,
$ sudo foremost -i /dev/mapper/ubuntu--vg-root -t ole -o /media/user/external-drive/recovery/
返回 20 多个格式为 的文件{9-digit number}.ole
。我读过的所有指南都没有告诉我应该如何处理这些文件;这些文件的名称毫无意义,内容不是人类可读的,而且我没有任何程序可以打开 .ole 文件。
我尝试在 LibreOffice Calc 中打开它们。其中一个是我认识的 LibreOffice Writer 文件,其余的即使在 Calc 中打开也是乱码。
再次,即使我正在寻找的文件不见了,也foremost
应该找到其他我知道确实存在于硬盘上的 .ods 文件。所有文件都位于同一个根分区上。
那么,我该如何理解foremost
返回的内容,以及如何修复它以返回它应该找到的文件?