系统启动过程
来源:互联网 发布:手机上平面设计软件 编辑:程序博客网 时间:2024/05/02 00:25
linux启动过程
linux启动过程有以下的步骤:
BIOS à (boot sequence àMBR:Master Boot Record(1 sector, 512 bytes)) Bootloader à kernel à init(/etc/inittab) à /etc/rc.local àlogin。
以下我将对以上每部分解释一下:
先读取BIOS,其中(boot sequence)存取了系统启动的顺序。然后再在从定义的顺序对应的的MBR,MBR中定义了对系统的引导,其中包括根目录的分区root,内核(vmlinuz)的位置,以及initrd。这都是引导linux的必要的配置。对于系统的引导以前常用的是LILO,而由于LILO对磁盘类型支持的种类比较少,被GRUB所取代。
grub引导之后系统开始启动init进程,该进程的配置文件时/etc/inittab。init进程的顺序:
1. 设定默认运行的等级
2. 启动系统初始化脚本rc.sysinit
3. 执行运行级别下的每一个脚本
4. 设定ctrl+alt+del组合键的功能
5. 设定电源故障时执行的脚本
6. 设定要启动的虚拟控制台/dev/tty[1-6]
7. 设定当指定运行级别为5时做GUI初始化脚本
之后系统启动完成。启动rc.sysinit的过程有:
1. 激活udev和SElinux
2. 设置内核参数/etc/sysctl.conf
3. 设置系统时钟
4. 装载键盘映射
5. 启动交换分区
6. 设置主机名,/etc/sysconfig/network
7. 根文件系统并重新以读写方式挂载根文件系统
8. 激活RAID和LVM设备
9. 启动磁盘配额
10. 检查并挂载其它文件系统,/etc/fstab
11. 清楚不再使用锁和PID文件
在执行一定等级时,启动的脚本在/etc/rc.d/下对应等级rcN.d目录下,以S开头的脚本,同理关闭的脚本是以K开头的脚本。
GRUB知识小结
GRUB为最新的linux的引导程序,假设系统存在硬盘上,其MAB大小为512byte,其中bootloader大小为446byte,还有64byte存储磁盘分区,每个分区用16byte表示,还有2两个字节存储其它信息。其中bootloader只有446字节存储引导信息,很难提供强大的功能,所以GRUB提供了分段式的方式,在bootloader中只有第一段,其第1.5段和第2段存在于/boot/grup文件夹下,其中第1.5段提供了对多种文件系统硬盘的驱动(除了RAID1之外的其它RAID和LVM),第2段中则提供了grub的主配置文件,其中分别定义了一下几部分:
default=1 在有多个启动菜单中默认启动的系统
timeout=5 默认等待的时间
splashimage=(hd0,0)/grub/11.xpm.gz grub背景图片
hiddenmenu 是否隐藏启动的菜单
title Red Hat Enterprise Linux Server (2.6.28.10-zly) 系统名称
root (hd0,0) 核心所在的分区
kernel /vmlinuz-2.6.28.10-zly ro root=/dev/vol0/root rhgb quiet 核心所在的具体位置,真是分区所在的位置,及挂载的位置,是否显示加载的信息
initrd /initrd-2.6.28.10-zly.img initrd所在的位置,这是一个虚拟的系统的位置,启动系统所必须的文件。
每一个title代表有启动选项的一个菜单。
GRUB的修复:
grup的损坏分为两种:
1. 配置文件损坏。这种情况我们可以手动编写配置文件,如果在开机情况下,可以将上面介绍的grub配置文件写入。注意:root (hd0,0)表示boot文件夹所在的分区,(hd0,0)表示第一块儿硬盘的第一个分区,第一个0是顺序,第二个0表示分区顺序。如果boot和根文件夹在一个分区,则上述表示根分区,但kernel和initrd的路径该写成/boot/kernel /boot/initrd 切记两个文件的版本号都必须完全相同。如果在重新开机时,分别输入root,kernel,initrd,然后再引导。或者输入root(hdN,N)之后用setup (hdN)N是硬盘次序,来自动安装grub
2. 如果bootloader损坏则。如果开机情况下输入grep-install --root-directory=/boot /dev/sda重新安装grub。如果已经关机,则需把硬盘挂载到其他电脑上用上述命令安装grub,同时在配置文件中修改相应的数据。
- 系统启动 过程
- 系统启动过程
- 系统启动过程
- 系统启动过程
- 系统启动过程
- 系统启动过程
- 系统启动过程
- 系统启动过程
- 系统启动过程
- 系统启动过程简介
- 剖析Linux系统启动过程
- 剖析Linux系统启动过程
- 剖析Linux系统启动过程
- FreeBSD 虚拟内存系统启动过程
- 剖析Linux系统启动过程
- 剖析Linux系统启动过程
- Linux系统启动过程:
- Linux系统启动过程:
- C
- 一个人的成功取决于晚上的8点至10点 ZZ
- C++ Vector用法深入剖析
- Delphi调用WMI读取USB设备的PID和VID【转】
- Get Information about a Process using WMI?【转】
- 系统启动过程
- 大幅幻灯片,flash xml读取数据[带演示]
- win7下VS2005编译chrome所遇到的问题!!
- c# 类的高级技术3--高级转换
- GMP快速入门
- 2011.05.03 ~ 2011.05.07
- ubuntu 10.04 桌面环境自动重启?
- 中国城市经纬度表(精确到县区)Google地图用
- Cellular neoral networks