LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 830|回复: 2

linux引导初学者体会

[复制链接]
发表于 2004-6-15 19:46:13 | 显示全部楼层 |阅读模式
大家好,我是新来的linux初学者。一个人自学有好多东西一知半解,写一些学习心得,希望高手指点。
linux引导(grub)

刚按下电源时进入系统自检,如果硬件没有问题的话进入bios自检。bios按照cmos里的方案从指定设备加载硬盘前512个字节的分区信息(也有的资料说是446个字节),在这里面记载着grub的mbr信息。一般有三种情况:一种是硬盘默认的mbr,它会从计算机的第一个扇区加载引导信息,如果安装时选的是将grub放在分区就是这种情况;一种是win霸占了mbr。此时需要在boot.ini中设置linux mbr的位置才能引导。还有就是grub在mbr里,下面具体分析这种情况。

首先grub会调用/etc/grub.conf这个配置文件,grub.conf是/boot/grub/grub.conf的软连接,编辑该连接可以直接修改原文件。我的grub.conf如下:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,5)
# kernel /boot/vmlinuz-version ro root=/dev/hda6
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
title Red Hat Enterprise Linux ES (2.4.21-9.EL)
root (hd0,5)
kernel /boot/vmlinuz-2.4.21-9.EL ro root=LABEL=/
initrd /boot/initrd-2.4.21-9.EL.img
title Windows XP Profession (SP1)
rootnoverify (hd0,0)
chainloader +1

注释的部分说的是我的grub没有装在/boot分区,所以核心和initrd都在根下。
命令第一行的意思如果是默认启动第0个操作系统,grub的编号是0,1,2,3……。
第二行代表选择操作系统的停留时间。
第三行是bootloader的背景画面位置。
第四行是指定root的位置,我认为如果没有两个硬盘,或者没有/boot分区的话,可以去掉这行,因为此时核心的root即是linux的root。
第五行是指定核心位置,ro代表只读,至于为什么要这么做我也不太清楚,也许是出于稳定的考虑,后面指定的是root的位置,代表linux的根位置,也可以换成/dev/hda6
第六行是initrd的位置,init是linux的启动进程服务。
下面的的是链式引导的配置,+1代表把引导权教给下一个操作系统。

系统引导(init)

在init运行之前,首先由内核监测硬件,然后将内核解压到内存中,这也就是为什么要创建kernel的镜像文件,因为只有init才能引导内核,而init又包含在内核之中

首先init启动,他先要去调用/etc/inittab这个配置文件,我的inittab文件如下

# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

第一段注释是废话,第二段代表各个运行级别
0=关机 1=单用户模式 2=不包括nfs的多用户模式 3=完全多用户模式(普通文本模式) 4=无用户? 5=图形界面 6=重启
initdefault(id)前开机默认进入图形界面

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

调用/etc/rc.d/rc.sysinit,该文件主要负责调用系统环境变量和挂载文件系统

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

当运行级别为5时调用脚本/etc/rc.d/rc以5为参数去寻找/etc/rc.d/rc3.d文件夹,里面装的是/etc/init.d/下各个服务的软连接,连来连去的真是不嫌麻烦。

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "ower Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "ower Restored; Shutdown Cancelled"

在启动中可以按组合键重启,如果你突然想win的话,不用直接摸机箱

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

打开控制台,输入用户名密码,与login程序通信
respawn的意思是退出时要再衍生一遍控制台命令(不太明白)


# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon

图形化登陆框
发表于 2004-6-15 20:11:31 | 显示全部楼层
呵呵,我也是新来的
发表于 2004-6-16 09:18:04 | 显示全部楼层
请在发贴前查看置顶的帖子!

http://www.linuxsir.cn/forum.php?mod=viewthread&tid=101850
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表