百科问答小站 logo
百科问答小站 font logo



关于vmlinux,vmlinuz,bzImage,zImage的区别和联系? 第1页

  

user avatar   18173189507 网友的相关建议: 
      

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

2、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”意思。

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

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

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

vmlinux 是ELF文件,即编译出来的最原始的文件。

vmlinuz应该是由ELF文件vmlinux经过OBJCOPY后,并经过压缩后的文件

zImage是vmlinuz经过gzip压缩后的文件,适用于小内核

bzImage是vmlinuz经过gzip压缩后的文件,适用于大内核

通常情况下是不能用vmlinuz解压缩得到vmlinux的




  

相关话题

  Linux 为什么不是实时操作系统? 
  打算用 Linux 作为日常使用的操作系统,不做开发,哪个版本比较合适? 
  熟悉 Ubuntu 的新手怎么玩转 Arch? 
  Linux的内核为什么一定要映射到所有的物理内存? 
  内核页表和linux的伙伴系统是不是有冲突? 
  如果把Linux kernel移植到新的平台,根据GPL协议,是否必须开放源代码呢? 
  Linux主机中增加一块内存条后,物理地址如何扩展? 
  从操作系统内存管理来说,malloc申请一块内存的背后原理是什么? 
  熟悉 Ubuntu 的新手怎么玩转 Arch? 
  memcpy比循环赋值快吗?为什么? 

前一个讨论
如果未来发现宇宙从始至终只有一个粒子,且所有粒子都是它的不同时间态。会对人类看待宇宙产生怎样影响?
下一个讨论
去酒店开一两百块一天的房间,带几十台矿机进去挖矿,一天用他个三五百的电费,这样违法吗?





© 2025-04-27 - tinynew.org. All Rights Reserved.
© 2025-04-27 - tinynew.org. 保留所有权利