我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux启动时怎么挂载rootfs

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux启动时怎么挂载rootfs

这篇文章主要介绍“linux启动时怎么挂载rootfs”,在日常操作中,相信很多人在linux启动时怎么挂载rootfs问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux启动时怎么挂载rootfs”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1。linux启动时,经过一系列初始化之后,需要mount 根文件系统,为最后运行init进程等做准备,mount 根文件系统有这么几种方式:

1)文件系统已经存在于硬盘(或者类似的设备)的某个分区上了,kernel根据启动的命令行参数(root=/dev/xxx),直接进行mount。 这里有一个问题,在root文件系统本身还不存在的情况下,kernel如 何根据/dev/xxx来找到对应的设备呢?注意:根文件系统和其他文件系统的mount方式是不一样的,kernel通过直接解析设备的名称来获得设备的主、从设备号,然后就可以访问对应的设备驱动 了。所以在init/main.c中有很长一串的root_dev_names(如hda,hdab,sda,sdb,nfs,ram,mtdblock……),通过这个表就可以根据设备名称得到设备号。注意,bootloader或内核中设定的启动参数(root=/dev/xxx)只是一个代号,实际的根文件系统中不一定存在这个设备文件!

2)从软驱等比较慢的设备上装载根文件系统,如果kernel支持ramdisk,在装载root文件系统时,内核判断到需要从软盘(fdx)mount(root=/dev/fd0),就会自动把文件系统映象复制到ramdisk,一般对应设备ram0,然后在ram0上mount 根文件系统。 从源码看,如果kernel编译时没有支持ramdisk,而启动参数又是root=/dev/fd0, 系统将直接在软盘上mount,除了速度比较慢,理论上是可行的(没试过,不知道是不是这样?)

3)启动时用到initrd来mount根文件系统。注意理解ramdisk和initrd这两个概念,其实ramdisk只是在ram上实现的块设备,类似与硬盘操作,但有更快的读写速度,它可以在系统运行的任何时候使用,而不仅仅是用于启动;initrd(boot loader initialized RAM disk)可以说是启动过程中用到的一种机制,具体的实现过程也使用ramdisk技术。就是在装载linux之前,bootloader可以把一个比较小的根文件系统的映象装载在内存的某个指定位置,姑且把这段内存称为initrd(这里是initrd所占的内存,不是ramdisk,注意区别),然后bootloader通过传递参数的方式告诉内核initrd的起始地址和大小(也可以把这些参数编译在内核中),在启动阶段就可以暂时的用initrd来mount根文件系统。initrd的最初的目的是为了把kernel的启动分成两个阶段:在kernel中保留最少最基本的启动代码,然后把对各种各样硬件设备的支持以模块的方式放在initrd中,这样就在启动过程中可以从initrd所mount的根文件系统中装载需要的模块。这样的一个好处就是在保持kernel不变的情况下,通过修改initrd中的内容就可以灵活的支持不同的硬件。在启动完成的最后阶段,根文件系统可以重新mount到其他设备上,但是也可以不再 重新mount(很多嵌入式系统就是这样)。 initrd的具体实现过程是这样的:bootloader把根文件系统映象装载到内存指定位置,把相关参数传递给内核,内核启动时把initrd中的内容复制到ramdisk中(ram0),把initrd占用的内存释放掉,在ram0上mount根文件系统。从这个过程可以看出,内核需要对同时对ramdisk和initrd的支持(这种需要都编入内核,不能作为模块)。

2。嵌入式系统根文件系统的一种实现方法:对于kernel和根文件系统都存储在flash中的系统,一般可以利用linux启动的initrd的机制。具体的过程前面已经比较清楚了,还有一点就是在启动参数中传递root=/dev/ram0,这样使得用initrd进行mount的根文件系统不再切换,因为这个时候实际的设备就是ram0。还有就是initrd的起始地址参数为虚拟地址,需要和bootloader中用的物理地址对应。

到此,关于“linux启动时怎么挂载rootfs”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux启动时怎么挂载rootfs

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux启动时怎么挂载rootfs

这篇文章主要介绍“linux启动时怎么挂载rootfs”,在日常操作中,相信很多人在linux启动时怎么挂载rootfs问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux启动时怎么挂载rootfs”的疑
2023-06-10

linux启动时怎么加载程序

在Linux启动时加载程序可以通过以下几种方式实现:1. 在启动脚本中添加命令:可以编辑启动脚本(如/etc/rc.local)并在其中添加要加载的程序命令。当系统启动时,这些命令会被执行。2. 使用系统服务:Linux系统中有一个服务管理
2023-08-29

Linux怎么设置自动挂载

本篇内容介绍了“Linux怎么设置自动挂载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux 自动挂载具体方法:1.修改/etc/fs
2023-06-28

挂载错误导致Linux系统无法启动怎么解决

