从科技网:
当您缩小分区时,某些文件(例如,分页文件或卷影副本存储区域)无法自动重新定位,并且您无法将分配的空间减少到不可移动文件所在位置之外。
这些不可移动的文件到底是什么?为什么它们不可移动?从文件系统的角度来看,我猜这可能不是底层 NTFS 的限制?
答案1
TLDR 版本:我成功使用 Ubuntu LiveCD 和 gparted 缩小了我的主 Windows 7 分区。其余的只是为初学者详细说明/我在冒险之前想知道的内容……并且我在备用硬件上完成了所有冒险工作,所以我的数据没有受到威胁。
我试图将一个 500GB 硬盘和 100GB 数据缩小到可以装入 250GB SSD 的程度。Windows 碎片整理和 Auslogics DiskDefrag(目前免费)可以帮我缩小 C 分区的大部分,但不是全部。在系统保留分区、C 分区和恢复分区(按此顺序)之间,大约有 280 GB 的分区;对于新的 SSD 来说太大了。下面是我让它工作的方法。注意:我的做法很冒险。我有备份,并且我在备用硬盘上完成了所有工作,从未真正接触过我的原始驱动器。
步骤 0. 使用 Windows 分区管理器尽可能缩小分区。这是最佳做法,但对我来说不起作用。
- 运行 Auslogics 来查看数据是如何分布在我的 C 分区中的。结果发现 Windows 在 C 分区中间放置了大约 40 个微小的系统文件,从而阻止分区管理器进一步缩小它。
- 我制作了一个系统映像并将其放到了备用硬盘上。(我使用了 Windows 的“创建系统映像”,转到备用计算机并使用 Windows 安装 USB 将该映像恢复到备用硬盘上)同样,我没有在当前硬盘上工作,只在备用副本上工作。完成此步骤后,我在备用计算机上运行了原始系统的可启动副本。
- 在我的备用系统上,我从 Ubuntu LiveCD 启动。Ubuntu 桌面的安装介质带有“试用 Ubuntu”选项:这就是“LiveCD”。它让 Ubuntu 从 USB 记忆棒运行,并且您的硬盘上没有任何实际使用的文件。我运行了 gparted(CTRL+ALT+T 打开终端,“sudo gparted”启动程序)。
- 在 GParted 中,我可以看到我在 Auslogics 中看到的系统文件不再存在;它们显然是 Windows 在启动期间创建的临时文件,这些文件在分区中被设置为 200GB。我将 C 分区缩小到可接受的大小,并将恢复分区移动到 C 分区的末尾。总大小为 230GB。点击“确定”进行更改。关闭系统。
- 从备用硬盘启动备用计算机。第一次启动时,Windows 自动运行启动修复,修复了需要修复的所有问题,然后启动到 Windows。这就是我在备用硬件上执行所有操作的原因,这样即使硬件损坏,我的原始系统仍然完好无损。第二次启动时,它启动完美。我的系统功能齐全,仅占用了备用 500GB 硬盘上的前 230GB 空间。
- 在备用系统上,我使用 Windows 创建了系统映像。在原始系统中,用新 SSD 替换了原始 HDD。从 Windows 安装介质启动以将系统映像恢复到我的新 SSD 上。
这就是我将 500GB HDD 复制到 250GB SSD 的方法。这不容易,但这是一个有趣的挑战。