initrd.img、vmlinux和 vmlinuz

Linux--vmlinuz、vmlinux、initrd 1、vmlinuz vmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。 vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,并且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。 vmlinuz是一个统称。有两种详细的表现形... 阅读详情

initrd.img是一个小的映象,包含一个最小的linux系统。通常的步骤是先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块,然后发现真正的root分区,挂载并执行/sbin/init... ...。initrd.img当然是可选的了,如果没有initrd.img,内核就试图直接挂载root分区。


说initrd.img文件还会提到另外一个名角---vmlinuz。vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。另外:vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

为什么要initrd.img?

系统内核 vmlinuz被加载到内存后开始提供底层支持,在内核的支持下各种模块,服务等被加载运行。这样当然是大家最容易接受的方式,曾经的linux就是这样的运行的。假设你的硬盘是scsi 接口而你的内核又不支持这种接口时,你的内核就没有办法访问硬盘,当然也没法加载硬盘上的文件系统,怎么办?好办!把内核加入scsi驱动源码然后重新编译出一个新的内核文件替换原来vmlinuz。

需要改变标准内核默认提供支持的例子还有很多,如果每次都需要编译内核就太麻烦了。所以后来的linux就提供了一个灵活的方法来解决这些问题---initrd.img。

initrd.img文件就是个ram disk的映像文件。ramdisk是用一部分内存模拟成磁盘,让操作系统访问。ram disk是标准内核文件认识的设备(/dev/ram0)文件系统也是标准内核认识的文件系统。内核加载这个ram disk作为根文件系统并开始执行其中的"某个文件"(2.6内核是 init文件)来加载各种模块,服务等。经过一些配置和运行后,就可以去物理磁盘加载真正的root分区了,然后又是一些配置等,最后启动成功。

也就是你只需要定制适合自己的 initrd.img 文件就可以了。这要比重编内核简单多了,省时省事低风险。


Debian6.0.7硬盘引导(initrd.gz、vmlinuz) 立即下载

相关推荐

大象机器人myAGV移动机器人+mechArm六轴机械臂,开源复合机器人开发与实践!

我们这章节的内容是将协作性机械臂打破距离上的限制,跟移动机器人(myAGV)相连接,实现一个案例。

m0_71627844的博客 1487

System.map、vmlinuz、initrd.img的产生和作用

System.map、vmlinuz、initrd.img的产生和作用[@more@]System.map、vmlinuz、initrd.img的产生和作用from: http://blog.chinaunix.net/u2/6...

coffee1234567的博客 389

国外无人机蜂群作战典型战例及发展趋势

参与袭击的无人机为简易组装的固定翼飞机,采用小排量活塞发动机和手机GPS通信模块零件,机翼为轻木加泡沫板混合结构,尾梁为铝合金方管,主要依靠胶带粘接,以上全部配件均可在商用市场买到,成本较低,可在短时间内装配完成。③战场纵深短、瞬时性强。蜂群作战的参战数量显著增加,这一方面得益于无人机技术的飞速发展使得廉价无人机可以大量生产和仿制,另一方面凭借迅速发展的投放和回收技术以及集群控制技术,使得无人机蜂群可在极短时间内实现编队饱和攻击,在快速消耗敌方高价值防空武器系统的同时,保证己方物资系统的突防概率。

renhongxia1的博客 2479

Linux一点了解之vmlinuz和initrd.img文件

vmlinuz是Linux 内核的镜像文件,可以被引导程序加载,从而启动Linux系统   initrd----boot loader initialized RAM disk(全称)   是一种启动Linux系统的方式   当前流行的Linux版本一般都采用模块化的内核,这种方式可以在不重新编译构建内核的情形下增加功能模块   但是如果你的Linux的root文件系统所在设备的驱动是一个

无限大地NLP_空木的专栏 1万+

IntelliJ IDEA 2025.1 + Gradle 镜像配置避坑指南:解决依赖下载慢的终极方案

本文针对IntelliJ IDEA 2025.1开发环境中Gradle依赖下载缓慢的问题,提供了详细的镜像配置避坑指南。通过解析Gradle依赖解析机制,重点指导如何正确配置阿里云等国内镜像仓库,并分享验证配置生效、排查常见错误及高级优化技巧,旨在彻底解决依赖下载难题,提升开发效率。

