<?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=Initrd</id>
	<title>Initrd - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Initrd"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Initrd&amp;action=history"/>
	<updated>2026-07-09T06:24:55Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Initrd&amp;diff=283901&amp;oldid=prev</id>
		<title>imported&gt;Ohtashinichiro：​/* 更多链接 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Initrd&amp;diff=283901&amp;oldid=prev"/>
		<updated>2026-04-13T01:36:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;更多链接&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{lowercase|title=initrd}}&lt;br /&gt;
{{NoteTA|G1=IT}}&lt;br /&gt;
[[File:Dracut output screenshot.png|thumb|Dracut 的输出截图]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Initrd ramdisk&amp;#039;&amp;#039;&amp;#039;或者&amp;#039;&amp;#039;&amp;#039;initrd&amp;#039;&amp;#039;&amp;#039;是指在启动阶段被[[Linux内核]]调用的临时[[文件系统]]，用于[[根目录|根目录]]被[[Mount (Unix)|挂载]]之前的准备工作。&amp;lt;ref name=&amp;quot;almesberger2&amp;quot;&amp;gt;{{citation|last = Almesberger|first = Werner|year = 2000|title = Booting linux: the history and the future|journal = Proceedings of the Ottawa Linux Symposium|url = http://www.linuxsymposium.org/2000/booting.php|deadurl = yes|archiveurl = https://web.archive.org/web/20080724162809/http://www.linuxsymposium.org/2000/booting.php|archivedate = 2008-07-24|accessdate = 2012-12-26}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 基本原理 ==&lt;br /&gt;
同其他[[Unix]]系统，[[Linux]]首先要将内核載入到内存。initrd通常被壓縮成[[gzip]]類型，開機時由[[bootloader]]（如[[LILO]]、[[GRUB]]）來告知核心initrd的位置，使其被核心存取，掛載成一個loop型態的檔案。在2.6版本内核之后出现了initramfs，它的功能類似initrd，但是它基于[[CPIO]]格式，无须挂载就可以展开成一个文件系统。&lt;br /&gt;
&lt;br /&gt;
== initramfs 與 initrd ==&lt;br /&gt;
[[initramfs]]是initrd的替代品。initrd是一个被加载的块设备，内部有[[ext2]]一类文件系统的存在，于是由于Linux内核的缓存机制，其中的内容还会被缓存到内存上，造成一定的内存空间浪费。而initramfs本身就是一个[[tmpfs]]的[[RAM disk]]，拥有最小化的设计，绕过了缓存机制，也消除了多余的内存占用。&amp;lt;ref&amp;gt;{{cite web |url=http://stackoverflow.com/questions/10603104/the-difference-between-initrd-and-initramfs |title=The difference between initrd and initramfs? |website=[[Stack Overflow]] |accessdate=2014-04-24 |archive-date=2021-01-26 |archive-url=https://web.archive.org/web/20210126035033/https://stackoverflow.com/questions/10603104/the-difference-between-initrd-and-initramfs |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
initramfs的生成方式也远比initrd简单。对于initramfs，只需 &amp;lt;code&amp;gt;geninitramfs() { cd &amp;quot;$1&amp;quot;; find . -depth| cpio -o -H newc | ${3-cat}&amp;gt; &amp;quot;$2&amp;quot;; }&amp;lt;/code&amp;gt; 就可以利用[[cpio]]生成这样一个文件，同时使用一些程序进行压缩（通过额外的管道实现，其中使用cat仅用于无压缩时转发输出，可省去）。对于initrd，则涉及生成一定大小的空文件，然后创建文件系统，挂载并添加文件等等诸多步驟。&lt;br /&gt;
&lt;br /&gt;
== 实现 ==&lt;br /&gt;
&lt;br /&gt;
[[Linux內核]] 與 initrd/initramfs 必須儲存在 bootloader 可以存取的位置，通常是在：&lt;br /&gt;
&lt;br /&gt;
* root 檔案系統內&lt;br /&gt;
* 一個小的[[ext4]]或[[FAT]]檔案系統的分割區（通常掛載到 /boot）&lt;br /&gt;
* TFTP server內&lt;br /&gt;
&lt;br /&gt;
bootloader 會將內核與 initrd 載入到記憶體中並將 initrd 的位址傳給內核。initrd會被掛載當成 initial root file system。&lt;br /&gt;
&lt;br /&gt;
現在的 Linux 發行版會建立客製化只包含必要元件的 initrd 映像檔，例如只包含 [[集成设备电路|IDE]]、[[SCSI]]、[[SATA]]、[[Serial Attached SCSI|SAS]] 以及檔案系統核心模組。&lt;br /&gt;
&lt;br /&gt;
== 参考 ==&lt;br /&gt;
&lt;br /&gt;
* {{citation|first = Rob|last = Landley|title = Introducing initramfs, a new model for initial RAM disks|date = 15 March 2005|url = http://linuxdevices.com/articles/AT4017834659.html|publisher = linuxdevices.com|archiveurl = https://web.archive.org/web/20090301134734/http://linuxdevices.com/articles/AT4017834659.html|archivedate = 2009-03-01|access-date = 2007-08-22|dead-url = yes}} {{citation | title=initramfs 簡介，一個新的 initial RAM disks 的模型 | url=http://gaznjang.blogspot.com/2008/04/initramfs-initial-ram-disks.html | accessdate=2018-12-17 | archive-date=2019-09-07 | archive-url=https://web.archive.org/web/20190907012528/http://gaznjang.blogspot.com/2008/04/initramfs-initial-ram-disks.html | dead-url=no }}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 更多链接 ==&lt;br /&gt;
&lt;br /&gt;
* A [http://wiki.debian.org/InitrdReplacementOptions detailed comparison] {{Wayback|url=http://wiki.debian.org/InitrdReplacementOptions |date=20200729052458 }} of initrd-generating toolkits&lt;br /&gt;
* [https://www.kernel.org/doc/Documentation/early-userspace/README Kernel documentation] {{Wayback|url=https://www.kernel.org/doc/Documentation/early-userspace/README |date=20201007003232 }} on Early userspace support&lt;br /&gt;
* [https://archive.today/20121227180523/http://blog.microsuncn.com/?p=253 分析linux initrd文件]&lt;br /&gt;
&lt;br /&gt;
{{Linux内核}}&lt;br /&gt;
&lt;br /&gt;
[[Category:引导]]&lt;br /&gt;
[[Category:Linux內核]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ohtashinichiro</name></author>
	</entry>
</feed>