我有 Ubuntu 16.04,想全新安装切换到 18.04。我还安装了 Windows 10,想缩小 Win 10 系统分区以重新安装 Ubuntu。
有两种方法可以实现此目的:
- 从 Windows 内部缩小 Win 10 分区,然后使用未分配的空间作为新的/扩大的 Ubuntu 分区
- 在安装 Ubuntu 期间使用 GParted 缩小 Win 10 分区。
哪种方法更安全?我应该补充一点,Win 系统分区和 Ubuntu 分区之间有一个 Windows 恢复分区。我可以用 GParted 安全地移动它吗?
答案1
最安全的方法是使用 Windows 10 来缩小其自己的分区。
Windows 10 更了解磁盘分区的最后使用区域。Ubuntu / gparted 无法像 Windows 10 那样可靠地缩小分区。
例如,上周末我想克隆 16.04 并测试升级到 18.04。我的 Windows 分区为 411 GB,只使用了 100 GB。Windows 10 最多只能缩小 25 GB,因为它看到使用的文件位于分区末尾附近。如果需要更多空间,Windows 10 将不得不对磁盘进行碎片整理。
答案2
以防万一有人像我一样在 2020 年发现这一点,这就是我的经历。
我在新的 1TB SSD 的左半部分安装了 Windows 10,右半部分只安装了普通的旧 ext4 文件系统(无操作系统)。Windows 10 安装非常新,空间非常充足。
我尝试使用 WindowsDisk Management
来缩小我的分区,但正如许多其他人会同意的那样,它说它只能缩小最多 2GB 左右。我运行了图形和命令行碎片整理,但那个数字没有改变。
然后我从 Ubuntu 20.04 live USB 启动,GParted
删除我的 ext4 分区,缩小分区C:
,然后将 Windows 恢复分区移到左侧以填充空间。最后一步给出了一个可怕的警告,你只需点击一下即可。为了安全起见,我最终在每个步骤之间启动了 Windows,然后整个过程没有出现任何问题。
我很高兴看到 Windows 10 似乎已经成熟,并且不会因为事情发生变化而发脾气。
总之:GParted
与 Windows 10 完美兼容。
答案3
总结
ntfsresize
& gparted
(使用ntfsresize
)应该可以很好地调整 ntfs 文件系统的大小但如果您可以访问 Windows,那么它也应该可以正常工作。
讲话答案指出 Windows 通常无法对分区进行碎片整理 + 调整大小 - 这是事实,但通常仅适用于您尝试调整系统 ( C:
) 驱动器的大小同时从中运行 Windows 时。
也有一些方法可以缓解这种情况。
理由
可靠性ntfsresize
作为微软已经讨论过 - 传统观点认为,调整 NTFS 分区大小的“最安全”方法是从 Windows 进行调整。
评论中提出的理由WinEunuuchs2Unix 的答案指出,尽管基于unixntfsresize
的工具手册页状态
尚未发现可靠性问题。
这是一个积极的迹象——
然而,当ntfsresize
描述它适用的 Windows 系统时,该列表已过时& 使没有提到 Windows 10。
ntfsresize 程序可以安全地调整 Windows XP、Windows Server 2003、Windows 2000、Windows NT4 和 Longhorn NTFS 文件系统的大小,且不会丢失数据。支持所有 NTFS 版本,适用于 32 位和 64 位 Windows。
这可能意味着该工具在 Windows 10 管理的分区上不安全ntfs
,但实际上这不应该是一个问题。
ntfs
自 2001 年与 Windows XP 一起发布 NTFS 3.1(又名 NTFS 5.1)以来,该标准一直未发生改变。
鉴于套件内的工具ntfs-3g
支持rw
对文件系统的访问ntfs
,因此“Windows 10 更了解磁盘分区的最后使用区域。”的说法并不适用,特别是在我的情况下,我正在调整大小的分区是从 ubuntu 挂载和写入的。
修复 Windows 分区管理没有缩小整个可用空间的问题
发生这种情况的原因是,Windows 使用一些大文件来维持状态,当系统锁定这些文件时,这些文件无法被移动或碎片整理。
通常的嫌疑人是hyberfil.sys
、 和pagefile.sys
。
如果某些文件存储在分区边缘附近,它们将阻止该点以外的大小调整。
它们可以被暂时禁用,这将允许您正确地调整 Windows 分区的大小(尽管在这种情况下pagefile.sys
,您会希望尽快重新启用它)。