当使用 GNU Parted 缩小分区时,必须从物理磁盘区域中移出一些内容,这些内容将被排除在新缩小的分区之外。这些文件的内容当然没有改变。
但是,缩小的分区中的某些文件是否必须被程序更改?我的意思是那些包含有关分区或物理磁盘信息的文件。也许在 /etc 文件夹中,或者也许在 /dev 中?我不知道,这就是我的问题:
缩小分区后发生更改的文件(如果有)到底是哪些?
答案1
改变的是分区表。分区中的任何文件都没有更改。传统上,分区表存储在 MBR(主引导记录)中。或者,您可能有 GPT(GUID 分区表)。
答案2
分区布局与包含用户(或系统)数据的文件所在的级别不同。分区方案将块设备(通常是硬盘驱动器)划分为多个区域,操作系统内核可以使用这些区域来支持文件系统,而文件系统又用于托管文件。
当您调整已保存某些文件系统的分区的大小时,该文件系统的元数据可能被改变。强调“可能”很重要 - 调整分区大小并不强制要求更改文件系统 - 您可以轻松拥有一个使用比分区中更少(或更多)空间的文件系统。如果它使用较少,则一切都很好,除了无法访问分区大小和文件系统边界之间的差异。相反的情况是出现问题的地方 - 文件系统正在使用其他人可能占用的空间(文件系统基本上与后续分区重叠)。您甚至可以拥有一个与磁盘上的任何分区完全不对齐的文件系统 - 但人们通常不会做这种事情。
也就是说,某些程序(parted
其中之一)可以尝试调整分区上文件系统的大小,只要它们在那里找到它和知道如何做到这一点 - 某些文件系统只能增长。
答案3
分区表被更改,它存储分区的起始块号和结束块号。该表不在分区中,因此也不在文件系统中。
文件系统内的各种块地址被更改(这是文件系统元数据的一部分)。这是从目录条目到物理位置映射的一部分。这些都没有存储在文件中。
所以简短的回答是,没有文件被更改。
您可以压缩(使用保留所有文件属性和权限等的归档程序)文件系统,然后重新创建一个较小的文件系统,并将其解压缩回来。如果您的文件系统没有文件系统增长/收缩工具,则可以这样做。