Linux系统初始化笔记整理

Linux 系统初始化
概述:
BIOS 初始化
引导装载程序
内核初始化
Init 初始化
BIOS 初始化
1, 外围设备的检测
2, 选择引导设备
3, 读取引导设备的MBR
MBR: 全称为 Master Boot Record ,即主引导记录 . 硬盘的 0 柱面 0 磁头 1 扇区也叫主引导扇区 .
Linux系统初始化笔记整理_第1张图片
(此图片来自百度) 
主引导程序 (BootLoader): 负责从活动分区中装载 , 并运行系统引导程序占 446byte
分区表 (DPT,Disk Partition Table): 四个分区项每个 16 字节 , 总共占 64byte
结束标志字 : 硬盘有效标志固定为 55AA, 如果该标志错误系统就不能启动 . 2byte
 
MBR = BootLoader + DPT + Magic Number = 512byte
 
引导装载程序
调用引导装载程序 :
两种方式 :
1,BIOS 将控制权交给安装在 MBR 中的初始化程序装载器 (IPL)
2,BIOS 将控制权交给另一个引导装载程序 , 再由这个装载程序将控制权移交给 IPL
RedHat Enterprise Linux 下默认使用 GRUB 这个引导装载程序 .
由于 BootLoader 占用了 MBR 446byte, 所以 IPL 的大于就不能超过 446byte.
引导装载程序 :
第一阶段 GRUB IPL 找到并装载第二阶段的引导装载程序 .( 即初始化引导装载器 )
第二阶段 GRUB 读取 /boot/grub/grub.conf 配置文件 , 加载启动分区 , 内核与 RAMDISK 文件 .
(GRUB 在安装时系统会选择性的将一部分安装在 MBR 或引导分区 /boot , 将剩下的部分安装在引导分区 /boot , 以文件的形式存在 .)
如下图 ,GRUB 被安装在 /boot 引导分区上
stage1 刚好512字节,它唯一的工作就是找到并装载stage2
stage2 借助 stage1_5 驱动文件系统,并查找 grub.conf ,显示启动菜单供用户选择,然后根据用户的选择或默认配置加载操作系统内核,并将控制权交给操作系统内核,由内核完成操作系统的启动。
GRUB 特色 :
1, 引导提示时可以使用命令行界面 , 方便灵活 .
2, 可引导的文件系统 ext2/ext3 ReiserFS JFS FAT minix FFS
3, 支持 MD5 密码保护 .  ( 使用工具 :#grub-md5-crypt)
4. 如果 /dev/sda 中的 MBR 损坏 , 使用以下命令即可重新安装引导装载程序 .
  #/sbin/grub-install /dev/sda
/boot/grub/grub.conf
:grub.conf 0 表示第一个
全局定义部分 :
Default 指定默认启动项 , 这里默认是选择第一个启动项 , 这里也就一个启动项 .
Timeout 指定给用户选择的时间 , 这里是 5
Splashimage 指定 GRUB 启动时的背景画面 .
Hiddenmenu 隐藏选单 password GRUB 密码 , --md5 参数为启用 MD5 加密 .
开机选项部分 :
Title 启动选项标题
Root 指定要加载的根 , 也就是 /boot 启动分区
Kernel 要加载的内核文件 , ro 只读的方式加载 root=/ 根分区 , 传递内核参数
Initrd 指定要加载到内存中的 RAMDISK 文件 ( 加载系统启动所需的驱动模块 )
引导 windows xp :
title windows  xp   
rootnoverify (hd0,1)   
chainloader +1    
 
内核初始化
1, 设备检测
2, 设备驱动程序程序初始化
3, 以只读的方式挂载根文件系统
4, 载入初始进程 : init (PID:1, 系统第一个启动的进程 , 所有进程的父进程 .)
 Initrd 映像文件里包含了系统开机需要加载的模块 , 如果所需的驱动程序没有编译在内核里 , 那必须存在于 initrd 映像文件中 , 内核会将 initrd 映像暂时挂载到 RAMDISK , 以便初始化程序使用 .( 内核初始化过程存放在 /var/log/dmesg)
 
 
Init 初始化
1, 初始化运行级别
2, 系统初始化脚本
3, 对应运行级别的脚本目录, 根据某个关键字顺序启动相关服务
4, 定义UPS 电源中断/ 恢复脚本
5, 在虚拟控制台生成getty
6, 如果是运行级别5 则初始化X
Init 读取的初始化文件: /etc/inittab
系统默认运行级别:
0: 关机 1: 单用户模式 2: 不带NFS 的多用户模式 3: 完全多用户模式 4: 保留无定义
5: 图形登录 6: 重启
S , s , single 备用单用户模式
Emergency 紧急模式 ( 绕过 rc.sysinit, sulogin,) 所以只能只读的方式挂载根.
 
/etc/rc.d/rc.sysinit 的主要工作:
1, 激活udev selinux
2, 依据 /etc/sysctl.conf 文件设定内核参数
3, 设定系统时钟
4, 装载键盘设置
5, 启用交换分区
6, 设置主机名
7, 检查并重新挂载根文件系统
8, 激活 RAID LVM 设备
9, 启用磁盘配额
10, 检查并挂载其他文件系统
11, 清理过时的锁和 PID 文件
 
/etc/fstab
挂载设备 ( 设备名 ,UUID,LABEL)  挂载点 文件系统类型 挂载参数 dump (0: 从不备份 , 上次备份则显示距今天的天数 ) fsck (/ 始终为 1 即第一个检查 ,0 为不检查 )
 
system V 运行级别 :
每个运行级别都有对应的目录 : /etc/rc.d/rcX.d , system V init 脚本放在
/etc/rc.d/init.d 目录中 , 运行级别目录中的符号链接使用 start stop 参数调用
Init.d 目录内的脚本 .
S: start K: kill 数字为优先级 , 优先级大的先开后关 , 以数小为大 .
 
/etc/rc.d/rc.local system V 初始化的最后阶段 .
在系统进入运行级别时执行 , 通常用于自定义开机执行需要的进程 .

你可能感兴趣的:(linux,职场,休闲,系统初始化)