Difference between revisions of "Arch boot process (简体中文)"

From ArchWiki
Jump to: navigation, search
(Move initscripts info to Initscripts.)
(update image name.)
Line 18: Line 18:
 
{{TranslationStatus (简体中文)|Arch_Boot_Process|2012-11-04|233544}}
 
{{TranslationStatus (简体中文)|Arch_Boot_Process|2012-11-04|233544}}
 
== 启动加载器 ==
 
== 启动加载器 ==
系统开机并且执行完[[Wikipedia:Power-on self-test|加电自检]]后,BIOS会根据自身设置选择最佳的启动媒介,把控制权传递给该媒介的主引导记录([[Master Boot Record]])部分。在GNU/Linux系统中,MBR里通常是像[[GRUB (简体中文)|GRUB]]、[[LILO]]这样的引导器(bootloader)。引导器通常会给用户一个菜单或者命令行之类的机制,供用户选择和设置。例如[[Windows and Arch Dual Boot|双系统的设置]]。一旦你选择启动Arch时,引导器就会载入{{ic|/boot}} 目录下的内核镜像(比如{{ic|kernel26.img}}),并解压缩。
+
系统开机并且执行完[[Wikipedia:Power-on self-test|加电自检]]后,BIOS会根据自身设置选择最佳的启动媒介,把控制权传递给该媒介的主引导记录([[Master Boot Record]])部分。在GNU/Linux系统中,MBR里通常是像[[GRUB (简体中文)|GRUB]]、[[LILO]]这样的引导器(bootloader)。引导器通常会给用户一个菜单或者命令行之类的机制,供用户选择和设置。例如[[Windows and Arch Dual Boot|双系统的设置]]。一旦你选择启动Arch时,引导器就会载入{{ic|/boot}} 目录下的内核镜像(比如{{ic|initramfs-linux.img}}),并解压缩。
  
 
== 内核 ==
 
== 内核 ==

Revision as of 01:58, 12 November 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

翻译状态: 本文是英文页面 Arch_Boot_Process翻译,最后翻译时间:2012-11-04,点击这里可以查看翻译后英文页面的改动。

启动加载器

系统开机并且执行完加电自检后,BIOS会根据自身设置选择最佳的启动媒介,把控制权传递给该媒介的主引导记录(Master Boot Record)部分。在GNU/Linux系统中,MBR里通常是像GRUBLILO这样的引导器(bootloader)。引导器通常会给用户一个菜单或者命令行之类的机制,供用户选择和设置。例如双系统的设置。一旦你选择启动Arch时,引导器就会载入/boot 目录下的内核镜像(比如initramfs-linux.img),并解压缩。

内核

内核是一个操作系统的核心。他作用于非常底层的硬件和控制硬件的程序之间的部分(又称之为内核空间)。由于CPU在某个时刻只能执行一个任务,为了更为高效的使用CPU,内核使用调度器,通过一定的优先级算法将 CPU 按照时间动态的分配给各个程序。给我们的感觉就像所有程序都在使用CPU一样。

initramfs

内核在载入后会解压initramfs(初始化RAM文件系统),生成初始根文件系统。然后内核会执行 /init,init 成为第一个进程,早期用户空间就启动了。

initramfs 的作用是将系统启动到可以访问 根文件系统的阶段,所以需要包含没有内置进内核的 IDE、SCSI、SATA(如果从USB设备中启动的话,肯定还有USB/FW模块)等驱动。在initramfs载入了必要的模块后(通过程序和脚本显示加入或通过 udev 自动装入),引导过程继续。因此,initrd无须包含所有模块,大部分模块将在随后的引导中通过udev载入。

Init 进程

在早期用户空间的最后,会挂载真正的根分区,并替代初始根文件系统。执行 /sbin/init 以接替 /init 进程。

Arch 现在使用Systemd作为默认的初始化进制。Arch 过去使用 Initscripts,建议使用它的用户切换到Systemd.

扩展资源