我了解到,要创建一个新分区,分区软件基本上会将数据“向上移动”,以便可以为分区提供更多空间。然而,
由于某种原因,某些数据无法移动。(资源)
我的印象是,只要计算机没有运行(在重新启动时计划分区),基本上所有类型的数据都可以移动。我想知道有什么原因导致数据无法移动?
或者说,硬盘中什么类型的数据是不可移动的?
我了解到,要创建一个新分区,分区软件基本上会将数据“向上移动”,以便可以为分区提供更多空间。然而,
由于某种原因,某些数据无法移动。(资源)
我的印象是,只要计算机没有运行(在重新启动时计划分区),基本上所有类型的数据都可以移动。我想知道有什么原因导致数据无法移动?
或者说,硬盘中什么类型的数据是不可移动的?
Answers:
除了其他答案中提到的事实之外,如果计算机没有运行,那么它就不可能做任何事情,这里的主要线索应该是Red Hat文档明确指出了可以选择的软件执行这些任务,它们的行为会有所不同。不可移动的内容因软件而异。不同的磁盘碎片整理程序对可移动内容和不可移动内容有不同的想法,并且会拒绝移动不同的内容。
例如:在MS-DOS / PC-DOS / DR-DOS和DOS + Windows年代,大多数磁盘碎片整理实用程序都拒绝移动带有system
或hidden
属性标记的文件。这是因为BIOS文件ibmbio.com
或io.sys
专门放置在光盘上,因为DOS使用的FAT VBR引导加载程序代码受到限制。BDOS文件,ibmdos.com
或者msdos.sys
是由BIOS中功能更强大的加载程序加载的,没有所有相同的放置限制。但是,考虑到名称的变化,磁盘碎片整理程序并不知道什么文件是什么,更不用说应付多个DOS版本以及Windows 3.x分页文件,SuperStor压缩卷等其他内容之间的细微变化了。所以他们退缩了简单地假设所有带有这些属性的文件(默认情况下通常都是默认情况下的文件)被系统管理员指定为不可移动。
从版本4.0开始(如果有内存),Windows NT定义了标准的碎片整理API,FSD应该实现该标准,并且磁盘碎片整理程序可以使用。因此,在当今的Windows NT上,通常认为不可移动的是文件系统驱动程序(FSD)的范围,而不是磁盘碎片整理实用程序的范围。因此,NTFS卷中被认为不可移动的部分很大程度上取决于所使用的NTFS FSD版本。在Windows NT 5.1发行版中吹捧的功能之一是对NTFS FSD的改进,该功能允许对目录,MFT,卷位图和其他元数据MFT条目,加密文件以及卷的分配单元大小大于4KiB的文件进行碎片整理。
从实用程序软件到实用程序软件,从FSD版本到FSD版本,所有这些变化超出了它试图描述的范围,这就是Red Hat在“一个原因或另一个”四个词中涵盖的内容。
当您在与正在运行的操作环境相关联的分区上运行碎片整理或其他类似的实用程序时,不可移动文件通常是一个问题。在Windows中,这些文件是例如注册表,页面文件,元数据文件等。
在大多数情况下,在非活动分区上使用碎片整理或分区实用程序意味着这些曾经不可移动的文件现在可以重定位到分区的开头和/或进行碎片整理。
在安装新操作系统的问题中,应该在卸载的卷上运行一些碎片整理(例如,使用livecd),之后应该可以安全地使用gparted或操作系统安装分区管理器来缩小现有分区。
Windows pagefile.sys是一个不动的文件的一个很好的例子。Windows运行时,它是不可移动的,因为它对Windows的功能至关重要。
它是“虚拟内存”的存储位置。