在MBR中只有四个分区表项,每个表项的格式如下:
地址偏移 内容 大小
+00h 分区状态:00代表非启动分区,80h代表启动分区 1字节
+01h 分区的起始位置 磁头 1字节
+02h 分区的起始位置 柱面和扇区 1字节
+04h 分区的类型 1字节
+05h 分区的结束位置 磁头 1字节
+06h 分区的结束位置 柱面和扇区 1字节
+08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节
+0Ch 分区内的扇区数目 4字节
5.2 Linux的启动过程
1启动的命令行参数
在Linux启动时 , 它处理所有传递给它的命令行参数 。这可以影响Linux的运行方式 。命令行参数包括:
QUOTE:
mem=xxxM:定Linux可以使用的内存大小 。这在用户的计算机系统有超过64MB的内存时才需要 。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个计算机的性能下降,所有内存均按无缓存的速度运行 。
single:使Linux按单用户方式启动,缺省方式是多用户方式 。
root=/dev/xxx:指定Linux要安装为根文件系统的设备 。
init=file;:指定作为初始化进程的文件 。
initrd=dev;:指定作为初始内存磁盘的设备 。
ro:指定根文件系统为只读 。
rw:指定根文件系统为可读可写 。
2 Init进程
在内核初始化自身和找到的硬件设备后 , 在后台启动进程init(/ *** in/init) , init进程号1运行 。
在UNIX世界中有许多启动过程的版本,一些是基于系统V , 一些是基于BSD 。大多数Linux版本使用系统V的实现方法 , 在这里描述的就是这样 。
init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同 。
QUOTE:
单用户模式:init进程忽略/etc/inittab文件 , 在执行少数几个脚本程序后调用/dev/console shell 。这样,用户就可以有了一个shell,而且可以执行一定限度的任务 。
多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别 。Init通过标准的Linux方法进入一个指定的进行级别 。
3.进行级别
Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别 。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的 。Linux共有6种运行级别 。
QUOTE:
0:关闭计算机或终止计算机运行 , 这个级别就是系统停止运行 。
1:单用户启动级别,系统只有一个用户,就是root , 该用户在控制台登录 。
2:多用户运行级别,但无网络功能 。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路 。
3:多用户模式,有网络功能 。在这个运行级别,所有标准网络服务均被启动 。
4:目前没有实现 。
5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式 。
6:系统重新启动 。
查询当前运行级别:runlevel;
4在启动过程中运行的脚本
在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别 。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的 , 其中X代表运行的级别,即一个运行级别对应一个目录 。不同的字母开头的文件有不同的作用 。其中:
以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务 。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序 。
以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务 。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序 。
推荐阅读
- 台式电脑怎么u盘重装系统的简单介绍
- html5电脑录制,h5录像
- 小区交房前拍摄什么,小区交房前最后一步
- 橙光都市恋爱游戏破解版,橙光都市恋爱游戏金手指版
- 面向过程vb.net 面向过程是什么意思
- html让代码失效,html代码大全
- pdf文字怎么修改在线,pdf修改编辑在线
- 天天看微信视频号,看微信视频号的人多吗
- c语言怎么用背景函数 c语言怎么更改背景颜色