总概括:
1)开机BIOS自检
2) MBR引导
3)grub引导菜单
4)加载内核kernel
5) 启动 init 进程
6) 读取inittab文件,执行rc.sysinit rc 等脚本
7) 启动mingetty,进入系统登录界面
1>开机BIOS自检
(摘抄)稍有计算机基础的人都应该听过BIOS(Basic Input / Output System),又称基本输入输出系统,可以视为是一个永久地记录在ROM中的一个软件,是操作系统输入输出管理系统的一部分。早期的BIOS芯片确实是"只读"的,里面的内容是用一种烧录器写入的,一旦写入就不能更改,除非更换芯片。现在的主机板都使用一种叫Flash EPROM的芯片来存储系统BIOS,里面的内容可通过使用主板厂商提供的擦写程序擦除后重新写入,这样就给用户升级BIOS提供了极大的方便。
BIOS的功能由两部分组成,分别是POST码和Runtime服务。POST阶段完成后它将从存储器中被清除,而Runtime服务会被一直保留,用于目标操作系统的启动。BIOS两个阶段所做的详细工作如下:
步骤1:上电自检POST(Power-on self test),主要负责检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)是否正常。例如,最常见的是内存松动的情况,BIOS自检阶段会报错,系统就无法启动起来;
步骤2:步骤1成功后,便会执行一段小程序用来枚举本地设备并对其初始化。这一步主要是根据我们在BIOS中设置的系统启动顺序来搜索用于启动系统的驱动器,如硬盘、光盘、U盘、软盘和网络等。我们以硬盘启动为例,BIOS此时去读取硬盘驱动器的第一个扇区(MBR,512字节),然后执行里面的代码。实际上这里BIOS并不关心启动设备第一个扇区中是什么内容,它只是负责读取该扇区内容、并执行。
至此,BIOS的任务就完成了,此后将系统启动的控制权移交到MBR部分的代码。
PS: 在个人电脑中,Linux的启动是从0xFFFF0地址开始的。
2>MBR引导
(摘自百科)mbr (主引导记录(Master Boot Record)) 编辑MBR,即主引导记录,是对IBM兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区。MBR概念是在1983年PC DOS 2.0支持硬盘后才有的。[1] MBR描述了逻辑分区的信息,包含文件系统以及组织方式。此外,MBR还包含计算机在启动的第二阶段加载操作系统的可执行代码或连接每个分区的引导记录(VBR)。这个MBR代码通常被称为引导程序。由于MBR分区表的最大可寻址的存储空间只有2Tb(232×512字节)。因此,在大硬盘出现的现在,MBR分区方式逐渐被GUID分区表取代。MBR不可能存在于不可分区的媒介如软盘等中
3>grub引导菜单
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
4>加载内核kernel
5>启动 init 进程
6>开机的6个级别:/etc/inittab
# 0 - halt (Do NOT set initdefault to this) (关机)
# 1 - Single user mode (单一模式)
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) (多用户,无NFS(如果您没有配置网络,该级别与3一样) )
# 3 - Full multiuser mode (完全的多用户模式)
# 4 - unused (没有使用)
# 5 - X11 (图形界面X11)
# 6 - reboot (Do NOT set initdefault to this) (重启)
临时设置
init 级别0-6
永久配置
vi /etc/inittab
修改最后一行,改成想要的模式,重启系统之后就会以该模式重启,坚决不能用1和6,一个是无限关机,一个是无限重启。
7>启动mingetty,进入系统登录界面
进入shell界面,输入帐号密码开始操作系统,tty终端共有tty1-tty6,tty7是图形界面。(本系统没装图形界面)
tty用Alt+F(1-6)来切换。