weixin_28835551的博客 532

Burp Suite手工验证CORS漏洞的四步闭环法

CORS(跨域资源共享)是Web应用实现跨域通信的基础机制,其安全本质在于服务端对Origin头的校验逻辑与响应头组合的语义一致性。当服务端错误地返回Access-Control-Allow-Origin: *并配合Access-Control-Allow-Credentials: true,或采用弱校验(如字符串包含匹配)时,将导致敏感数据泄露与凭据劫持风险。该漏洞难以被自动化扫描器发现,因其依赖请求上下文、认证状态及动态策略判断。Burp Suite作为核心工具,需通过构造跨域请求、捕获预检响应、交叉验

weixin_30596343的博客 512

LINUX下三个内核文件详解(vmlinuz/initrd.img/System.map)

在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。编译过RedHat Linux内核的人对其中的System.map 、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。那

Nicholas的专栏 7336

uniapp - 实现 App 端 “半屏幕“ 连续扫码功能,页面只有半个屏幕是扫码框并且可持续连续扫码获取数据(不使用官方 uni.scanCode API,因为无法连续扫码!)详细示例源码插件教程

uniapp app端实现半屏幕扫码,uniapp 扫一扫半个屏幕,uniapp 扫一扫,uniapp持续扫码实现,uniapp怎么自定义扫码和连续扫码,uni-app App端半屏连续扫码,uniapp 扫一扫半个屏幕,uniapp自定义扫码页面样式,实现连续扫码功能(uniapp),uniapp - 实现 App 端 "半屏幕" 连续扫码功能,页面只有半个屏幕是扫码框并且可持续连续扫码获取数据(不使用官方 uni.scanCode API,因为无法连续扫码!)详细示例源码插件教程。

✅ 精选推荐文章 1万+

kylin系统更新内核方法

将粘贴的引导项修改为对应内核引导项内容 将linux /vmlinuz-5.4.18-42.31该行修改为需要更新的内核文件版本 将echo 'Loading Linux 5.4.18-42.31该行修改为需要更新的内核文件版本 arm架构终端执行update-grub-ftefi 返回done。重启系统在grub界面在高级选项选择更新的内核 lonngarch架构终端执行update-grub返回done。重启系统在grub界面在高级选项选择更新的内核

weixin_43651527的博客 8122

基于PINN求解裂纹扩展问题的优化开发

本文提出了一种基于物理信息神经网络(PINN)的裂纹扩展问题求解方法。通过将线弹性断裂力学控制方程和裂纹尖端场特性嵌入神经网络损失函数,PINN有效克服了传统有限元法在处理裂纹扩展时面临的网格重构困难、计算成本高等问题。文章详细介绍了PINN网络架构设计、裂纹尖端奇异场处理、损失函数构造以及优化策略等关键技术。数值实验表明,该方法能准确预测裂纹扩展路径和应力强度因子,且在处理复杂几何和动态扩展问题时展现出显著优势。相比传统方法,PINN具有无网格、并行计算友好等特点,为断裂力学问题提供了新的求解范式。

huanghm88的专栏 152

海康威视 2024届 数字逻辑设计 实习笔试分析

记录一下 5月11日晚,做的海康威视的一场笔试。分享给需要的IC人。 岗位:数字逻辑设计工程师(浙江 杭州) 转载需要本人同意! 我的见解不一定都是准确的,欢迎评论区交流指正~~

记录所学,分享知识,结识挚友 1万+

vmlinux,vmlinuz,bzimage,zimage,initrd.img的区别与联系

1.vmlinux      vmlinux是未压缩的内核, vmlinux 是ELF文件,即编译出来的最原始的文件。用于kernel-debug,产生system.map符号表,不能用于直接加载,不可以作为启动内核。只是启动过程中的中间媒体。 vmlinux.bin : The same as vmlinux, but in a binary file format. 2.v

从菜鸟到菜菜鸟 1333

YOLO11改进-注意力-引入多尺度注意力聚合(MSAA)模块

