Linux知識——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的壓縮檔。 vmlinux 是ELF檔案,即編譯出來的最原始的檔案。 vmlinuz應該是由ELF檔案vmlinux經過OBJCOPY後,並經過壓縮後的檔案 zImage是vmlinuz經過gzip壓縮後的檔案,適用於小核心 bzImage是vmlinuz經過gzip壓縮後的檔案,適用於大核心 通常情況下是不能用vmlinuz解壓縮得到vmlinux的