两天来我一直在尝试修复它,但就是无法修复。事情太混乱了。我的 Windows 运行良好,但无法安装任何 Linux。GParted 显示错误,不允许分区重叠。
以下是输出:sudo fdisk -l -u /dev/sda
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000001
Device Boot Start End Blocks Id System
/dev/sda1 * 63 135848514 67924226 7 HPFS/NTFS/exFAT
/dev/sda2 135852032 219426815 41787392 7 HPFS/NTFS/exFAT
/dev/sda3 219426814 270635007 25604097 f W95 Ext'd (LBA)
/dev/sda4 270635008 312578047 20971520 7 HPFS/NTFS/exFAT
/dev/sda5 219426816 238880767 9726976 7 HPFS/NTFS/exFAT
/dev/sda6 238882816 270635007 15876096 7 HPFS/NTFS/exFAT
请告诉我如何修复这些扇区。我是菜鸟。
答案1
您的问题是/dev/sda2
结束于扇区 219,426,815,但/dev/sda3
开始于扇区 219,426,814 —— 因此,它们重叠。写入 的末尾/dev/sda2
将破坏/dev/sda3
,这非常危险,因为是一个扩展分区,这意味着它是和/dev/sda3
的容器。这样的写入(到 的末尾)可能会导致最后两个分区完全丢失。/dev/sda5
/dev/sda6
/dev/sda2
如果我正确读取了这些值,修复这个问题将很困难。问题是逻辑分区在开始之前需要至少一个空闲扇区。您的/dev/sda1
、/dev/sda2
和/dev/sda6
都有这样的间隙;但/dev/sda4
和/dev/sda5
没有这样的间隙,所以必须保持为主分区。逻辑分区也必须是连续的。假设您有五个主分区或逻辑分区,您必须将其中至少两个转换为逻辑形式才能制作合法的分区表。唯一可以这样转换的两个是/dev/sda1
和/dev/sda2
——但看起来/dev/sda1
是您的 Windows 启动分区,将其转换为逻辑形式将导致其无法启动。(可以使用我的FixParts 程序,gdisk
它是Ubuntu 软件包的一部分。)
总的来说,我的第一个建议是备份磁盘上的所有内容!这是因为磁盘处于不安全状态。尝试修复磁盘的任何操作都有可能引发更严重的问题,因此备份至关重要。
备份后,解决问题的一种方法如下:
- 使用 Ubuntu 实时启动并将
gdisk
磁盘从 MBR 转换为 GPT 格式,如文档gdisk
。 这将导致 Windows 无法启动! - 使用 GParted 或紧急 Windows 磁盘中的工具,调整分区大小,以便在任何您想要合乎逻辑的分区之前留出一个短暂的间隙。单个扇区足够大,但使用 GParted,可能会产生约 1MiB 的间隙。没关系。既然您要尝试安装 Ubuntu,您不妨打开足够大的间隙来安装 Ubuntu——但我暂时不会为 Ubuntu 创建新分区。
- 使用
gdisk
,将 GPT 反向转换为 MBR。您将能够选择哪些分区是主分区,哪些是逻辑分区。确保/dev/sda1
是主分区。 - 使用 Windows 紧急磁盘重新安装引导加载程序。
- 希望它有效。
这个过程非常危险;有很多事情可能会出错。但从长远来看,这可能并不比保持原样更危险,因为你的/dev/sda5
和/dev/sda6
可能随时消失。
另一种方法是备份所有内容,重新分区,然后恢复所有内容。如果您在使用我概述的程序时遇到严重问题,可能会出现这种情况,因此即使您尝试了我建议的“修复”,也要做好这样做的准备。您还可以尝试一种混合程序 - 备份/dev/sda5
和/dev/sda6
,删除它们和/dev/sda3
(存放它们的扩展分区)fdisk
在 Ubuntu 中使用,在它们的位置创建新的分区,然后恢复数据。
另一种方法是将磁盘转换为 GPT 格式并安装 EFI 模式引导加载程序。这只有在您拥有 EFI 固件时才有效,EFI 固件从 2011 年中期开始变得普遍;它很可能不适用于较早的计算机。如果您有一台较新的机器,您可以阅读有关引导模式转换的信息这里。这种方法之所以有效,是因为 GPT 不使用逻辑分区,因此转换为 GPT 会删除/dev/sda3
,只留下它包含的分区,重叠部分就消失了。(这也是我之前的过程暂时转换为 GPT 的原因——您的分区布局在 GPT 中是合法的,这将使 GParted 能够调整分区大小。)