分享
 
 
 

RedHatLinuxTroubleshooting系统启动部分概要

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

#############################

#######################

# #

####################### #

# # #

# 当电源被按下 # #

# ##

#######################

当电源Power按下后,计算机开始自检看什么CPU、内存、显卡的是否都安上了!如果这里过不去就不用我说了吧!该换什么就换什么,插插拔拔的工作要仔细!现在的主板什么排错灯、语音提示的不一而足,想当年我们那望闻问切的功夫都不用了,很怀念那小喇叭的嘟嘟声!

#######################

# #

####################### #

# # #

# 当开始BIOS自检 # #

# ##

#######################

对我们系统管理员来说BIOS就作了两件事,一是按照CMOS里的方案配置和驱动底层设备,二是把控制权交给驱动设备(软驱、硬盘、光驱等)

这里要注意的就是确认CMOS里的方案是否配置正确,驱动设备是否连接正常、是否是我们需要的启动设备!

#######################

# #

####################### #

# # #

# 当从硬盘开始启动 # #

# ##

#######################

分区是一门学问,分的不好会事倍工半,具体的我已经在前面的文中提到了,有兴趣的可以参看《Linux的分区机构》 http://www.linuxsir.org/bbs/showthre...threadid=82245

MBR就是446个字节的一段存储空间,里面存储的是Bootloader,Linux的Bootloader常见的有LILO和Grub,两者在MBR中存储的内容是不同的!

LILO:引导程序和kernel和initrd文件的具体Block位置指针

Grub:引导程序、Grub Shell和grub.conf(menu.list)所在分区的设备名

这里要注意的是如果分区表(DPT)损坏,除非你有分区表备份(当然我们是有的:-),否则第一次fdisk的时候记得把个分区的起始和结束位置记下来以备救命之用!如果是MBR损坏,最简单的办法是rescue 进入系统然后chroot 到硬盘/ 然后grub-install /dev/XXXY 。如果要删除linux的MBR信息,用Windows 98的启动盘进入DOS提示符,fdisk /mbr 把MBR换成Windows的就可以了!

#######################

# #

####################### #

# # #

# 当Bootloader装入 # #

# ##

#######################

基本上“大坏羊”都已经提到了,这里只作相应的补充。

首先,上面提到了LILO和Grub在装入MBR的区别,因为装入内容的不同所以出现问题的情况和性质就有所不同。

LILO:因为存放的是kernel文件的具体Block位置指针,所以vmlinuz-*和initrd-*文件是不可以mv来mv去的(当然除非可以保证Block位置不变的改名不在此范围!)

Grub:和LILO不同他要的是文件内容,只要你不改变分区顺序,并且保证grub.conf(menu.list)文件路径正确就完全可以找到!只是要注意grub.conf(menu.list)的内容按实际情况编写!

其次,“大坏羊”在“(三)综述”中是有问题的!归结如下:

1.LILO 的lilo.conf(默认在/etc目录下,如果在其它位置需要lilo -f /dir/file 的方式指明)

image=/boot/vmlinuz-2.4.21-4.EL #kernel所在目录树位置

label=linux

#标签,boot:时你要输入的

root=/dev/sdc1

#根分区所在位置

initrd=/boot/initrd-2.4.21-4.EL.img #initrd所在目录树位置

他使用的是当前系统的目录树结构,也就是kernel和initrd的逻辑位置,当我们运行lilo -v的时候,LILO会根据lilo.conf文件的定义在MBR中记下kernel和initrd文件的具体Block位置指针,然后lilo.conf文件就没用了,删除了也不要紧!当然MBR中还要有/分区的位置指针,解压挂接initrd的ext2文件系统和读取/etc/inittab和/etc/rc.d/rc.sysinit 就靠它了!

2.Grub 的 grub.conf(默认也必须在/boot/grub目录下,除非你自己该grub的源码)

title linux #标签

root (hd0,1) #/boot分区所在位置

kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/

#读取kernel,挂接/分区

initrd /initrd-2.4.21-4.EL.img #读取initrd,解压挂接initrd的ext2文件系统

他使用的是自定义系统的目录树结构,换种写法就更清楚了(可以引导的最少语句)

kernel (hd0,1)/vmlinuz-2.4.21-4.EL ro root=LABEL=/

initrd (hd0,1)/initrd-2.4.21-4.EL.img

可以看出kernel 和 initrd 可以不在同一分区上,vmlinuz-*文件和initrd-*文件的目录位置是根据分区(hdX,Y)中的目录位置而定的!如果/boot没有单独分区,在分区上看到的就是/boot/vmlinuz-* ,但如果/boot单独分区,在分区上看到的就是/vmlinuz-*.

关于那句ro root=LABEL=/ ,用来解压挂接initrd的ext2文件系统和读取/etc/inittab和/etc/rc.d/rc.sysinit,可以使用卷标(LABEL)或是设备名。

3.Grub的grub.conf文件是必须要有的,否则启动的时候看到的就是grub:的grub shell状态。

#######################

# #

####################### #

# # #

# 当kernel被装入 # #

# ##

#######################

当kernel被装入的时候一般是没有问题的,但如果你的grub.conf中使用了错误的kernel名或LILO中的kernel位置不对,或是分区挂接就有问题那么kernel这里就会有问题!当然也可能是你的kernel本身有问题例如忘记把ext2文件系统的module编译入initrd中!

#######################

# #

####################### #

# # #

# 当读取/etc/inittab # #

# 时 ##

#######################

/etc/inittab是linux系统启动时读到的第一个文件,负责确定启动的level、执行启动脚本rc.sysinit和运行进程之父init.

其中问题多多,具体的来听我的课!;-)

###############################

# #

############################### #

# # #

# 当运行/etc/rc.d/rc.sysinit # #

# 时 ##

###############################

/etc/rc.d/rc.sysinit是linux系统启动的时运行的第一个脚本,负责产生系统运行中需要的环境变量和文件系统。其中mount -a 就是挂接所有在/etc/fstab中表明的文件系统!

#######################

# #

####################### #

# # #

# 当读取/etc/fstab # #

# 时 ##

#######################

/etc/fstab 由/etc/rc.d/rc.sysinit脚本中的mount -a调用,出错的机率最大。

#######################

# #

####################### #

# # #

# 当运行/etc/rc.d/rc # #

# 时 ##

#######################

/etc/inittab 中只确定默认运行的level,去运行level中脚本的其实是/etc/rc.d/rc ,/etc/inittab中的level数字只是/etc/rc.d/rc的参数

########################

# #

######################## #

# # #

# 当运行/etc/init.d/* # #

# 时 ##

########################

/etc/rc.d/rcX.d 目录下的都是连接,除了S99local,其他的都是/etc/init.d/*的软连接(符号连接)。

#############################

# #

############################# #

# # #

# 当运行/etc/rc.d/rc.local # #

# 时 ##

#############################

/etc/rc.d/rc.local 是系统启动时最后要运行的脚本,如果的了解Autoexec.bat在DOS中的作用那么就不难理解它了。

#############################

# #

############################# #

# # #

# 启动结束看到login:提示符 # #

# ##

#############################

全文完

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有