第7章系统初始化和服务本章目录Linux网络服务器配置与管理7.1GRUB引导程序7.2/SBIN/INIT和运行级别7.3实训指导:运行级别设置与GRUB的应用7.4课后习题2020/2/12GRUB引导程序/SBIN/INITGRUB的应用本章重难点第7章系统初始化和服务系统的服务运行级别在Linux启动时,必须由一个引导装载程序(BootLoader,启动管理程序)中的特定指令告诉它去引导系统。这个程序一般位于系统的主硬盘驱动器,或其它知道如何去开始装载Linux内核的媒介驱动器上。GNUGRUB(GRandUnifiedBootloader)是一个将引导装载程序安装到主引导记录的程序,主引导记录存储在硬盘的开始扇区。GRUB程序允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。这使得用户能够开始选择操作系统,在内核引导时将特定指令传递给内核,或是在内核引导前确定一些系统参数(如可用的RAM大小)。第7章系统初始化和服务7.1GRUB引导程序1.GRUB的配置文件用户可以通过修改配置文件对GRUB进行配置,配置文件为/boot/grub/grub.conf,用于控制启动时GRUB引导操作系统的列表,一个典型的配置文件如下:第7章系统初始化和服务7.1GRUB引导程序配置文件含义如下:default=0:default=0指定默认启动哪个系统,从0开始。每个操作系统的启动定义都从title开始的,第一个title在GRUB的启动菜单上显示为0,第二个启动为1,以此类推。比如用户希望默认启动Windows,可以修改为:default=1。timeout=10:表示在开机后,GRUB画面出现10秒后开始以默认启动。如果在启动时,移动上下键,则解除这一规则。splashimage=(hd0,0)/grub/splash.xpm.gz:GRUB的背景画面,为可选项,可以加“#”号将其注释。第7章系统初始化和服务7.1GRUB引导程序hiddenmenu:隐藏GRUB的启动菜单,为可选项,可以加“#”号将其注释。titleRedHatEnterpriseLinuxServer(2.6.18-92.el5xen):表示引导系统名称,title之后的内容可以任意修改。kernel/xen.gz-2.6.18-92.el5:指定内核位置并装载。module/vmlinuz-2.6.18-92.el5xenroroot=/dev/VolGroup00/LogVol00rhgbquiet:指定引导操作系统时所要加载的内核文件和参数以及以只读的方式挂载系统分区。第7章系统初始化和服务7.1GRUB引导程序root(hd0,0):启动文件所在位置。GRUB有它自己的root分区定义,它与Linux使用的命名约定不同,不管系统的硬盘驱动器是IDE还是SCSI,所有的硬盘驱动器都用字母hd开始,而fd用来指定3.5寸软盘,(hd0,0)表示是第一块硬盘第一个分区。module/initrd-2.6.18-92.el5xen.img:指定引导时的初始RAMDISK,它包含有启动时kernel所需的设备驱动模块。第7章系统初始化和服务7.1GRUB引导程序2.应用实例:例7-1:忘记超级用户密码的解决方法。(1)开机,如图7-1GRUB引导菜单,按英文字母“e”后回车。第7章系统初始化和服务7.1GRUB引导程序图7-1GRUB引导菜单(2)如图7-2,选中此项后按英文字母“e”。第7章系统初始化和服务7.1GRUB引导程序图7-2修改内核引导参数(3)如图7-3所示,在后面输入空格后再输入“single”或者数字“1”,回车。图7-3添加内核引导选项(4)系统返回至图7-2修改内核引导参数,按【b】引导系统启动,引导成功后,出现提示符:第7章系统初始化和服务7.1GRUB引导程序(5)输入命令【passwd】,修改超级用户密码:(6)修改完毕后输入命令【reboot】重新启动即可。3.修复或安装GRUB在某些主机上,往往安装了Windows系统又安装了Linux系统,那么当系统出现故障并重新安装了Windows以后,就会出现找不到GRUB而导致Linux不能启动的情况,没有经验的用户往往会把Linux再安装一遍,这样浪费了时间又可能导致Linux的数据丢失,其实这种情况的处理比较简单,操作者只需要再把GRUB安装到主机上即可。第7章系统初始化和服务7.1GRUB引导程序第7章系统初始化和服务7.1GRUB引导程序第7章系统初始化和服务7.1GRUB引导程序第7章系统初始化和服务7.1GRUB引导程序(4)重新启动后系统,出现GRUB菜单,正常引导Linux系统。注:如果系统有/boot分区,那么则需要使用以下命令来安装grub:init是Linux系统操作中不可缺少的程序之一,是一个由内核启动的用户级进程。内核启动时会被载入内存并初始化所有的设备和数据结构,同时init用来启动其他用户级的进程或服务,所以init始终是系统的第一个进程,其PID始终为1,是所有进程的父进程。在启动时内核会查找/sbin/init,如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。第7章系统初始化和服务7.2/sbin/init和运行级别/etc/inittab是init被启动后调用的第一个程序,用来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等。inittab部分代码如下:第7章系统初始化和服务7.2/sbin/init和运行级别在Linux系统中,每一个运行级别所要运行和关闭的服务都不同,比如在0级别(关机模式)下,系统不需要对外提供任何服务,只需要执行关闭所有进程程序和关机程序即可,而在3级别(多用户模式)与5级别(字符多用户模式)下,需要对外提供服务,那么则需要运行更多的服务程序。执行命令:第7章系统初始化和服务7.2/sbin/init和运行级别在执行结果中,可以看到有7个子目录,每个目录下均有许多“K”与“S”开头的服务,其中“K”开头的表示关闭相应的服务,“S”开头的表示启动相应的服务。当切换至相应服务级别时,比如由某服务级别切换至5(图形模式)级别时,系统将自动停止rc5.d目录下的以“K”开头的服务进程,再开启以“S”开头的服务。第7章系统初始化和服务7.2/sbin/init和运行级别重点回顾GRUB的引导程序GRUB引导程序的应用实例/sbin/init的配置管理系统服务的运行级别1111实训指导运行级别设置与GRUB的应用实训1:运行级别设置一、实训目的:1.掌握系统默认级别的设置。2.掌握服务级别的切换。二、实训内容及步骤:1.修改/etc/inittab,将默认级别由5改为1。2.重新启动计算机,查看启动后是否进入字符模式且不询问用户密码自动登录。3.切换至图形模式,执行命令:[root@localhostrc1.d]#init54.查看目录/etc/rc.d/rc0.d与/etc/rc.d/rc6.d,分析以“S”开头的服务项有何不同。5.修改/etc/inittab配置文件,在4:2345:respawn:/sbin/mingettytty4行前加上“#”号,即将本行注释掉。6.执行命令:[root@localhostrc1.d]#initq或重新启动计算机。7.按【Ctrl+Alt+F5】组合键,查看是否能换切至虚拟控制台tty5。8.按【Ctrl+Alt+F4】组合键,查看是否能换切至虚拟控制台tty4。实训指导实训2:GRUB的应用一、实训目的:1.掌握GRUB配置项的应用。2.掌握GRUB的加密。3.掌握GRUB的修复与安装。二、实训内容及步骤:1.编辑GRUB配置文件/boot/grub/grub.conf,将启动时间改为-1,重新启动计算机,查看效果。2.编辑GRUB配置文件/boot/grub/grub.conf,将启动时间改为0,重新启动计算机,查看效果。3.编辑GRUB引导菜单,练习遗忘超级用户密码的操作。4.编辑GRUB配置文件/boot/grub/grub.conf,使系统默认启动Windows系统。5.使用安装光盘重新安装GRUB。运行级别设置与GRUB的应用实训指导6.GRUB的加密操作:[root@localhostrc1.d]#grub-md5-cryptPassword://输入123456。Retypepassword://再次输入123456。$1$MjJk//$n3uSVidrPvMeqoXUeDUdd1//得到密文,每次密文均不相同。7.编辑GRUB配置文件/boot/grub/grub.conf,修改如下:......splashimage=(hd0,0)/grub/splash.xpm.gzpassword--md5$1$MjJk//$n3uSVidrPvMeqoXUeDUdd1//本行为新添加内容,md5前为两个减号,后面为密文。hiddenmenutitleRedHatEnterpriseLinuxServer(2.6.18-92.el5xen)......8.重新执行遗忘超级用户密码的操作,查看效果。运行级别设置与GRUB的应用课后习题一、单项选择题:1.在目录/etc/rc.d/rc5.d下,有很多以K和S开头的文件,这里的以S开头的文件表示()。A.stopB.startC.setD.sub2.init进程的进程号PID始终为()。A.0B.1C.-1D.23.GRUB的配置文件是()。A./boot/grub/gurb.confB./boot/grub.confC./etc/sysconfig/grubD./etcbrub/grub.conf4.用来安装GRUB的命令是()。A.grubB.init-grubC.grub-installD.mkgrub5.()命令可用来重启机器。A.rebootB.init6C.shutdown–rnowD.以上都可以课后习题6.在大多数Linux发行版本中,图形方式的运行级定义为()。A.1B.2C.3D.57.假如当前系统是在level3运行,怎样不重启系统就可转换到level5运行()。A.Setlevel=5B.telinit5C.run5D.ALT-F7-58.我们可以修改/etc/inittab文件中类似于()的一行,调整启动级别,使得系统登录时采用XWindow方式。A.id:3:initdefaultB.si::sysinit:/etc/rc.d/rc.sysinitC.x:5:respawn:/usr/bin/X11/kdm-nodaemonD.ca::ctrlaltdel:/sbin/shutdown-t5-rnow9.在/etc/rc.d/rc3.d目录下,有两个文件分别为S23crond和S45portmap,则这两个文件的执行顺序是()。A.同时执行B.S23crond先于S45portmap执行C.S45portmap先于S23crond执行D.先后顺序不定课后习题二、简答题:1.为什么重新安装了windows系统后,Linux系统不能启动了。2.怎么配置多重启动。3.如何配置GRUB使系统首先默认启动Windows系统。4.怎样修改inittab文件,使按下【Ctrl+Alt+Del】组合键时不实现关机功能。