如何从已设为交换分区的 NTFS 分区恢复数据?

如何从已设为交换分区的 NTFS 分区恢复数据?

我的 Windows 分区上有极其重要的东西,在安装 ubuntu 10.10 期间,当它说我应该创建一个称为交换空间的东西时,我选择它作为交换空间(甚至不知道它实际上意味着什么)

Grub2 没有出现,所以我没有选择启动 Ubuntu 或 Windows。在 Ubuntu 中,我也没有将我的 Windows 分区作为可移动设备。当我转到磁盘实用程序并选择sda2(即我的 Windows 分区)并单击编辑分区并选择HPFS/NTFS类型并勾选可启动并单击确定时,图表中 sda2 右下角的小处理符号继续旋转,大约 10 到 15 分钟后,它出现未知错误,因此,我仍然无法使用我的 Windows。

我甚至比对 Ubuntu 一无所知的初学者还要糟糕,所以请耐心等待并帮助我。

答案1

不要让恐慌侵袭你。在尝试任何事情之前,请按照以下步骤操作:

笔记:要打开一个程序,只需按下Super打开破折号,然后搜索其名称。

  1. 打开你的电脑。相反,去获取 Ubuntu live-CD 并使用它启动。
  2. 立即地启动后,打开终端并使用以下命令禁用交换分区:

    sudo swapoff -a
    

    它是很重要否则你的 Ubuntu 将覆写内存不足时分区的内容。

  3. (可选)如果有足够空间的外部磁盘,请保存完整副本您的驱动器:

    sudo apt-get install gddrescue
    cd /media/your-external-disk
    ddrescue -v /dev/sd? backup.dd state.log
    

    确保?用损坏驱动器的盘符替换。
    运行分区如果你不知道它是哪一个。

  4. 安装测试磁盘和:

    sudo apt-get install testdisk
    

    然后用 运行它sudo testdisk

  5. 这个程序可能会拯救你!
    然后,只需按照这些步骤 很小心
    如果您幸运的话,您将能够访问您的原始文件并恢复您的分区!

答案2

您可能无法从 ubuntu 安装访问该分区,因为它被用作交换空间,不应卸载。您可以尝试使用像 parted magic 这样的 live cdhttp://partedmagic.com/doku.php?id=start从那里启动并访问您的 sda2 分区。如果您在安装后没有大量使用 ubuntu 系统,那么您可能仍然可以恢复该分区中的数据,但当该分区用作 ubuntu 系统的交换分区时,您的数据很可能被覆盖并丢失。

您可以尝试使用 parted magic live 会话中的 Testdisk 来恢复您的 ntfs 分区

答案3

我遇到过同样的问题,甚至更糟——我设法将我的一个 NTFS 驱动器和 linux /home ext4 分区转换为交换分区。按照 Alba 的建议,使用 testdisk 恢复 NTFS 分区相对简单。恢复 ext4 需要更多步骤:使用 testdisk 恢复后,linux-mint live boot 驱动器的 gparted 仍将主分区视为交换分区。在 testdisk 中,我必须执行以下操作:选择磁盘和分区类型后,转到高级,选择我的 ext4 分区,然后选择底部的 [类型],将类型更改为“MS Data”,然后更改为“ext4”,之后底部会有一个 [超级块] 选项。这给了我一个超级块位置列表(我猜是备份),如下所示:

     Partition                  Start        End    Size in sectors



MS Data                614402048  894853119  280451072 [Home]
superblock 0, blocksize=4096 [Home]
superblock 32768, blocksize=4096 [Home]
superblock 98304, blocksize=4096 [Home]
superblock 163840, blocksize=4096 [Home]
superblock 229376, blocksize=4096 [Home]
superblock 294912, blocksize=4096 [Home]
superblock 819200, blocksize=4096 [Home]
superblock 884736, blocksize=4096 [Home]
superblock 1605632, blocksize=4096 [Home]
superblock 2654208, blocksize=4096 [Home]

To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device

因此在单独的终端选项卡中我运行

fsck.ext4 -p -b 32768 -B 4096 /dev/sda1

最后,gparted 将驱动器视为 ext4 而不是交换驱动器,我设法挂载驱动器并最终看到所有文件

答案4

我遇到了完全相同的问题,并且能够恢复分区,它甚至可以像事故发生前一样启动 Windows。

使用 testdisk 时,如果有许多分区而您不确定要取消删除哪个分区,我所做的是首先找到我想要恢复的丢失分区并取消删除它(将类型从 D 更改为 P 或 L),然后对于 testdisk 中的其余分区 - 一次切换一个类型(在我的情况下从 D(删除)更改为 P(主)),testdisk 将在底部告诉您结构是正常还是错误(红色)。当扇区重叠时,它就是错误的,因此您也可以通过查看每个分区的起始和结束扇区来判断。此外,只要结构正常,未删除的分区都显示为绿色,当发生冲突时,所有行都变为白色。

然后我按照@Alba 提供的链接最后一部分所述从启动备份恢复了启动,我的 Windows 启动成功。

相关内容