在学习Linux的过程中,会遇到“文件系统”和“根文件系统”两个概念,这两个概念容易混淆,总觉得为什么Linux需要这么多的文件系统,这两种系统的各自作用是什么,有什么区别呢?

“尽管内核是Linux的核心,但文件却是用户与操作系统交互所采用的主要工具”,这就阐述了“文件系统”的作用,如果只有Linux,没有文件系统,那么整个系统是没有意义的。

在Linux中,有“VFS”的概念,这个VFS是底层文件系统的通用接口,VFS会抽象到各个文件系统,虽然各种文件系统的差异很大,但是各种文件系统会抽象出同样的访问接口,然后抽象到VFS,普通的文件系统其实是对应存储设备的,通过这些普通文件系统,来实现对存储设备的管理和使用。

根文件系统首先也是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,而且相对于普通文件系统,它的特殊之处在于,它是内核启动所“挂载mount”的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会再根文件系统挂载之后从中把一些初始化脚本(如rcs,inittab)和服务加载到内存中运行,在嵌入式系统中,只是将内核下载到开发板上,是无法真正的启动Linux系统的,会出现无法加载文件系统的错误。

根文件系统中有一个“根”,说明它是加载其他文件系统的“根”,既然是根,如果没有这个根,其他的文件系统也就没有办法进行加载了,根文件系统引导和使其他文件系统得以mount所必须的文件,根文件系统包括Linux启动时所必须的目录和关键性文件,例如Linux启动时都需要的init目录下的相关文件,在Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了很多应用程序bin目录等,然和包括这些Linux系统启动所必须的文件都可以成文跟文件系统。

Linux在启动时,第一个必须挂载的是根文件系统,弱系统不能从指定的设备上挂载根文件系统,则系统会出错而退出启动。成功后,可以自动或者手动挂载其他文件系统,因此,一个系统中可以同时存在不同的文件系统,这都是使用VFS机制实现的。

在Linux中,将一个文件系统与一个存储设备关联起来的过程称为“挂载”,使用指令“mount”,使用mount指令将一个文件系统附着到当前文件系统的层次结构中(根),在执行挂装时,要提供文件系统类型、文件系统和一个挂载点,根文件系统被挂装到根目录“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin/sbin/mnt等,再将其他分区挂装到/mnt目录上。

Linux之文件系统和根文件系统相关推荐

  1. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  2. Linux内核移植和根文件系统制作(详细步骤精讲)

    第一章移植内核 1.1 Linux内核基础知识 1.1.1 Linux版本 1.1.2 什么是标准内核 1.1.3 Linux操作系统的分类 1.1.4 linux内核的选择 1.2 Linux内核启 ...

  3. 十九.Linux开发之根文件系统移植——根文件系统的原理

    有道云笔记地址: 详情看这里链接,记录太多,就不一一排版了. http://note.youdao.com/noteshare?id=f9c7c1b589233d7b6ed661c3749f1ce8& ...

  4. linux内核开文件系统,新手,Linux内核无法挂载根文件系统

    新手求助,Linux内核无法挂载根文件系统 一块开发板,厂商已经提供好了uboot,kernel,ramdisk文件系统跟安卓镜像 有:uboot.bin, zImage, ramdisk-uboot ...

  5. 【问题解决】Linux通过nfs挂载根文件系统报错:VFS: Unable to mount root fs via NFS, trying floppy

    问题: NFS配置没问题:NFS服务开启与使用.目录挂载与卸载 使用 NFS 挂载文件系统的时候报错: [ 101.800373] VFS: Unable to mount root fs via N ...

  6. linux开发 | nfs挂载根文件系统失败、处理过程

    NFS挂载根文件系统失败 [ 5.552903] s5p-tvout s5p-tvout: hpd status is cable removed [ 5.563919] DBUG_PORT must ...

  7. linux文件系统实验原理,根文件系统原理

    1.1.根文件系统概述 1.为什么需要根文件系统 (1)init进程的应用程序在根文件系统上 (2)根文件系统提供了根目录/ (3)内核启动后的应用层配置(etc目录)在根文件系统上 (4)shell ...

  8. 【linux kernel】挂载根文件系统之rootfs

    挂载根文件系统之rootfs 文章目录 挂载根文件系统之rootfs 一.开篇 二.rootfs根文件系统 (2-1)初始化rootfs (2-2)挂载rootfs文件系统 (2-3)创建简单的roo ...

  9. 基于Linux的Buildroot 制作根文件系统(rootfs)

    基于Linux的Buildroot 制作根文件系统(rootfs) 1.需要条件 2.安装交叉编译链 3.下载Buildroot代码包 4.开始buildroot 制作根文件系统 5.配置文件系统 m ...

最新文章

  1. xx.xib: error: Illegal Configuration: Safe Area Layout Guide before iOS 9.0报错问题解决
  2. 内江将被打造成四川物联网西部副中心
  3. 浅析java中的死锁_Java学习笔记五十五(死锁问题)
  4. Word中插入参考文献及其引用并能够自动更新的方法
  5. WPF Treeview第三层横向排列
  6. html奇淫技巧 2 教你如何进行图文环绕布局 原创
  7. [数]数学系列预习-补水题ver.
  8. ubuntu16.04 打开chrome弹出“Enter password to unlock your login keyring”解决方法
  9. Javascript数组操作
  10. Linux上层应用--Shell scripts基础规范
  11. python螺旋输出矩阵_Python实现打印螺旋矩阵功能的方法
  12. C语言利用回调函数实现qsort函数
  13. 计算机体系结构量化研究方法学习(二)
  14. 居家办公提高工作效率的八点建议
  15. easyui filebox 上传类型控制
  16. FFMPEG的.Net封装,FFmpeg.NET
  17. C++ STL :vector动态数组可实现整体赋值
  18. [译] 冲冠一怒为代码:论程序员与负能量
  19. 2022年陕西省中级工程师职称评审流程及申报条件
  20. 安装windows2000操作系统的详细步骤

热门文章

  1. 名言哲理-让心灵找到归属
  2. latex 控制表格 行间距
  3. 2021年中国互联网企业发展现状及发展趋势分析:互联网上市企业和互联网独角兽企业数量稳步增长 互联网企业集聚发展态势明显[图]
  4. exchange 2013 邮箱服务器主要服务功能概览
  5. 使用ffmpeg分割视频为图像、将图像合并为视频
  6. QMediaPlayer播放音频文件
  7. 等价关系 偏序关系 全序关系
  8. 什么是vue?为什么用vue?
  9. JavaScript: switch语句、break\case !
  10. Silver Cow Party (POJ - 3268 )