<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Vmlinux</id>
	<title>Vmlinux - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Vmlinux"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Vmlinux&amp;action=history"/>
	<updated>2026-06-29T14:35:45Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Vmlinux&amp;diff=338486&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.8.7</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Vmlinux&amp;diff=338486&amp;oldid=prev"/>
		<updated>2022-05-18T16:35:58Z</updated>

		<summary type="html">&lt;p&gt;补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.8.7&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Expand language|en|time=2017-02-04}}&lt;br /&gt;
{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
[[Image:Linux-kernel-vmlinux.png|right|thumb|Linux kernel boot and decompression process.]]&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
在linux系統中，&amp;#039;&amp;#039;&amp;#039;vmlinux&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;vmlinuz&amp;#039;&amp;#039;&amp;#039;）是一個包含linux kernel的靜態連結的執行檔，檔案型態可能是linux接受的執行檔格式之一（[[可執行與可鏈接格式|ELF]]、[[COFF]]或[[a.out]]），vmlinux若要用於除錯時則必須要在開機前增加symbol table。&lt;br /&gt;
&lt;br /&gt;
== 位置 ==&lt;br /&gt;
一般來說，核心的位置會在檔案系統的 /boot 目錄下，然而因为bootloader 必須使用 [[BIOS]] 的硬碟驅動程式，在一些i386的機器上必須要放在前 1024 個磁柱內。&lt;br /&gt;
&lt;br /&gt;
為了克服這個限制，Linux 發行版鼓勵使用者建立一個磁區用來存放 bootloader 與核心相關的開機檔案，例如 [[GRUB]], [[LILO]] 與 [[SYSLINUX]] ... 。而這個磁區通常會掛載到系統的／boot 上，這是 FHS (Filesystem Hierarchy Standard) 標準內定義的。&lt;br /&gt;
&lt;br /&gt;
== 壓縮 ==&lt;br /&gt;
&lt;br /&gt;
一般來說，當建立一個可啟動的核心時，此核心會先經過 zlib 演算法壓縮，而在核心內會包含一個相當小的解壓縮程式 stub，當 stub 解壓縮核心程式的時候會對 console 視窗印出&amp;quot;點&amp;quot;來表示解壓縮進度。&lt;br /&gt;
&lt;br /&gt;
解壓縮所花費的時間在開機時間中所佔程度來說其實是相當小的，而在早期的 bzImage 的發展中對於核心的大小會有所限制（特別是 i386 架構），在此情況下壓縮則是必須的。&lt;br /&gt;
&lt;br /&gt;
==vmlinuz==&lt;br /&gt;
vmlinuz 是vmlinux 经过 gzip和objcopy 制作出来的压缩文件，当然不再是vmlinux的一个简单的压缩版，这么简单。vmlinuz是一种统称，有两种具体的表现形式zImage 和bzImage。bzimage和zImage的区别在于本身的大小，以及加载到内存时的地址不同，zImage在0～640KB，而bzImage则在1M以上的位置。&lt;br /&gt;
&lt;br /&gt;
== bzImage ==&lt;br /&gt;
&lt;br /&gt;
隨著 linux Kernel 的成長，核心的內容日益增加超越了原本的限制大小。bzImage (big zImage) 格式則為了克服此缺點開始發展，利用將核心切割成不連續的記憶體區塊來克服大小限制。&lt;br /&gt;
&lt;br /&gt;
bzImage 格式仍然是以 zlib 演算法來做壓縮，雖然有一些廣泛的誤解就是因為以 bz- 為開頭，而讓人誤以為是使用 bzip2 壓縮方式（bzip2 套件所帶的工具程式通常是以 bz- 為開頭的，例如 bzless, bzcat ...）。&lt;br /&gt;
&lt;br /&gt;
bzImage 檔案是一個特殊的格式，包含了 bootsect.o + setup.o + misc.o + piggy.o 串接。piggy.o 包含了一個 gzip 格式的 vmlinux 檔案（可以參看 arch/i386/boot／下的 compressed/Makefile piggy.o）&lt;br /&gt;
&lt;br /&gt;
== 標題 ==&lt;br /&gt;
== 參見 ==&lt;br /&gt;
*[[Linux kernel]]&lt;br /&gt;
*[[可載入核心模組]]&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
*[http://www.faqs.org/docs/Linux-HOWTO/Kernel-HOWTO.html#kernel_files_info Kernel HOWTO]{{Wayback|url=http://www.faqs.org/docs/Linux-HOWTO/Kernel-HOWTO.html#kernel_files_info |date=20140406170711 }}&lt;br /&gt;
*[http://www.faqs.org/docs/kernel_2_4/lki-1.html Boot process] {{Wayback|url=http://www.faqs.org/docs/kernel_2_4/lki-1.html |date=20220212204139 }}&lt;br /&gt;
&lt;br /&gt;
{{Linux内核}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux內核]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>