这篇文章主要讲解了“挂载错误导致Linux系统无法启动怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“挂载错误导致Linux系统无法启动怎么解决”吧!系统挂载错误一般都是/etc/fs
2023-06-27

ubuntu挂载磁盘后启动报错怎么解决

如果在Ubuntu启动时挂载的磁盘出现错误,可以尝试以下步骤来解决问题:1. 重启计算机,并进入Grub菜单。在启动时按住Shift键,直到出现Grub菜单。2. 在Grub菜单中选择“恢复模式”或“修复模式”,然后按下Enter键。3.
2023-09-06

linux怎么取消挂载

这篇文章给大家介绍linux怎么取消挂载,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在linux中,可以利用umount命令取消挂载,该命令用于卸除目前挂在Linux目录中的文件系统,当参数设置为“-a”时,可以卸除
2023-06-26

linux自动挂载配置文件怎么实现

在Linux系统中,可以通过编辑/etc/fstab文件来配置自动挂载。/etc/fstab文件是系统在启动时自动挂载文件系统的配置文件。要实现自动挂载,首先需要知道要自动挂载的文件系统的设备名称、挂载点、文件系统类型和挂载选项。然后可以
linux自动挂载配置文件怎么实现
2024-03-14

Linux中怎么安装autofs自动挂载服务

这篇文章主要介绍“Linux中怎么安装autofs自动挂载服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux中怎么安装autofs自动挂载服务”文章能帮助大家解决问题。autofs自动挂载
2023-06-27

linux怎么挂载usb设备

要在Linux上挂载USB设备,可以按照以下步骤进行操作:1. 将USB设备插入计算机的USB接口。2. 打开终端,输入以下命令以查看系统是否识别了USB设备:```lsusb```3. 在终端中输入以下命令以查看系统中的设备列表:```s
2023-09-17

Fedora挂载兼Linux怎么用

这篇文章主要为大家展示了“Fedora挂载兼Linux怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Fedora挂载兼Linux怎么用”这篇文章吧。Fedora挂载需要在Linux文件系统
2023-06-17

云服务器数据盘挂载开机自动启动怎么办

在这个过程中,用户可以使用云服务器自动启动功能来帮助他们完成这些操作。这种功能可以通过云服务器管理器来实现,具体步骤如下:登录云服务器管理器:用户需要首先登录到云服务器的管理页面,并按照提示输入账号和密码。创建数据盘:在管理页面中,用户需要选择要挂载到云服务器上的数据盘,然后按照提示输入盘符和路径。配置自动启动:在自动
云服务器数据盘挂载开机自动启动怎么办
2023-10-28

linux怎么查看挂载情况

在Linux上,可以使用以下命令来查看当前系统上的挂载情况:1. 使用 `mount` 命令,直接运行该命令即可列出所有已挂载的文件系统和对应的挂载点。```mount```2. 使用 `df` 命令,该命令可以显示磁盘空间的使用情况,并包
2023-09-15

ubuntu怎么挂载移动硬盘

在Ubuntu系统中挂载移动硬盘可以通过以下步骤进行:首先,插入移动硬盘到电脑的USB接口上。打开终端(Terminal)窗口,输入以下命令来查看系统识别的设备列表:lsblk这会显示系统当前连接的所有存储设备,包括移动硬盘。根据显示的设备
ubuntu怎么挂载移动硬盘
2024-03-15

linux怎么挂载共享存储

可以通过以下步骤在Linux系统上挂载共享存储:确保已安装必要的软件:通常情况下,挂载共享存储需要安装NFS或Samba等软件包。在终端中使用以下命令安装NFS:sudo apt-get install nfs-common或者使用以下命令
linux怎么挂载共享存储
2024-04-09

怎么查看Linux挂载磁盘

本篇内容主要讲解“怎么查看Linux挂载磁盘”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么查看Linux挂载磁盘”吧!  通常我们都使用命令查看Linux系统中挂载的磁盘,其实除了这种方法外
2023-06-13

Linux系统怎么挂载U盘

这篇文章主要为大家展示了“Linux系统怎么挂载U盘”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统怎么挂载U盘”这篇文章吧。第一步:插入u盘,输入下面的命令查看是否连接了u盘,这个
2023-06-28

怎么在Ubuntu/Linux上挂载和使用exFAT驱动器

这篇文章主要介绍“怎么在Ubuntu/Linux上挂载和使用exFAT驱动器”,在日常操作中,相信很多人在怎么在Ubuntu/Linux上挂载和使用exFAT驱动器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-06-16

CentOS 6.3 NFS怎么进行安装配置、启动及mount挂载

这篇文章主要介绍“CentOS 6.3 NFS怎么进行安装配置、启动及mount挂载”,在日常操作中,相信很多人在CentOS 6.3 NFS怎么进行安装配置、启动及mount挂载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
2023-06-10

Linux中python自启动和定时启动脚本怎么写

这篇“Linux中python自启动和定时启动脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux中pytho
2023-06-28

编程热搜

目录