来自 Arch Linux 安装指南:
/etc/fstab 文件包含静态文件系统信息。它定义了如何挂载存储设备和分区并将其集成到整个系统中。mount 命令会读取该文件以确定在挂载特定设备或分区时要使用哪些选项。
这就是为什么我们需要在安装过程中生成该文件。
那么,如何在安装过程一开始就mount
挂载根分区呢(如果此时它仍然是空的,因为此时它还没有生成)?/mnt
fstab
答案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
要检查的事项列表。