挂载 ext2 文件系统映像和管理更改的内部机制

挂载 ext2 文件系统映像和管理更改的内部机制

对于操作系统项目,我正在创建 ext2 文件系统映像并安装它。这意味着我正在写出一个包含块信息的 1 MB 文件,然后将其用作挂载目标。

例如,假设有一个名为base.img

fsck.ext2 base.img # checking my file system 
mkdir mnt
sudo mount -o loop base.img mnt

挂载成功后,内部发生了什么?根据我的理解,我base.img只是正确初始化图像。在内部,这些是我的问题:

  • 现在是否存在带有此文件系统的驱动器分区?
  • 如何管理文件系统的更改?

对于第二个,根据我的理解,存在一个“挂载表”,也许ext2Linux 将使用一个模块来进行进一步的更改。这些更改是否会反映在其中,base.img或者现在是否有新的磁盘分区?

我的根本问题是:这一切是如何工作的,特别是在不同的实现和模糊性的情况下?

答案1

mount -o loop base.img mnt

用途循环设备使其base.img可用作块设备,并将该块设备安装在 下mnt。磁盘上没有新分区;对的所有更改mnt都存储在base.img.

如果base.img包含 ext2 文件系统,其内容确实将由内核的 ext2 驱动程序

相关内容