没有运行程序的计算机只是插入的电子设备。计算机开机后要做的第一件事就是启动一个称为操作系统的特殊程序。操作系统的工作是通过处理控制计算机硬件的杂乱细节来帮助其他计算机程序工作。
启动过程概述
每次打开计算机时都会发生启动过程。你并没有真正看到它,因为它发生得太快了。几分钟后您再按电源按钮,Windows XP、Windows Vista 或您使用的任何操作系统都已加载。
BIOS 芯片告诉它在一个固定的位置查找,通常是在编号最低的硬盘(引导盘)上查找称为引导加载程序的特殊程序(在 Linux 下,引导加载程序称为 Grub 或 LILO)。引导加载程序被拉入内存并启动。引导加载程序的工作是启动真正的操作系统。
BIOS 的功能
POST (开机自检) 每次打开计算机时都会进行开机自检。这听起来很复杂,那是因为它有点。您的计算机在打开时会做很多事情,这只是其中的一部分。
它初始化各种硬件设备。这是一个重要的过程,以确保所有设备顺利运行,没有任何冲突。 BIOS 遵循 ACPI 创建描述计算机中设备的表。
POST 首先检查 bios,然后测试 CMOS RAM。如果没有问题,POST 将继续检查 CPU、硬件设备(如显卡)、辅助存储设备(如硬盘驱动器、软盘驱动器、Zip 驱动器或 CD/DVD 驱动器)。如果发现一些错误,则屏幕上会显示一条错误消息或听到多次哔声。这些蜂鸣声称为 POST 蜂鸣声代码。
主引导记录
主引导记录 (MBR) 是一个在计算机启动时启动的小程序,用于查找操作系统(例如 Windows XP)。这个复杂的过程(称为引导过程)从 POST(开机自检)开始,并在 Bios 搜索硬盘上的 MBR 时结束,该 MBR 通常位于第一个扇区、第一个磁头、第一个柱面(柱面 0 ,磁头 0,扇区 1)。
典型的结构如下所示:
引导加载程序存储在计算机的 EPROM、ROM 或其他非易失性存储器中。当计算机打开或重新启动时,它首先执行开机自检,也称为 POST。如果 POST 成功且未发现任何问题,则引导加载程序会将计算机的操作系统加载到内存中。然后计算机将能够快速访问、加载和运行操作系统。
在里面
init 是内核引导序列的最后一步。它查找文件/etc/inittab以查看是否有initdefault条目。它用于确定系统的初始运行级别。运行级别用于决定操作系统的初始状态。
一些运行级别是:
等级
- 0 –> 系统暂停
- 1 –> 单用户模式
- 3 –> 带网络的完整多用户模式
- 5 –> 带有网络和 X 显示管理器的完整多用户模式
- 6 –> 重新启动
init的上述设计称为SysV-发音为系统五。现在已经编写了 init 的其他几个实现。一些流行的实现是 systemd 和 upstart。自 2006 年以来,ubuntu 一直在使用 Upstart。可以在此处找到有关 upstart 的更多详细信息。
init 的下一步是启动各种支持网络和其他服务的守护进程。 X 服务器守护进程是最重要的守护进程之一。它管理显示器、键盘和鼠标。当 X 服务器守护进程启动时,您会看到一个图形界面并显示一个登录屏幕。
参考 :
http://www.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/bootup.html
https://www.computerhope.com/jargon/b/bootload.htm
http://www.dewassoc.com/kbase/hard_drives/master_boot_record.htm