返回列表 发帖

[VC++] linux的引导和启动过程

  一、电脑的启动过程
  (一)大概过程
  开机找到BIOS--》找到硬盘的MBR--》加载引导程序(lilo  grub等) --》加载kernel内核(挂载设备和硬件和必要的内核模块)--》启动用户空间程序。
  (二)详细过程
  (1)BIOS:开机--》bios启动,载入基本输入输出设备--》找到CPU,内存,和基本的IDE和SCSI硬盘
  (2) 找到硬盘中的MBR(存放引导文件和分区引导的地方)--》通过MBR载入引导装入器(GRUB,LILO)-->引导程序会列出操作系统列表,并标识出操作系统的引导文件所在的分区。
  (3)通过操作系统引导文件找到操作系统的内核-->内核载入从BIOS中取得的基本硬件相关数据(CPU和内存等),然后再查找各接口,以找到不同接口上的新硬件(如硬盘、网卡、显卡、USB等)--》如果探测到新硬件,则把相关信息加进/etc/sysconfig/hw.conf中,如设备驱动名称。
  如需要特殊设备驱动,刚把技术规范加入/etc/modules.conf中。下次启动时会读取modules文件,装入所需的驱动。所以新设备如果没有驱动时,需要装入驱动。驱动一般在modules文件夹下。
  (4)载入相关硬件后,内核开始初始化内存,并设置内核与相关模块。
  (5)初始化内存并配置相关模块后,系统根据运行级别确定启动或停止哪些服务。根据/etc/inittab中设定的运行级。
  (三)命令
  dmesg  命令查询启动过程的交互信息
  /proc  目录下提供了linux安装的硬件信息
  lsmod  命令检查安装的模块。
  rmmod  {模块名}  删除模块
  insmod {模块名}  安装模块
  (四)/etc/inittab中的六个运行级:
  0: 停止、关闭linux,停止所有服务
  1:单用户方式,不联网
  2、多用户方式,不能访问NFS
  3、多用户方式,启动计算机上的网络监控
  5、图形登录
  6、重新启动
  (五)单用户模式
  也就是运行级 1  。只启用两个服务。 可用于根口令忘记; /etc/fstab文件损坏,文件系统无法装载等故障。
  1、单用户的方式:
  grub下:
  (1)如果GRUB有口令,则先键入P键输口令
  (2)选择想引导的版本,ELSMP版为支持 多处理器版,EL为单处理器版
  (3)在想选择的版本上按e 键编辑
  (4)到本行行末键入空格,然后输入single,回到引导行,输入b键开始引导。
  可用的常用命令:
  passwd root 更改根口令
  检查卸载硬盘的命令 如 fsck
  exit退出单用户模式后,不需要重启电脑。
  lilo下:
  必须按 ctrl+x退出图形屏幕,在 boot:提示符下输入  linux single即可。
  2、救援模式
  用引导盘或第一张光盘引导到安装模式下输入:  linux rescue
  三个选项:
  (1)contunue:linux会搜索硬盘中的安装文件,所有找到的文件系统都装载成/mnt/sysimage的子目录。是一种自动救援模式。其实就是单用户模式。将/etc/fstab文件中相应文件系统都装载成/mnt/sysimage的子目录。可以用fsck /dev/分区来检查磁盘;mount命令来重载分区设备。
  (2)read-only: 只读,与上一方式差不多,只是找到的所有文件系统都装载成只读,是只读救援模式。可以在启动时,把单用户模式时输入的single改为emergency即可。
  (3)skip: 跳过:则直接出现单用户方式中的shell提示,不查找可用的文件系统,是手工救援模式。

长江后浪退前浪,灌水英雄代代出。

TOP

顶而不懈,遇到好贴决不能放过

TOP

返回列表

Powered by Discuz! 7.2   论坛QQ群:逐梦论坛群

© 2001-2021 Comsenz Inc. 鲁公网安备 37120302000001号