目前我已安装 Windows XP 和 Windows 7 双启动。我一直想删除我的 XP 安装(正在等待购买外部硬盘来备份数据)以便在 Windows 7 分区中获得更多空间,因为我的空间已经不够了。
以下是我的驱动器中的分区:
/sda1 - Primary - Windows XP - 150GB
/sda2 - Extended
--/sda5 - Logical - Data - 99GB
--/sda6 - Logical - Windows 7 - 50GB
它们的显示顺序就像是 HDD 中的物理顺序一样(从左到右,即 sda1 在前,然后是 sda2,等等)。
我备份了所有数据,并使用 GParted(来自 Ubuntu LiveUSB)尝试:
- 删除包含 Windows XP 的整个分区
- 将我的 Windows 7 分区设为主分区,以便我的系统可以从该分区启动
- 使用已删除的 Windows XP 分区留下的 150GB 未分配空间来扩展 Windows 7 分区(有 50GB),所以我的 Windows 7 分区最终有 200GB
但是,我尝试使用 GParted,但不知道该怎么做。我不太清楚如何将分区更改sda6
为主分区,并将其放置在可以使用sda1
(删除后)剩余空间进行扩展的位置。我同意保留sda5
为逻辑分区。据我尝试,删除分区后我唯一能做的事情sda1
就是扩展sda2
,但这并不是我想要的。
谢谢
编辑:我也有 Windows 7 安装盘,因此如果 MBR 表被修改,我可以从中修复它。
答案1
您可以使用fixparts
,这是 Linux、Windows、Mac OS 和 FreeBSD 中存在的一个实用实用程序。您可以下载从此网页。您还可以找到大量文档这里。
由于你已经有一个 Ubuntu Live Stick,我建议你从那里启动,选择Try Ubuntu without installing
。我不记得 是否fixparts
已经在 Live 上;无论如何,打开终端并输入
man fixparts
如果你得到答复,否则你可以通过以下方式安装
sudo apt-get install gdisk
(感谢@RodSmith 指出这一点)。
现在我将认为您的启动盘是 /dev/sdb,而您的固定磁盘是 /dev/sda。如果不是这样,请相应地更改以下内容。
简单挂载你的硬盘:
sudo mount /dev/sda5 /mnt
将当前分区表保存到安全的地方:
sfdisk -d /dev/sda > /mnt/parts.txt
请记住,USB 上的文件是临时的:关闭 PC 后,它们会立即丢失。因此,您必须将上述文件保存在与 USB 不同的驱动器上;这就是我建议安装上述分区的原因。如果您需要重新加载上述分区表,命令为:
sfdisk -f /dev/sda < /mnt/parts.txt
现在卸载上面的分区,
sudo umount /mnt
并开始fixparts
:
fixparts /dev/sda
现在p
将打印分区表,h
打印可用的命令,r
将逻辑分区转变为主分区,w
将更改写入磁盘。
上面引用的教程解释了在什么条件下可以将主分区转换为逻辑分区,反之亦然,但更能说明问题的是下表fixparts
:
Can Be Can Be
Number Boot Start Sector End Sector Status Logical Primary Code
1 * 62 1171799 logical Y Y 0x07
2 1171800 1562399 primary Y 0x83
3 1562462 3124799 primary Y 0x0C
5 3124862 3980213 primary Y 0xAF
它非常清楚地显示了哪个分区可以改变逻辑/主要状态。
完成后,将更改(w
)写入磁盘,然后无需 USB 驱动器重新启动。
编辑:
确保您的 /etc/apt/sources.list 包含以下所有行:
deb http://us.archive.ubuntu.com/ubuntu/ saucy main restricted
deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ saucy multiverse
deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates multiverse
deb http://us.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ saucy-security main restricted
deb http://security.ubuntu.com/ubuntu/ saucy-security universe
deb http://security.ubuntu.com/ubuntu/ saucy-security multiverse
deb http://archive.canonical.com/ubuntu/ saucy partner
deb http://extras.ubuntu.com/ubuntu/ saucy main
这是适用于 Ubuntu Saucy Salamander (13.10)的,请适应您正在运行的版本(准确吗?)。
答案2
实际上,如果您成功地将 Windows 7 安装从逻辑分区更改为主分区,它可能会变得混乱,因为这肯定会改变其分区号,并且引导加载程序可能再也找不到它了(也许 win7 已经变得更智能了,但 XP 肯定会因此而受阻)。我建议遵循 Lawrence 的建议,只需删除 sda1 分区,然后调整扩展分区的大小以考虑额外的可用空间,然后在下一步中将当前可用空间添加到数据分区或移动该分区,然后调整操作系统分区的大小。
与往常一样,对于这种性质的变化,请确保所有您不想丢失的数据都已备份在外部介质上。