mount 如何在空的 fstab 下工作?

mount 如何在空的 fstab 下工作?

来自 Arch Linux 安装指南:

/etc/fstab 文件包含静态文件系统信息。它定义了如何挂载存储设备和分区并将其集成到整个系统中。mount 命令会读取该文件以确定在挂载特定设备或分区时要使用哪些选项。

这就是为什么我们需要在安装过程中生成该文件。

那么,如何在安装过程一开始就mount挂载根分区呢(如果此时它仍然是空的,因为此时它还没有生成)?/mntfstab

答案1

/etc/fstab定义了默认配置。它列出了默认的文件系统/挂载点/选项组合。挂载文件系统时,如果您未指定完整的参数和选项,mount将从您的 中读取选项fstab。例如,您可以输入

mount /dev/sda1

mount知道把它放在哪里,然后你就可以输入

mount /mnt/sda1

mount知道在哪里可以找到它。但如果你想与众不同,你可以输入

mount /dev/sda1 /mnt/sdq17

并将mount执行此操作。类似地,您可以在命令行中指定文件系统应以只读方式挂载。相反,您可以在命令行中指定文件系统应/etc/fstab默认以只读方式挂载,然后在命令行中覆盖该设置。并且您可以手动挂载/etc/fstab根本不存在的文件系统。

另外,/etc/fstab确定在启动时自动安装的文件系统;它们是使用其指定的默认选项安装的。

但是,就像您可以键入一样mount /dev/sda1 /mnt/sda1,程序可以mount使用完整的参数列表执行,然后(原则上)根本mount不需要访问/etc/fstab。操作系统会自动知道其根分区在哪里,并自动挂载根文件系统非常在启动过程的早期阶段。事实上,如果操作系统/etc/fstab在挂载之前需要可访问,那么我们就会遇到一个先有鸡还是先有蛋的问题,因为/etc无法访问直到根文件系统已挂载。根分区被包含进来/etc/fstab还有另一个原因/etc/fstab— 给出fsck要检查的事项列表。

相关内容