对来自backbone的特征进行细化处理。通过空间和通道两个路径的操作,增强了空间和通道方面的特征信息,使得输出的特征图在空间和通道维度上都更加优质。1. 在空间细化路径中,通过对不同核大小的卷积进行求和以及一系列的空间特征聚合操作,实现了多尺度空间信息的融合。2. 在通道聚合路径中,通过全局平均池化、卷积和激活等操作生成通道注意力图,并与空间细化后的图相结合,实现了通道维度上的多尺度信息融合。

qq_64693987的博客 4675

vmlinux,vmlinuz,bzimage,zimage,initrd.img uimage的区别与联系

1.vmlinux      vmlinux是未压缩的内核, vmlinux 是ELF文件,即编译出来的最原始的文件。用于kernel-debug,产生system.map符号表,不能用于直接加载,不可以作为启动内核。只是启动过程中的中间媒体。 vmlinux.bin : The same as vmlinux, but in a binary file format. vmlin

fenggui的专栏 1255

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

linux img 内核启动,【Linux必知必会】initrd.img、vmlinux和 vmlinuz

该楼层疑似违规已被系统折叠隐藏此楼查看此楼initrd.img是一个小的映象,包含一个最小的linux系统。通常的步骤是先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块,然后发现真正的root分区,挂载并执行/sbin/init...initrd.img当然是可选的了,如果没有initrd.img,内核就试图直接挂载root分区。说initrd.img文件...

weixin_28731231的博客 593

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【Linux必知必会】initrd.img、vmlinux和 vmlinuz************

initrd.img是一个小的映象,包含一个最小的linux系统。通常的步骤是先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块,然后发现真正的root分区,挂载并执行/sbin/init...initrd.img当然是可选的了,如果没有initrd.img,内核就试图直接挂载root分区。说 initrd.img文件还会提到另外一个名角---vmlinu...

weixin_30698297的博客 297

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

grub通过img文件启动linux,通过Grub启动硬盘上的Linux ISO安装文件

作者:korn首先是Grub。grub用于启动操作系统,由于它先于操作系统的启动,所以可以在装入操作系统之前在硬盘上找到我们下载的操作系统iso文件进入安装.对于已安装windows的系统,我们需要grub fordos.而对于已安装linux的系统,自然也需要相应的Grub for linux。对于windows,安装方法是直接将它的路径加入到启动项中去.这样,在windows启动之前进入gru...

weixin_42490217的博客 758

编译Linux内核没有zImage,Linux 编译系统的简单介绍与内核编译安装

这里不只是讲怎样编译、安装Linux内核的,更主要的是介绍内核的编译系统和各个重要的文件。最后还利用学到的编译、安装Linux内核去修改Linux的01调度变成随机调度。如果你只是需要编译、安装内核的几条指令,那么翻到文章中后部分吧。如果有哪里写错或者写得不太清楚的请指正。谢谢你的阅读!内核嘛,就是Linux的核心,如果你用Linux只是为了听听歌,看看电影,上上网,那么我想Linux是不太适合你...

weixin_36057489的博客 644

linux 编译配置文件,linux 编译系统的简单介绍与内核编译与安装

觉得那么无助了。下面我们继续。下面介绍几个重要文件。1)vmlinuz 内核引导文件vmlinuz是可引导的压缩内核,“vm”代表“Virtual Memory”。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz不是可执行 的Linux内核(网上说是可以执行的内核,可能有误。因为是压缩的,要执行必须解压。望大神指教!),因此在启动阶段首要的工作就是自解压内核映像,它位于/...

weixin_42310572的博客 483

linux从iso启动安装程序,通过Grub启动硬盘上的Linux ISO安装文件

首先是Grub。grub用于启动操作系统,由于它先于操作系统的启动,所以可以在装入操作系统之前在硬盘上找到我们下载的操作系统iso文件进入安装.对于已安装Windows的系统,我们需要grub for Dos.而对于已安装Linux的系统,自然也需要相应的Grub for linux。对于windows,安装方法是直接将它的路径加入到启动项中去.这样,在windows启动之前进入grup,让我们的...

weixin_39804523的博客 237
上一篇: linux软件管理方式
下一篇: Linux黑洞
zero_spy
博客等级 码龄17年 24粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值