内核挂载文件系统后做了哪些事情
时间: 2023-06-14 10:03:03 浏览: 42
内核挂载文件系统后,会做以下几件事情:
1. 在内存中创建一个超级块(superblock),用于管理文件系统。
2. 读取文件系统的元数据,如 inode、块位图、索引节点位图等,并将其存储在内存中。
3. 分配一个文件描述符,用于操作该文件系统下的文件。
4. 通过虚拟文件系统(Virtual File System,简称 VFS)把该文件系统与其他文件系统挂载在一起,使得用户可以通过通用的文件系统接口操作该文件系统下的文件。
5. 在系统启动时,可以通过 /etc/fstab 文件指定文件系统的挂载点和挂载选项,使得文件系统在启动时自动挂载。
总之,内核挂载文件系统后,就可以让用户通过统一的文件系统接口来访问该文件系统下的文件,从而方便用户管理文件。
相关问题
通过 tftp 加载内核再通过 nfs 挂载根文件系统 步骤
通过 TFTP 加载内核再通过 NFS 挂载根文件系统的步骤如下:
1. 在 NFS 服务器上创建根文件系统。
2. 启动 TFTP 服务器,并在 TFTP 服务器上放置内核文件,例如 `vmlinuz`。
3. 在客户端机器上,配置网络以使其能够访问 TFTP 服务器和 NFS 服务器。
4. 在客户端机器上,启动 TFTP 客户端,从 TFTP 服务器上下载内核文件。通常情况下,内核文件被下载到 `/boot` 目录下。
5. 在客户端机器上,编辑 boot loader 配置文件,例如 GRUB 配置文件,以引导下载的内核。在 GRUB 中,需要设置 `root` 参数以指定 NFS 服务器和挂载点,例如:
```
set root=/dev/nfs
set nfsroot=<nfs_server_ip>:/<nfs_mount_point>
```
6. 重新启动客户端机器,它将使用下载的内核启动。
7. 在客户端机器上,内核启动后,它会自动尝试挂载 NFS 根文件系统。需要在内核命令行中设置 `ip` 和 `nfsroot` 参数,例如:
```
ip=<client_ip>::<gateway_ip>:<netmask>:<hostname>:<device>:<autoconf>
nfsroot=<nfs_server_ip>:/<nfs_mount_point>
```
其中 `<client_ip>` 是客户端机器的 IP 地址,`<gateway_ip>` 是网关的 IP 地址,`<netmask>` 是网络掩码,`<hostname>` 是主机名,`<device>` 是网络设备名称,`<autoconf>` 用于启用自动配置。
8. 客户端机器会尝试通过 NFS 挂载根文件系统,并在挂载点下启动操作系统。
挂载根文件系统
挂载根文件系统是指将操作系统的根目录文件系统挂载到计算机的内存中,以便操作系统可以正常运行和访问文件系统中的文件和目录。在 Linux 系统中,根文件系统通常是 ext2/ext3/ext4 文件系统,而在其他操作系统中可能采用不同的文件系统类型。
要挂载根文件系统,首先需要在计算机的启动过程中加载内核,并将根设备指定为根文件系统所在的设备。然后,操作系统会尝试挂载根文件系统并将其加载到内存中。这通常在启动过程中自动完成,但也可以手动执行。
在 Linux 系统中,可以使用 mount 命令来挂载根文件系统。例如,要将根文件系统挂载到 /mnt 目录中,可以执行以下命令:
```
mount /dev/sda1 /mnt
```
其中,/dev/sda1 是根文件系统所在的设备,/mnt 是挂载点。