失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux下启动程序常见问题 linux系统启动流程及常见故障解决方式

Linux下启动程序常见问题 linux系统启动流程及常见故障解决方式

时间:2022-04-04 13:14:17

相关推荐

Linux下启动程序常见问题 linux系统启动流程及常见故障解决方式

Linux系统中启动的流程:

1.加载bios的硬件信息以及进行自我检测并根据设置取得第一个启动的设备

2.若以硬盘方式引导读取并执行引导扇区MBR

3.加载grub(引导程序)启动菜单(/\)

4.+加载内核(以只读方式进行挂载)

5.挂载根目录系统启动init进程(所有进程的鼻祖)

6.读取/etc/inittab配置文件

7.执行/etc/rc.d/rc.sysint脚本

8.根据/etc/initab文件下的启动级别执行/etc/rc.d/rc下的脚本

9.执行/etc/rc.d/rc.local(开机脚本期望开机自动执行的指令可以放在这个脚本里)

分析/etc/inittab文件

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1#

2#inittabThisfiledescribeshowtheINITprocessshouldsetup

3#thesysteminacertainrun-level.

4#

5#Author:MiquelvanSmoorenburg,

6#ModifiedforRHSLinuxbyMarcEwingandDonnieBarnes

7#

8

9#Defaultrunlevel.TherunlevelsusedbyRHSare:

10#0-halt(DoNOTsetinitdefaulttothis)#(10-16行指的是启动级别)#关机

11#1-Singleusermode#单用户模式通常用于维护系统

12#2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)

#多用户模式但是无网络

13#3-Fullmultiusermode#多用户模式(字符界面)

14#4-unused#用户定义,未定义情况下与3级别相同

15#5-X11#图形界面

16#6-reboot(DoNOTsetinitdefaulttothis)#系统重启

17#

18id:3:initdefault:

#第一列表示表示怎么表示无所谓第二列表示启动级别第三列表示动作第四列

表示参数如果级别列无任何标示表示任何级别该句话表示默认启动级别为三

19

20#Systeminitialization.

21si::sysinit:/etc/rc.d/rc.sysinit

#参考十八行第一列表示标示第二列无表示代表进入任何级别都要执行该指令第三行表示动作表示进行初始化第四行表示执行/etc/rc.d/rc.sysinit脚本

22

23l0:0:wait:/etc/rc.d/rc0

24l1:1:wait:/etc/rc.d/rc1

24l1:1:wait:/etc/rc.d/rc1

25l2:2:wait:/etc/rc.d/rc2

26l3:3:wait:/etc/rc.d/rc3

27l4:4:wait:/etc/rc.d/rc4

28l5:5:wait:/etc/rc.d/rc5

29l6:6:wait:/etc/rc.d/rc6

#参考十八行最后一个数字表示将此数字传递给/etc/rc.d/rc脚本

如传递3那么就会执行/etc/rc.d/rc3.d

30

31#TrapCTRL-ALT-DELETE

32ca::ctrlaltdel:/sbin/shutdown-t3-rnow

#参考十八行表示在任何级别下都可以使用ctrl+alt+del执行/sbin/shutdown-r表示关机并重新启动系统,默认三秒后立即执行

33

34#WhenourUPStellsuspowerhasfailed,assumewehaveafewminutes

35#ofpowerleft.Scheduleashutdownfor2minutesfromnow.

36#Thisdoes,ofcourse,assumeyouhavepowerdinstalledandyour

37#UPSconnectedandworkingcorrectly.

38pf::powerfail:/sbin/shutdown-f-h+2"PowerFailure;SystemShuttingDown"

#系统断电后执行/sbin/shutdown-h表示关机之后不重新启动-f表示重新启动不执行fsck2分钟之后执行并显示提示信息

39

40#Ifpowerwasrestoredbeforetheshutdownkickedin,cancelit.

41pr:12345:powerokwait:/sbin/shutdown-c"PowerRestored;ShutdownCancelled"

#电力恢复之后取消已经运行的shutdown指令并提示信息

42

43

44#Rungettysinstandardrunlevels

451:2345:respawn:/sbin/mingettytty1

462:2345:respawn:/sbin/mingettytty2

473:2345:respawn:/sbin/mingettytty3

484:2345:respawn:/sbin/mingettytty4

495:2345:respawn:/sbin/mingettytty5

506:2345:respawn:/sbin/mingettytty6

#/sbin/mingetty表示产生字符终端共六个字符终端respawn表示再生的意思即当前的终端注销后仍然在一个终端里

51

52#Runxdminrunlevel5

53x:5:respawn:/etc/X11/prefdm-nodaemon

~

~-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

~启动故障:

可分为两大阶段:

1.系统引导扇区MBR出现问题

2.Grub菜单出现问题

1.模拟MBR扇区出现故障

创建一个文件覆盖整个硬盘

[root@localhost~]#ddif=/dev/zeroof=/dev/sdabs=446count=1

MBR扇区被覆盖引导程序抹掉了

