![意外将映像添加到错误的驱动器/覆盖了分区表 + NTFS 分区起始位置](https://linux22.com/image/1321107/%E6%84%8F%E5%A4%96%E5%B0%86%E6%98%A0%E5%83%8F%E6%B7%BB%E5%8A%A0%E5%88%B0%E9%94%99%E8%AF%AF%E7%9A%84%E9%A9%B1%E5%8A%A8%E5%99%A8%2F%E8%A6%86%E7%9B%96%E4%BA%86%E5%88%86%E5%8C%BA%E8%A1%A8%20%2B%20NTFS%20%E5%88%86%E5%8C%BA%E8%B5%B7%E5%A7%8B%E4%BD%8D%E7%BD%AE.png)
当我尝试复制 freenas ISO 时,我搞砸了并设置了错误的输出dd
,覆盖了错误的外部硬盘。
- 外部驱动器仅用于数据存储,系统完好无损
- 驱动器有一个 NTFS 分区,包含整个设备(2TB WD 元素)
- 驱动器是 EFI GPT
- 驱动器当时已安装,运行后可能写入/读取了几kB的数据
dd
- 驱动器仅使用几个月且运行正常(定期进行 SMART / fs 检查)
- 我还没有重启操作系统(crunchbang)
/proc/partition
仍然保存着正确的信息(并且已经被存储)- 有
dd
的输出(记录输入 / 输出 / 字节) testdrive
在快速或深度搜索中未找到任何分区- 运行 photorec 来恢复更重要的数据(几个尚未备份的最近纯文本文件)。绝大多数磁盘内容(> 80%)都是不必要的媒体文件。
- 在单独的计算机上安装 Windows
我目前的计划是让 photorec 执行其操作,然后使用 gparted 重新创建 mbr,并使用 cfdisk 使用来自 /sys/block/.../ 的扇区信息创建另一个 NTFS 分区。这是一个好的行动方案(即成功的机会)吗?或者我应该先尝试其他什么?
可能相关信息:
dd if=FreeNAS-8.0.4-RELEASE-p3-x86.iso of=/dev/sdc:
194568+0 records in
194568+0 records out
99618816 bytes (100 MB) copied
grep . /sys/block/sdc/sdc*/{start,size}:
/sys/block/sdc/sdc1/start:2048
/sys/block/sdc/sdc1/size:3907022848
cat /proc/partitions:
major minor #blocks name
** Snipped **
8 32 1953512448 sdc
8 33 1953511424 sdc1
current fdisk -l output:
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdc: 2000.4 GB, 2000396746752 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a valid partition table
答案1
您可以使用以下方法重新创建分区表:
sfdisk --no-reread /dev/sdc << EOF
unit: sectors
disk1 : start= 2048, size= 3907022848, Id=07, bootable
disk2 : start= 0, size= 0, Id= 0
disk3 : start= 0, size= 0, Id= 0
disk4 : start= 0, size= 0, Id= 0
EOF
当然,这并不意味着您能够从分区中恢复。但ntfsfix
也许能有所帮助。