我正在尝试从包含我已处置的硬盘驱动器 (HDD) 图像的 .img 文件中执行 ddrescue。
以下是我lsblk
现在的整个系统:
/media/Dummy/Image.img
包含我想要恢复的目标图像。
/dev/sda/sda1
是我打算恢复所有磁盘信息的位置。但这也是我现在运行操作系统的地方。无论在线指导到目前为止我所看到的基本上只是说要执行:
ddrescue -f /media/Dummy/Image.img /dev/sda /media/CentOS6/rescue.logfile
我知道这不切实际,但我仍然继续这样做(虚拟化),导致整个系统崩溃。我仍然不确定我是否正确遵循了说明。
我还创建了另一个空磁盘空间
/media/restores
现在我打算恢复这些东西。但是这个也不起作用。
根据说明,我需要先卸载目标磁盘,然后umount /media/restores
在该目标上继续执行 ddrescue:
ddrescue -f /media/Dummy/Image.img /dev/sda/sda3 /media/CentOS6/rescue.logfile
这说:
ddrescue: Can't open output file: Not a directory.
如果我挂载 /dev/sda/sda3 并执行相同的操作:
ddrescue -f /media/Dummy/Image.img /dev/sda/sda3 /media/CentOS6/rescue.logfile
或者,ddrescue -f /media/Dummy/Image.img /media/restores /media/CentOS6/rescue.logfile
我收到相同的错误信息: ddrescue: Can't open output file: Not a directory.
谁能帮助我理解 ddrescue 以及如何正确地做到这一点。
答案1
无论指南说什么,你都不应该盲目遵循。特别是如果你的镜像不是根据指南创建的,否则你将丢失数据。
不存在这样的事/dev/sda/sda3
,只有/dev/sda3
。
但是,如果文件包含整个磁盘映像[1](包括分区表),则将其写入 /dev/sda3 将不起作用,除非您打算将其用于虚拟机。
如果它是一个带分区的映像,并且您想要恢复到/dev/sda
,但您无法恢复,因为它被正在运行的系统使用,您应该启动 LiveCD 并从那里继续。但请注意,没有办法恢复,sda 上的任何内容都将丢失,包括/home
不在单独分区上的您的。
[1]:你可以使用以下方法检查图片中的内容kpartx
,它将列出分区(如果有),或者使用-a
开关创建块设备。