当 GNU Parted 缩小分区时哪些文件会被更改?

当 GNU Parted 缩小分区时哪些文件会被更改?

当使用 GNU Parted 缩小分区时,必须从物理磁盘区域中移出一些内容,这些内容将被排除在新缩小的分区之外。这些文件的内容当然没有改变。

但是,缩小的分区中的某些文件是否必须被程序更改?我的意思是那些包含有关分区或物理磁盘信息的文件。也许在 /etc 文件夹中,或者也许在 /dev 中?我不知道,这就是我的问题:

缩小分区后发生更改的文件(如果有)到底是哪些?

答案1

改变的是分区表。分区中的任何文件都没有更改。传统上,分区表存储在 MBR(主引导记录)中。或者,您可能有 GPT(GUID 分区表)。

答案2

分区布局与包含用户(或系统)数据的文件所在的级别不同。分区方案将块设备(通常是硬盘驱动器)划分为多个区域,操作系统内核可以使用这些区域来支持文件系统,而文件系统又用于托管文件。

当您调整已保存某些文件系统的分区的大小时,该文件系统的元数据可能被改变。强调“可能”很重要 - 调整分区大小并不强制要求更改文件系统 - 您可以轻松拥有一个使用比分区中更少(或更多)空间的文件系统。如果它使用较少,则一切都很好,除了无法访问分区大小和文件系统边界之间的差异。相反的情况是出现问题的地方 - 文件系统正在使用其他人可能占用的空间(文件系统基本上与后续分区重叠)。您甚至可以拥有一个与磁盘上的任何分区完全不对齐的文件系统 - 但人们通常不会做这种事情。

也就是说,某些程序(parted其中之一)可以尝试调整分区上文件系统的大小,只要它们在那里找到它知道如何做到这一点 - 某些文件系统只能增长。

答案3

分区表被更改,它存储分区的起始块号和结束块号。该表不在分区中,因此也不在文件系统中。

文件系统内的各种块地址被更改(这是文件系统元数据的一部分)。这是从目录条目到物理位置映射的一部分。这些都没有存储在文件中。

所以简短的回答是,没有文件被更改。

您可以压缩(使用保留所有文件属性和权限等的归档程序)文件系统,然后重新创建一个较小的文件系统,并将其解压缩回来。如果您的文件系统没有文件系统增长/收缩工具,则可以这样做。

答案4

您的磁盘通常是使用分区表像这样:

分区表http://1.1.1.3/bmi/upload.wikimedia.org/wikipedia/commons/thumb/0/07/GUID_Partition_Table_Scheme.svg/400px-GUID_Partition_Table_Scheme.svg.png

分区通常包含一个文件系统,该文件系统又包含所有文件和目录。

如果缩小分区,您首先必须缩小文件系统以覆盖更少的分区空间,然后才能缩小分区。

收缩文件系统的细节在很大程度上取决于文件系统的类型。有许多非常不同的文件系统,其性能也各不相同特征。 (对于某些人来说,甚至无法缩小它们。)

相关内容