[Linux] 五,引导流程 1
Linux 引导流程
课程大纲『
#1 Linux引导流程
#2 Linux运行级别
#3 Linux启动服务管理
#4 GRUB配置与应用
#5 启动故障分析与解决
』
系统引导流程 『
固件 firmware(CMOS/BIOS) → POST 加电自检
↓
自举程序 BootLoader(GRUB) → 载入内核
↓
载入内核 Kernel → 驱动硬件
↓
启动进程 init
↓
读取执行配置文件/etc/inittab
』
系统引导流程 『
固件 firmware(CMOS/BIOS) → POST 加电自检
↓ [CMOS是固化在主板上的那段程序, BIOS 操作CMOS的那个界面]
自举程序 BootLoader(GRUB) → 载入内核
| linux-grub /etc/grub.conf / win-ntldr [nt内核代号,loader] bootini [里面记载了启动信息]
↓ 载入内核,OS的核心-内核[存储CPU文件进程...管理]-心脏大脑
| 指定linux内核存放的位置。ls /boot
载入内核 Kernel → 驱动硬件
↓ [内核只做两件事情,1驱动硬件2启动init. 内核保存最多的是驱动程序]
启动进程 init
↓ [init是第一个可以存在和启动的进程]
读取执行配置文件/etc/inittab
----------------
说明1 : firmware自检之后,发现硬件们都没有什么问题之后,然后firmware读取
MBR[主引导记录],位于0柱面0磁头1扇区,跳到Master boot record去读取数据。载入MBR中一个很重要的数据叫做Bootloader,也称做自举程序或自启动程序
下面是 Partition table 磁盘分区表,下面是 Magic Number 结束标志字
说明2 : Linux内核是一个源代码文件,解包之后发现是一堆源代码文件,Linux没有编译的内核。自己下载你可以编译升级内核。
说明3 : init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在UNIX系统中,init时第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PID为0的内核调度器(Kernelscheduler),从而获得CPU时间。
扩展 :
在Linux里面不允许存在 孤儿进程,在linux系统中init是所有进程的父进程。
僵尸进程[Z] 儿子死了,父亲不知道,这个子进程就会变成 Z。
说明4,: 相关Apache服务的文件 .conf, config的缩写。 有的叫做~tab. table缩写。
inittab [ubuntu下没有,但是貌似可以自己创建一个!]
windows按F8,类似 runlevel [2,3 NFS网络文件系统 sun开发的一个服务,
可以实现 unix和unix的文件共享,不好udp..]
0 关机 1 字符单用户 2,3字符界面的多用户模式[广泛使用的服务器的模式]
4 自定义 5 图形化的多用户 6 reboot
』
常用固件设置 『
安全设置
可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示
......
』
firmware 里面有一个硬件时钟
OS 有一个软件时钟
要定期同步
#1 Linux 如何同步
#date #hwclock #hwclock --help 选项 hctosys systohc
如果两者都错误,那么 --set 选项可以设置你的硬件时钟,软件同理。
课程大纲『
#1 Linux引导流程
#2 Linux运行级别
#3 Linux启动服务管理
#4 GRUB配置与应用
#5 启动故障分析与解决
』
系统引导流程 『
固件 firmware(CMOS/BIOS) → POST 加电自检
↓
自举程序 BootLoader(GRUB) → 载入内核
↓
载入内核 Kernel → 驱动硬件
↓
启动进程 init
↓
读取执行配置文件/etc/inittab
』
系统引导流程 『
固件 firmware(CMOS/BIOS) → POST 加电自检
↓ [CMOS是固化在主板上的那段程序, BIOS 操作CMOS的那个界面]
自举程序 BootLoader(GRUB) → 载入内核
| linux-grub /etc/grub.conf / win-ntldr [nt内核代号,loader] bootini [里面记载了启动信息]
↓ 载入内核,OS的核心-内核[存储CPU文件进程...管理]-心脏大脑
| 指定linux内核存放的位置。ls /boot
载入内核 Kernel → 驱动硬件
↓ [内核只做两件事情,1驱动硬件2启动init. 内核保存最多的是驱动程序]
启动进程 init
↓ [init是第一个可以存在和启动的进程]
读取执行配置文件/etc/inittab
----------------
说明1 : firmware自检之后,发现硬件们都没有什么问题之后,然后firmware读取
MBR[主引导记录],位于0柱面0磁头1扇区,跳到Master boot record去读取数据。载入MBR中一个很重要的数据叫做Bootloader,也称做自举程序或自启动程序
下面是 Partition table 磁盘分区表,下面是 Magic Number 结束标志字
说明2 : Linux内核是一个源代码文件,解包之后发现是一堆源代码文件,Linux没有编译的内核。自己下载你可以编译升级内核。
说明3 : init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在UNIX系统中,init时第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PID为0的内核调度器(Kernelscheduler),从而获得CPU时间。
扩展 :
在Linux里面不允许存在 孤儿进程,在linux系统中init是所有进程的父进程。
僵尸进程[Z] 儿子死了,父亲不知道,这个子进程就会变成 Z。
说明4,: 相关Apache服务的文件 .conf, config的缩写。 有的叫做~tab. table缩写。
inittab [ubuntu下没有,但是貌似可以自己创建一个!]
windows按F8,类似 runlevel [2,3 NFS网络文件系统 sun开发的一个服务,
可以实现 unix和unix的文件共享,不好udp..]
0 关机 1 字符单用户 2,3字符界面的多用户模式[广泛使用的服务器的模式]
4 自定义 5 图形化的多用户 6 reboot
』
常用固件设置 『
安全设置
可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示
......
』
firmware 里面有一个硬件时钟
OS 有一个软件时钟
要定期同步
#1 Linux 如何同步
#date #hwclock #hwclock --help 选项 hctosys systohc
如果两者都错误,那么 --set 选项可以设置你的硬件时钟,软件同理。