如何使用不可移动的文件缩小Windows 7启动分区


114

我刚刚购买了配备Windows 7(64位)的HP笔记本电脑。它具有一个500 GB的HDD,带有三个分区:一个小的隐藏系统分区,一个12 GiB HP恢复分区和一个450 GiB C:引导分区。

我想将这个大的C:分区分成两个分区,只为系统保留100 GiB的空间,并将其余的分配给新的数据分区。

尽管Windows内置的磁盘管理实用程序提供了缩小可启动分区的选项,但是即使该分区上仅使用了20 GiB,它也只允许我将其缩小大约一半。据我了解,系统不可移动文件位于分区的中间,从而阻止磁盘管理实用程序执行我想要的操作。

而且,由于新的HP笔记本电脑不附带操作系统安装盘(它们仅允许您自己创建恢复盘),所以我不能只对HDD进行分区然后重新安装操作系统。

因此,有没有办法缩小C:可引导分区并保持Windows 7正常工作?

PS:我尝试使用第三方GParted实用程序,并且在缩小分区后,Windows 7使用BSoD停止了引导。系统恢复无法正常工作,我不得不进行工厂恢复。由于这是一个漫长的过程,因此我想避免再次这样做:)因此,请仅提出经过验证的解决方案。



@masterxilo,该问题针对Windows 10,比我的问题晚了6年。
Alex Che '18

我同意@AlexChe。但是我认为来这里的人们会寻找Windows 10解决方案,而且大多数说明可能是可以互换的。我应该说这与Windows 10相关
。– masterxilo

Answers:


98

TL; DR

  1. 尝试在Windows磁盘管理管理单元中缩小分区。如果缩小失败,请继续执行步骤2。
  2. 在Windows事件日志中找到ID 259的事件,并查看其详细信息。
  3. 有关更多详细信息,可以选择使用第2步中给出的适当参数运行fsutil命令。
  4. 根据步骤2和3的详细信息,确定哪些组件,程序或功能正在锁定分区。
  5. 暂时禁用或卸载它。
  6. 转到步骤1。

可能的原因:虚拟内存,系统还原和/或Windows搜索索引(系统卷信息文件夹),休眠状态,Internet Explorer临时文件。

详细版本:

在低级任务中,例如使用HDD系统分区,我更喜欢尽可能使用本机工具,并且如果没有任何本机工具可以使用,则只能在万不得已时才切换到第三方工具。因此,在harrymc的指导下,我再次尝试了Windows磁盘管理

我首先关闭了虚拟内存系统还原功能,删除了系统卷信息文件夹,然后,磁盘管理实用程序使我可以根据需要缩小C:分区。之后,我重新打开了功能。

以下说明可以帮助您确定阻止分区缩小的应用程序或组件。首先,您需要找到ID 259的最新事件。在Windows事件日志中(请参阅事件查看器/ Windows日志/应用程序)。该事件是在系统分析分区时生成的,如果您已经尝试通过右键单击磁盘管理插件中的分区来缩小分区,则该事件应该存在。使系统分析分区的另一种方法是运行Windows内置的碎片整理实用程序。该事件告诉您最后一个不可移动的文件,或者仅告诉您该文件的最后一个群集的编号。它还告诉您要从命令行运行的完整命令,以获取有关最后一个不可移动文件的更多详细信息。(或者,您也可以尝试将群集号计算为最小允许分区大小除以群集大小,然后使用适当的参数运行fsutil命令)。

文件名将提示您猜测什么程序或功能锁定了您的分区。然后您可以将其关闭或卸载,看看是否有帮助。就我而言,关闭虚拟内存和系统还原就足够了。有时还需要关闭休眠模式等。有时对分区进行碎片整理也可能会有所帮助。另外,如WindowsITPro文章所述Windows搜索索引文件Internet Explorer临时文件也可以是“不可移动的”。有时仅禁用“系统还原”和“ Windows搜索索引”将自动从“系统卷信息”文件夹中删除不可移动的文件,有时您可能需要在此之后手动删除该文件夹。

PS:谢谢大家的回答。在我看来,第三方工具也可以使用,并且可能更易于使用,但是正如我已经告诉过的那样,对于此类任务,我更喜欢尽可能使用本机工具。另外,我要感谢harrymc的重要提示。


4
我不太喜欢这些fsutil评论。但是,在我阅读了有关缩小NTFS的文章之后(windowsitpro.com/storage/…),它变得更加清晰。不要先尝试fsutil,先尝试进行碎片整理,然后在“事件查看器应用程序日志”中查找碎片整理事件(如上所述,事件ID为259)。该日志消息实际上为您提供了要运行哪个fsutil命令的说明。
icc97 2014年

1
还可以查看WindowsITPro(windowsitpro.com/storage/…),以获取有关防止磁盘收缩的提示:系统还原,IE临时文件索引,Windows搜索索引,页面文件。
皮埃尔·阿诺

1
在我的案例中,禁用休眠是关键因素。关于释放更多空间,这是Win 8.1的好指南(内部有Win7版本的链接)hanselman.com/blog/GuideToFreeingUpDiskSpaceUnderWindows81.aspx
jakub.g 2015年

2
@ icc97的评论钉了它!使用他/她共享的链接,我可以缩小阻止我收缩的文件是血淋淋的诺顿文件!感谢您的链接。
蓝色捷蓝

2
不必运行碎片整理实用程序来确定阻止分区收缩的应用程序或组件:如果您进入磁盘管理并选择通过右键单击分区来收缩分区,系统将分析该分区,然后可以在日志中找到ID 259的Defrag事件。
jarno,2015年

9

如果您是我,我将再尝试Gparted,它可以用作Linux引导磁盘,并且可以很好地调整磁盘大小。

