“挂载根文件系统”到底是什么意思?

Kam*_*ran 3 linux boot filesystems initrd

在Linux的引导过程中,我们有一个initrd根文件系统,它是在真正的根文件系统准备好挂载之前挂载的。安装的流程是怎样的?应该发生什么才能让我们说文件系统已挂载?为什么我们说“根文件系统”而不是“文件系统”?

小智 5

它说“根文件系统”,因为在启动时可能会安装许多其他文件系统。Root或者/就像Windows上的C盘。当文件系统可以通过其挂载点访问更高级别的系统功能时,该文件系统就被挂载了。

关于安装过程......我不知道你想要的答案有多技术性,所以请不要因为这种过度简化而感到冒犯。这就是我向客户解释的方式:插入闪存驱动器。

  1. 用户连接 USB 闪存驱动器
  2. 操作系统检测到“某物”连接到 USB 端口 X
  3. 操作系统探测端口并发现有闪存驱动器
  4. 操作系统为设备分配一个设备节点(假设/dev/sdb
  5. 操作系统探测/dev/sdb并找到主分区上的分区表
  6. 操作系统将设备节点分配给分区(比方说/dev/sdb1
  7. 操作系统探测/dev/sdb1并识别 FAT32 文件系统
  8. 操作系统将文件系统挂载/dev/sdb1到新的挂载点(如/media/pendrive/
  9. 文件系统的内容可供系统访问,从而可供用户访问

设备的内容(原始数据)只是一堆零和一。安装设备时,系统会在这些零和一之上添加类似“读/写过滤器”的内容,将零和一转换为实际文件,反之亦然。

例如:当您将“Hello World”保存到位于 的文本文件中时/media/pendrive,过滤器会根据文件系统的规则对其进行转换,最后将一系列零和一写入到/dev/sdb1