尝试通过 Boot Repair 修复双启动后,Windows 无法检测到硬盘

尝试通过 Boot Repair 修复双启动后,Windows 无法检测到硬盘

我已经使用 Ubuntu 16.04 和 Windows 7 好几年了,运行非常顺畅。但出现问题后,使用 Boot-Repair 恢复了 GRUB 加载菜单。

  1. 我无法再加载 Windows 7
  2. 尝试使用安装盘恢复 Windows 7 后,我发现无法检测到硬盘和应该安装 Windows 7 的分区。
  3. 但 Ubuntu 仍然检测到操作系统分区
  4. 我运行了 GParted 试图查看此消息弹出时发生了什么:

驱动程序描述符显示物理块大小为 2048 字节,但 Linux 显示为 512 字节。

在探索我的操作系统分区(/dev/sda3)后,我发现了以下警告消息:

无法读取此文件系统的内容!因此某些操作可能不可用。原因可能是缺少软件包。ntfs 文件系统支持需要以下软件包列表:ntfs-3g / ntfsprogs。

  1. GParted 无法解决 /dev/sda3 上的修复文件系统 (nfts);

  2. 附加信息:

“磁盘 /dev/sda:698.7 GiB,750156374016 字节,1465149168 个扇区 单位:扇区 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 4096 字节 I/O 大小(最小/最佳):4096 字节 / 4096 字节 磁盘标签类型:dos 磁盘标识符:0xdd6865b6

    Device     Boot      Start        End    Sectors  Size Id Type
    /dev/sda1               63      80324      80262 39.2M  6 FAT16
    /dev/sda2            81920   25563135   25481216 12.2G  7 HPFS/NTFS/exFAT
    /dev/sda3         25563136 1332019199 1306456064  623G  7 HPFS/NTFS/exFAT
    /dev/sda4       1332021246 1465147391  133126146 63.5G  5 Extended
    /dev/sda5       1400381440 1431629823   31248384 14.9G 82 Linux swap / Solaris
    /dev/sda6       1431631872 1465147391   33515520   16G 83 Linux
    /dev/sda7       1332021248 1400381439   68360192 32.6G 83 Linux

分区 1 未从物理扇区边界开始。分区 4 未从物理扇区边界开始。分区表条目不按磁盘顺序排列。”

有人能帮我吗?我已经束手无策了

我怎样才能恢复 Windows 7 并解决我的问题?

答案1

以下 GParted 消息非常令人不安:

驱动程序描述符显示物理块大小为 2048 字节,但 Linux 显示为 512 字节。

大多数硬盘的逻辑扇区为 512 字节。较旧的硬盘也有 512 字节的物理扇区,但许多较新的硬盘有 4096 字节的物理扇区,每个扇区都“翻译”成八个 512 字节的扇区。一些现代磁盘有 4096 字节的物理和逻辑扇区。我所知道的唯一具有 2048 字节扇区的磁盘是光盘 - CD、DVD、磁光盘 (MO) 以及这些光盘的变体,如 CD-R。因此,GParted 说普通硬盘上的物理块(扇区)大小为 2048 是非常奇怪的。

扇区大小不是可以更改的;至少在现代硬盘上,它是固定在硬件中的。因此,GParted 声称物理扇区大小有些奇怪,这表明存在硬件故障。如果是这样,您需要更换磁盘。也许对原始文件系统进行低级复制到新磁盘将使其再次可读。另一方面,您的输出指示标准的 512 字节扇区大小(物理和逻辑)。因此,可能是您在 GParted(或它所依赖的库)fdisk中发现了一个错误。libparted

另一种可能性是 GParted 消息指的是文件系统数据块(又称“簇大小”)。根据这个微软页面,对于 NTFS,这些大小可以是 512 字节到 64 KiB,具体取决于创建文件系统的操作系统版本以及文件系统的大小。如果 NTFS 数据结构已损坏,则 Windows 可能无法启动,Linux 实用程序也无法应对。如果这个假设是正确的,那么 NTFS 修复实用程序有可能修复文件系统。请注意,有适用于 Linux 的 NTFS 修复实用程序。该ntfsfix工具只进行一些简单的检查,然后标记文件系统以在 Windows 中修复。要正确修复此文件系统,您需要启动 Windows 紧急磁盘,然后CHKDSK在其上运行,或者使用其他 Windows 文件系统修复工具。如果您认为这是原因,我建议在 Windows 论坛上寻求更多帮助,因为 NTFS 修复是 Windows 问题,而不是 Ubuntu 问题。

无论如何,我强烈建议你第一的备份整个磁盘,或者至少是 Windows 分区。这将要求目标磁盘至少与源磁盘或分区一样大。以下命令应该可以解决问题:

sudo dd if=/dev/sda of=/path/to/lots/of/space/sda.img

这会将整个设备备份/dev/sda/path/to/lots/of/space/sda.img;您可以将备份介质挂载到/path或途中的某个子目录sda.img。(当然,您可能会更改挂载点的名称。)

您可以使用类似的命令来复制整个磁盘;您只需使用of=/dev/sdb而不是of=指向文件系统上的文件的值。非常小心但是,使用 时dd,尤其是当您以整个磁盘设备为目标时;如果您反转if=of=选项,或者提供不正确的选项,您很容易毁坏原始磁盘。

相关内容