解决方式:

重建MBR用可安装光盘引导

在此界面下进入急救模式输入linuxresuce

选择语言

鼠标键盘类型

是否启动网络功能没有必要

关于急救模式的提示硬盘将会挂载在/mnt/p_w_picpath

提示将./mnt/sysp_w_picpath当做系统根目录使用chroot指令指定硬盘的根目录#chroot/mnt/sysp_w_picpath

修复分区表执行grup指令#grub

1.先指明引导系统执行root指令

#root(hd0,0)(第一块硬盘,第一块分区)

2.执行setup可以帮助重新建mbr#setuohd0

执行一次quit两次exit系统进行重新启动

二.GRUB引导菜单出现故障

查看/boot/grub

[root@localhost~]#ll/boot/grub

在所有文件中最为重要的是grub.conf文件

----------------------------------------------------------------------------------------------------------------------

1#grub.confgeneratedbyanaconda

2#

3#Notethatyoudonothavetorerungrubaftermakingchangestothisfile

4#NOTICE:Youhavea/bootpartition.Thismeansthat

5#allkernelandinitrdpathsarerelativeto/boot/,eg.

6#root(hd0,0)

7#kernel/vmlinuz-versionroroot=/dev/sda2

8#initrd/initrd-version.img

9#boot=/dev/sda

10default=0#默认操作系统

11timeout=5#超时时间5s

12splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz#grub菜单背景图片

13hiddenmenu

14titleRedHatEnterpriseLinuxServer(2.6.18-164.el5)#标签

15root(hd0,0)#引导分区MBR

16kernel/vmlinuz-2.6.18-164.el5roroot=LABEL=/rhgbquiet

#内核文件位置以只读方式进行系统启动后根目录变成文件系统的根quiet静默

17initrd/initrd-2.6.18-164.el5.img#驱动

故障一.

故障1.删除了grub.conf

[root@localhost~]#rm/boot/grub/grub.conf

rm:removeregularfile`/boot/grub/grub.conf'?y

[root@localhost~]#cd/boot/grub

重启

Grub直接启动表明第二阶段有问题

指明引导分区#root(hd0,0)(第一块硬盘,第一块分区)

grub>help可以查看可以执行的指令

查看根目录grup>find/

执行kernel/vmlinuz-2.6-164.e15roroot=/dev/sda2quit

Initrd/initrd-2.6.18-164.e15.img

执行完成后启动grub>boot

启动完成

进入系统后使用grub-install产生二阶段的其他文件

--------------------------------------------------------------------------------

[root@localhost~]#grub-install

install_devicenotspecified.

Usage:grub-install[OPTION]install_device

InstallGRUBonyourdrive.

-h,--helpprintthismessageandexit

-v,--versionprinttheversioninformationandexit

--root-directory=DIRinstallGRUBp_w_picpathsunderthedirectoryDIR

#指明这些文件的目录

insteadoftherootdirectory

--grub-shell=FILEuseFILEasthegrubshell

--no-floppydonotprobeanyfloppydrive

--force-lbaforceGRUBtouseLBAmodeevenforabuggy

BIOS

--recheckprobeadevicemapevenifitalreadyexists

Thisflagisunreliableanditsuseis

stronglydiscouraged.

INSTALL_DEVICEcanbeaGRUBdevicenameorasystemdevicefilename.

grub-installcopiesGRUBp_w_picpathsintotheDIR/bootdirectoryspecfiedby

--root-directory,andusesthegrubshelltoinstallgrubintotheboot

sector.

Reportbugsto.

[root@localhost~]#grub-install--root-directory=/boot/grub/dev/sda

Grub.conf文件丢失需重新编写

重启:

故障二/boot目录下的所有内容被删

a.删除/boot下的所有内容rm-rf/boot/*

b.重启

c.进入bios设置将光驱设置为首先启动

d.进入救援模式:linuxrescue

e.使用chroot指令切换到硬盘的目录Chroot/mnt/sysp_w_picpath

f.切换到boot目录并查看内容cd/boot&&ls

g.挂载光驱Mount/dev/hdc/mnt

h.安装内核内核安装完成后会自动安装initrd

Rpm-ivh--force/mnt/Server/kernel-2.6.18-164.e15.i686.rpm

i.内核安装完成之后我们安装grubgrub-install/dev/sda

j.再次查看/boot目录下的内容

k.查看grub的内容发现缺少grub.conf重新编写grub.conf

#cd/boot/grub/#touchgrub.conf#vimgrub.conf

l.两次exit退出重启重启要设置bios为硬盘启动

故障三删除了/grub下的内容

依据故障二重复第a.c.e.j.l即可

故障四:文件系统表改变

vim/etc/fstab

如果误操作其中一个例如

重新启动后会出现

输入管理员密码

编辑vim/etc/fstab

重新挂载mount-oremount/然后再编辑

重启

如果觉得《Linux下启动程序常见问题 linux系统启动流程及常见故障解决方式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。