如果您查看下载页面,则会显示警告,提示与NTFS磁盘相关的错误,因此您可能需要尝试以前的版本。

警告:最近有几份关于使用gparted-live-0.5.0-3调整文件系统大小的问题的报告。对于NTFS文件系统,在调整分区大小后看到的错误消息是:

  ERROR: Current NTFS volume size is bigger than the device size!

该问题似乎与GParted Live映像中使用的软件包,Linux内核和修补程序的组合有关。我们正在调查以找到问题的根本原因。在解决此问题之前,我们建议使用GParted Live 0.4-6-1调整所有文件系统的大小。


1
他已经做到了,但是GParted在他的系统上表现不佳。

1
...我认为这是在我写完这篇文章后进行编辑的,因为之前没有看到过。
William Hilsum

是的,我也有同样的错误。下载GParted时没有看到此消息。降级可能会有所帮助。不,您编写此文件后未对其进行编辑。
Alex Che

@Alex,对不起,那我一定不能错过,但是希望这会有所帮助。
William Hilsum

8

首先,我将备份系统分区(例如,使用Symantec Ghost v11 Enterprise)。并采取措施使整个驱动器成像(与HP的还原工具相比,还原速度要快得多)。

然后删除C:驱动器,并根据自己的喜好用您选择的分区工具创建两个新分区。然后将以前的C:驱动器的映像部署到第一个分区。


1
听起来很合理。您是否认为Ghost将以不会破坏Windows的方式应对不可移动的群集?
Alex Che

1
我不相信它会适应小于原始分区的大小。
harrymc

2
相信我,Ghost会处理比源驱动器小的目标驱动器(除非数据量超出可用磁盘空间)。例如,您有450 GB的分区,而435 GB的可用磁盘,则可以克隆将该分区更改为15 GB分区,没问题。

1
@Molly:因为这是系统驱动器,您是否有经验知道Ghost可以移动这些不可移动的Windows文件?
harrymc

2
是的,将750 GB的驱动器(单个分区+保留)克隆到了320 GB的驱动器,因为我需要在其他地方安装大驱动器,没问题。我没有使用bitlocker,那将是一个完全不同的故事。

6

某些Windows文件是不可移动的,Windows无法在磁盘的末尾或中间分配这些文件,因此一个文件只能将C压缩到一个极限。这正是您发现的结果:在不破坏Windows的情况下无法进一步减少磁盘。

唯一的解决方案是在较小的分区中重新安装Windows。对于您的情况,您将需要删除现有的系统分区,并通过第三方工具将其划分为两个分区,然后将Windows还原到磁盘上的第一个分区。不要触摸还原分区!

我建议使用具有良好用户界面的Paragon Partition Manager 2010 Free Edition。否则,您可以使用任何其他工具,例如GParted。


1
感谢您的回答。但是,当我用GParted缩小分区后,由于某种原因,我无法对其进行系统还原。我唯一的选择是进行出厂还原,以还原整个HDD映像。恐怕您的解决方案可能会导致相同的结果。
Alex Che

3
是的,肯定会导致恢复出厂设置,但是没有其他解决方案。我只找到一个声称能够移动这些Windows文件的分区管理器,而且它还破坏了我的磁盘。最好的办法是关闭页面文件,然后恢复系统并清除回收站,对磁盘进行碎片整理,以合并可用空间,然后重试调整大小。请注意,Win7磁盘管理器与其他任何产品一样具有很好的大小调整功能-如果无法做到,那么其他任何产品都不会破坏磁盘。
harrymc

@harrymc,嗯,这很奇怪,为什么某些Windows文件无法移动?该决定的逻辑是什么?
Pacerier '16

1
@Pacerier:例如,页面文件-将内存交换到磁盘是由硬件完成的,而硬件对NTFS一无所知,因此这必须由物理磁盘地址完成,并且页面文件扇区甚至必须在磁盘上连续地连续。页面文件无法移动,因为Windows必须始终能够交换。
harrymc '16

4

几天来,我一直在努力工作,以尝试缩小承载该操作系统的Windows 7主分区。问题是位于分区中间的一组系统文件在碎片整理过程中被排除在外。对多个磁盘分区程序的各种尝试,其中一些吹捧它们重新定位所有系统文件的能力,仅成功地制造了更多的挫败感。

解决方案:

关闭系统恢复。碎片整理期间不会重定位的文件是由该实用程序创建的,并且包含所有还原点。当您关闭系统恢复时,这些文件将被删除。一旦删除,Windows 7的磁盘管理实用程序就可以将我的259GB C:分区缩小到40GB以上。


1
究竟如何关闭系统恢复?
彼得·莫滕森


3

对于位锁驱动器,我已经成功使用了工具Raxco Perfect Disk 12(评估版)。

它包含一个带有“收缩驱动器”配置文件的碎片整理工具。它可以动态移动许多不可移动的文件。就我而言,无论如何我都需要安排它在启动时的工作,并且它确实完成了工作。之后,我能够以标准方式从“磁盘管理”控制台收缩驱动器。

好处:

  • 尽管我的系统驱动器被锁住了,但它仍然有效。我认为Bitlocker可以阻止Linux工具。
  • 它并没有破坏我的bitlocker设置。一些与启动顺序不符的工具会打开位锁恢复模式。
  • 它不需要禁用,卸载或删除任何文件。

我没有使用bitlocker,但是对我来说,这绝对是最简单的解决方案,第一次在新安装的Windows 7 pro上完美运行。我使用Raxco PerfectDisk v14选择驱动器首选项的30天评估,默认优化方法为“收缩的预备”,它移动了尾部碎片,这样我就可以将驱动器缩减至42Gb。谢谢。
Ed Randall
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.