linux iso里哪个是内核文件

linux iso里哪个是内核文件

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

一、vmlinuz

vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:

“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。

zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

二、 initrd-x.x.x.img

initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。为了解决这个问题,可以引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件,下面来看一看这个文件的内容。

initrd实现加载一些模块和安装文件系统等。

initrd映象文件是使用mkinitrd创建的。mkinitrd实用程序能够创建initrd映象文件。这个命令是RedHat专有的。其它Linux发行版或许有相应的命令。这是个很方便的实用程序。具体情况请看帮助:man mkinitrd

Linux系统的安装利器镜像文件解析linux的镜像文件
根据Linux操作系统配置的不同,镜像文件解析得到的文件有所不同,一般来说,根目录文件夹中存储有安装程序和用于安装系统的bash脚本文件;boot文件夹中存储有系统启动时所用的内核文件;gz文件夹中存储有Linux核心程序,可以根据用户的需求进行编译和安装;其它文件夹中存储有系统所需要的应用程序和驱动程序,...

Linux的iso怎么刻碟啊?!
Linux的iso文件通常有两种格式,源码或二进制码。源码格式在安装时会加载编译器,用于编译源代码。这种格式可以在虚拟机中安装,然后将安装后的系统所有文件打包,并解压到宿主机上。对于二进制格式的iso文件,它们相对较少,通常在非主流系统中使用。二进制文件的运行效率相比源码格式可能略低,但差异并不...

用Grub启动ISO
isofile :ISO文件所在目录 loader :ISO文件中linux和initrd所在目录 linux :加载内核的命令,后面的 args 为内核参数 建议打开ISO文件,从里面找到grub.cfg,从里面找到 loader 和 args ,其中 args 可能需要做一些修改。以下为我尝试的一些发行版的启动方法。使用的镜像为openSUSE-Tumbleweed-NET-x86_64...

一个linux系统里面能有多个kernel吗?如果可以应该怎么添加呢?_百度...
内核在 \/boot 里面,vmlinuz 那些个就是,其他的文件都是辅助用的。其中还有用的是 initrd ,这东西是随内核一起被引导器——现在基本就是 GRUB ——一起读取到内存中,内核启动后会读取这里的文件,并且把它作为临时的根文件系统,之后再过渡启动到硬盘。不过 initrd 不是必须存在的,他因为在启动内...

Linux下如何直接从硬盘启动Linux ISO镜像文件
找到内核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你会在casper文件夹中找到这些文件——vmlinuz文件是Linux内核,而initrd文件是initrd映像。后面,你需要知道它们在ISO文件中所处的位置。检查硬盘分区路径 GRUB使用与Linux不同的“设备命名”方式。在Linux系统中,\/dev\/sda0是硬盘上的第一个分区—...

ISO格式Linux下操作ISO文件
在Linux环境下,操作ISO文件主要通过命令行实现。使用 `mount` 命令挂载ISO文件,实现读取文件内容。命令格式为:mount -t iso9660 -o loop xxx.iso \/path 其中,`\/path` 是挂载点,`xxx.iso` 是ISO文件名。实际使用时,应根据具体路径和文件名进行替换。若需制作ISO文件,将光盘插入光驱后,使用...

ISO镜像文件 是什么 ? 在那里? 有什么用?
通常,Linux系统的内核(Kernel)是支持iso9660文件格式的,如果不支持你需重新编译内核增加对其的支持。你只需简单使用以下命令就可以从\/path目录中读到它的内容了:mount -t iso9660 -o loop xxx.iso \/path 3.如果将其刻成光盘 使用Windows下的光盘刻录软件,它能够直接完成这个工作。在Linux系统中,...

下载的iso文件怎么打开
1 用RAR解压 2 用虚拟光驱加载 个人建议,用虚拟光驱加载ISO文件

linux系统iso
linux中的iso文件不需要解压,直接挂载就可以,首先打开终端,输入mount-oloop\/root\/download\/win10.iso\/mnt\/iso注:mount是用来挂载的命令。\/root\/download\/win10.iso是镜像位置。\/mnt\/iso是挂载路径,可以改到其他位置。两个路径之间有一个空格。挂载后就可以在挂载位置上看到iso文件里的东西。卸载用...

iso挂载linuxiso挂载linux
如何在linux下运行iso文件?linux里安装ISO文件就像windows一样,需要先加载iso里的文件,然后运行里面的文件。不同的是windows需要用虚拟光驱等软件加载ISO文件;Linux有命令直接加载ISO文件1、将iso文件拷贝到linux系统里,比如放到\/opt下2、挂载ISO文件:mount-oloop\/opt\/a.iso\/mnt\/iso(后面为挂载目录...

相似回答