如何将NTFS分区(WinXP)从损坏的磁盘克隆到新磁盘?


10

我需要将NTFS分区从损坏的硬盘(SCSI,如果如此重要)克隆到一个新的硬盘(SATA)。

我已经在USB记忆棒上安装了Hiren的Boot CD实用程序的最新版本,并尝试了GParted,该软件告诉我无法复制/粘贴该分区,因为该分区已被Windows损坏并“标记”以运行CHKDSK。我遵循警告建议并尝试使用修复它CHKDSK /f(花费了9个小时,并且在“阶段3”之后退出并出现错误)和一个我现在无法回忆起的Linux程序,但没有成功。

我尝试使用Clonezilla进行克隆,但由于相同的原因,它也失败了。在HBCD中,有dd_rescue,但由于找不到“ ntfs.something”而再次失败。

最后,我想要的就是克隆该分区,并保留他的错误和所有内容。我可以在新驱动器上修复它。

所以我该怎么做?


CHKDSK /f“阶段3”之后返回的错误消息是什么?

Answers:


5

您当然可以尝试修复原始驱动器上的NTFS分区,但是我不建议您这样做,因为问题可能是由硬件故障引起的,并且修复可能会使情况更糟。

首先使用ddrescue对文件进行块复制。如果有任何无法复制的块,ddrescue将继续处理光盘的其余部分。

如果ddrescue找不到任何坏块,则可以尝试使用该文件上的修复软件(通过环回安装)。如果SCSI驱动器有问题,或者您只是想确保能够从头开始,请制作文件的副本,然后尝试在第二个副本上修复NTFS文件系统。由于复制有错误的磁盘可能是耗时的过程,因此您可能不得不中断该过程(因为您需要计算机,让驱动器冷却或重新启动驱动器的固件)。

这就是为什么在我的经验ddrescue是有问题的情况下,远优于比ddconv=noerrorddrescue保留有关已完成操作的日志,并根据该信息重新启动,这是该功能不可用的ddddrescue如果遇到问题区域,从末尾开始读取块也更聪明。它将以更快的速度到达映像副本状态,您可以将其用作文件系统检查的基础(并且可以继续ddrescue原始副本)。dd如果您愿意花费大量时间手动计算偏移量,则只能执行类似的操作。

您还可以将文件复制到正确大小的NTFS分区,将驱动器放入Windows计算机中,然后从那里使用本机修复工具。


1
很有用!您是否可以添加一个实际的命令行示例(与其他答案中ddrescuedd示例类似)?
landroni 2014年

2
@landroni我可以(基本上ddrescue /dev/sdX driveimage logfile),但是您确实应该花时间在阅读ddrescue文档上。如果您的系统已损坏,则在使情况变得更糟之前,有很多原因需要阅读本手册。
Anthon 2014年

我现在正在看手册页,但是其中一些选项是含糊的。什么是最保守的ddrescue等价物dd if=/dev/olddisk of=/dev/newdisk bs=4k conv=noerror,sync?请记住,它将在损坏(并且快要死)的磁盘上运行,并且“在读取错误的情况下尽力挽救数据”并不是真正的选择。谢谢!
landroni 2014年

@landroni具有我先前的评论中给出的选项,一个块中的每个扇区仅尝试一次。我知道可以改善的唯一方法是,如果您确定哪些区域可以确定并使用-i-s进行恢复,则可以。
Anthon 2014年

好吧,上一次我尝试ddrescue /dev/sr0 driveimage.iso(在暂存的CD上)时,该程序尝试多次读取很多坏扇区。我可能是错的,但ddrescue对于快要死的磁盘上没有其他限制选项的情况我会很不高兴。
landroni 2014年

3

遇到了同样的问题:即将死掉的磁盘,
带有我要首先抢救修复后的 NTFS分区
(磁盘完全消失之前)。

能够使用ntfsclone解决它:

  1. 连接两个磁盘-旧磁盘和新磁盘
  2. 从USB通过Live-Linux引导
    (也可以使用Parted Magic
  3. 在新磁盘上创建一个足够大的分区
    (为此使用gparted
  4. 注意分区的名称,因为它们以gparted
    /dev/sdaX/dev/sdbX)命名
  5. 打开一个终端窗口,然后运行以下命令:( 替换并使用步骤“ 4”中的名称。-ntfsclone将抱怨您忽略了不一致之处, 但应继续复制分区
    ntfsclone --force --ignore-fs-check --rescue --overwrite NEW-part OLD-part
    NEW-partOLD-part/dev/sd...

-完成后-

  1. 关闭电脑
  2. 断开有故障的磁盘的连接
    (现在,您要尽可能少地使用它)
  3. 再次引导PC-到Windows或Linux,
    然后尝试修复新磁盘上的分区

编辑:

-注意-
电源故障(不稳定)会导致磁盘控制器发疯,
并且比磁盘故障的可能性更大,因此最好也进行检查。
您可能会遇到这样的行为,即几分钟
(或几秒钟)内一切正常,然后在预热后立即开始疯狂运行系统。

(固定电源不会恢复丢失的数据,但是会阻止您丢失更多的数据)


1

我会尝试使用HDAT(免费软件)或可能的Spinrite(商业)修复磁盘。我已经使用了这两种工具来恢复出现故障的磁盘,并且它们在过去都运行良好。

在驱动器处于可用状态之前,我预计您的恢复工作不会太过深入。清除磁盘后,我将使用Clonezilla将其尽快复制到备用HDD。


0

我觉得这个问题应该有一个可行的例子,所以这就是我使用ddrescue的方式

0)在保修期内安装了相同大小(和品牌)的替换驱动器,并将旧驱动器移至另一个插槽

1)我使用了ubuntu启动CD

我尝试了简单的选项,但它立即产生很多错误并挂起

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
root@ubuntu:~# dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
dd: error reading ‘/dev/sdb’: Input/output error
57496+0 records in
57496+0 records out
29437952 bytes (29 MB) copied, 6.02927 s, 4.9 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+1 records in
57497+0 records out
29438464 bytes (29 MB) copied, 8.86693 s, 3.3 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+2 records in
57498+0 records out
29438976 bytes (29 MB) copied, 11.7068 s, 2.5 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+3 records in
57499+0 records out

2)阅读以下文章:

请注意,后者建议使用-d直接光盘访问,但我没有使用它

3)安装了ddrescue

sudo apt-get install gddrescue
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install gddrescue
man ddrescue

可能还需要(?)

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

4)终于运行了(如果您要复制和粘贴,请停止,sda是我的新驱动器...请注意并做功课)

ddrescue -v -r3 /dev/sdb /dev/sda ~/ddrescue.log
  • -v详细
  • -r 3次重试
  • 〜/ xx日志文件,显然可以用来重试。请注意,这仅存储在内存中,但可以复制到USB驱动器

输出:

GNU ddrescue 1.17
About to copy 1000 GBytes from /dev/sdb to /dev/sda
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:    22555 MB,  errsize:    196 kB,  current rate:   91815 kB/s
   ipos:    22555 MB,   errors:       5,    average rate:   68975 kB/s
   opos:    22555 MB,    time since last successful read:       0 s
Copying non-tried blocks...

5)启动Windows并重新激活... tbc


0

美好的一天!

关键是源磁盘损坏了多少。如果几乎被破坏了,克隆数据的唯一方法是使用专业的硬件数据恢复套件。像Atola Insight

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.