【Linux】开关机与模块管理

您所在的位置:网站首页 vmlinuz 【Linux】开关机与模块管理

【Linux】开关机与模块管理

#【Linux】开关机与模块管理| 来源: 网络整理| 查看: 265

1.1 开关机与模块管理1.1.1 开机流程

①BIOS:开机后运行的第一个程序,加载CMOS信息,完成硬件自检、初始化及跳转到MBR加载boot loader;

②MBR:第一个可开机装置的第一个扇区内的主要启动记录区块,内含开机管理程序;

③开机管理程序(boot loader):即grub、LILO等程序,读取核心档案来执行的软件,可安装在MBR和每个分区的启动扇区(boot sector),支持的功能:

Ø 提供选单:用户可选择不同的开机项目;

Ø 载入核心档案:指向可开机的程序段来开始操作系统;

Ø 转交其它loader:将开机管理功能转交给其它loader负责。

④kernel核心:根据boot loader加载kernel,检测硬件并加载驱动。

⑤init程序:kernel调用init程序,取得runlevel,执行/etc/rc.d/rc.sysinit来准备软件执行环境(如网络、时区等)。

⑥启动设定服务:init执行runlevel的各个服务(/etc/rc.d/rc[0-6].d/*)。

⑦加载自定义设置:init执行/etc/rc.d/rc.local。

⑧login:init执行终端机仿真程序来启动 login 程序,最后等待用户登录。

init详解init程序路径/sbin/initinit主要功能准备软件执行的环境,包括系统的主机名、网络讴定、诧系处理、文件系统格式及其它服务的启动等runlevelLinux根据runlevel的设定来启动不同服务,runlevel之7个等级: 0:halt(系统直接关机) 1:single user mode(单人维护模式,用在系统出问题时的维护) 2:Multi-user,without NFS(与runlevel 3类似,但无NFS服务) 3:Full multi-user mode(完整含有网络功能的纯文本模式) 4:unused(系统保留) 5:X1(与runlevel 3类似,但加载使用X Window) 6:reboot(重启)init配置: /etc/inittabinittab格式:[设定项目]:[runlevel]:[init动作]:[指令] 设定项目:最多4个字符,描述init的主要工作项目 runlevel:明确该项目在哪些runlevel下执行 init动作:initdefault-表示预设的runlevel设定值;sysinit-表示系统初始化的动作项目;ctrlaltdel-表示[ctrl]+[alt]+[del]三个按键是否可以重新启动的设定;wait-表示后面字段设定的指令必须要执行完毕才能继续底下其它的动作;respawn-表示后面字段的指令可以无限制的再生(重启) 指令:可执行的指令或脚本/etc/inittab1.1.2 模块管理 命令示例描述lsmodlsmod列出kernel加载的模块modinfomodinfo [-adln][module_name|filename] -a:仅列出作者的名称 -d:仅列出模块的说明 -l:仅列出授权(license) -n:仅列出该模块的详细路径查看模块的信息insmodinsmod [/full/path/moudule_name][para] insmod /lib/modules/$(uname -r)/kernel/fs/cifs/cifs.ko加载模块,加载一个完整文件名的模块,不会主动分析模块的依赖性rmmodrmmod [-fw] module_name -f:强制移除模块 -w:等模块被使用完毕后才移除 rmmod cifs移除模块modprobemodprobe [-lcfr] module_name -l:列出当前在/lib/modules/`uname -r`/kernel中的所有模块完整文件名 -c:列出当前系统中的所有模块 -f:强制加载模块 -r:移除模块 modprobe cifs #加载模块 modprobe -r cifs #移除模块加载/移除模块,主动分析依赖depmoddepmod [-Ane] -A:不加入任何参数时,depmod分析当前核心的模块并重新写入/lib/modules/$(uname -r)/modules.dep;若加入-A参数时,则depmod会搜索比modules.dep内还要新的模块,若找到新模块,才会更新 -n:不写入modules.dep而将结果输出到屏幕上(standard out) -e:显示出目前已加载的不可执行的模块名称 1.1.3 boot loader(grub) boot loader Stage1执行boot loader主程序(安装在MBR或boot sector)boot loader Stage2主程序加载配置文件与相关的环境参数文件(包括文件系统定义及主要配置文件menu.lst),通常配置文件放置在/boot下/boot/grup目录

①grub之硬盘代号:(hd,partitionId)

grub之硬盘代号硬盘MBR分区1分区2分区3逻辑分区第一块(hd0)(hd0,0)(hd0,1)(hd0,2)(hd0,4)第二块(hd1)(hd1,0)(hd1,1)(hd1,2)(hd1,4)

②/boot/grub/menu.lst的两种写法

示例default=0 timeout=5 #splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title XXX0 #方式1及/boot和/共分区(/boot非独立分区) root (hd0,1) kernel /boot/vmlinuz-xxx0 ro root=LABEL=/ initrd /boot/initrd-xxx1.img title XXX1 #方式2及/boot和/共分区(/boot非独立分区) kernel (hd0,1)/boot/vmlinuz-xxx1 ro root=/dev/hda1 initrd (hd0,1)/boot/initrd-xxx1.img title XXX2 rootnoverify (hd0,0) chainloader +1default=0默认开机选项,0表示使用第1个开机选项(title)timeout=5若5秒内未动键盘,则使用默认选项开机splashimagegrub的背景画面,可选项;可加#号注释掉,也可删除hiddenmenu隐藏grub的启动菜单,可选项,可加#号注释掉title之前的为整体设定, 通常启动选项需title/root/kernel/initrd 行title XXX0第1个开机选项内容(采用写法1),XXX0描述可自定义root(hd0,1)root指明kernel文件放置在哪个分区,即通过root(hd[0-n],y)来指定/boot所在的分区kernel行kernel /boot/vmlinuz-xxx #指定kernel文件 ro root=LABEL=/ #指定根所在的分区,ro=只读,也可root=/dev/hda1表示 kernel /boot/vmlinuz-xxx ro root=/dev/hda1initrd行指定initrd文件,该文件提供开机时所需的核心模块写法1:单独以root行指定/boot所在分区 。 ①/boot非独立分区(/boot和/共分区): kernel /boot/vmlinuz-xxx ro root=LABEL=/ initrd /boot/initrd-xxx.img ②/boot独立分区:(在root行已指定/boot所在分区)

kernel /vmlinuz-xxx ro root=LABEL=/ initrd /initrd-xxx.img ==> 即(hd0,1)/initrd-xxx.img

title XXX1第2个开机选项内容(采用写法2)kernel行kernel (boot所在分区)/boot/kernel文件全称 ro root=Linux根所在分区或标签 kernel (hd0,1)/boot/vmlinuz-xxx1 ro root=/dev/hda1initrd行initrd (boot所在分区)/boot/initrd文件名全称 initrd (hd0,1)/boot/initrd-xxx1.img写法2:把/boot所在分区直接写入kernel行和initrd行。 ①/boot非独立分区(/boot和/共分区): kernel (hd0,1)/boot/vmlinuz-xxx1 ro root=/dev/hda1 initrd (hd0,1)/boot/initrd-xxx1.img ②/boot独立分区:(在root行已指定/boot所在分区)

kernel (hd0,1)/vmlinuz-xxx1 ro root=/dev/hda1 initrd (hd0,1)/initrd-xxx1.img

title XXX2第3个开机选项内容rootnoverify (hd0,0)不校验该分区(hd0,0)chainloader +1chainloader将控制权交给下一个boot loader 1.1.4 Linux系统关机方法 命令示例描述syncsync数据同步写入磁盘,关机时建议用sync同步下shutdownshutdown [-trkhncfF]时间 -t:-t后面加秒数,表示过几秒后关机 -r:在系统服务停掉后重启 -h:在系统服务停掉后,立即关机 -f:关机并开机后,略过fsck磁盘检查 -F:系统重启后,进行fsck磁盘检查 -c:取消已经在进行的shutdown指令 -n:不经init程序,直接关进程后关机 -k:不真的关机,只是发送送警告信息系统关机

shutdown -t 10 #10秒后关机 shutdown -h 8:00 #8点关机 shutdown -h +5 #5分后关机 shutdown -h now #立即关机 shutdown -r now #立即重启 shutdown -r +5 #5分后重启

rebootreboot [-nwdfi] -n:重启前不将存储资料写回硬盘 -w:不真的重启,仅把记录写入/var/log/wtmp里 -d:不把记录写入/var/log/wtmp里(-n参数包含了-d) -f:强制重启,不调用shutdown指令 -i:重启之前先把所有网络相关的装置停止重启

reboot #重启

halthalt [-nwdip] -n:关机前不将存储资料写回硬盘 -w:不真的关机,仅把记录写入/var/log/wtmp里 -d:不把记录写入/var/log/wtmp里(-n参数包含了-d) -f:强迫关机,不调用 shutdown指令 -i:关机前先把所有网络相关的装置停止 -p:关机时同时关闭电源(poweroff)立即关机

halt #关闭系统 halt -p #关闭系统并关闭电源 halt -d #关闭系统但不留记录

poweroffpoweroff [-nwdip] -n:关机前不将存储资料写回硬盘 -w:不真的关机,仅把记录写入var/log/wtmp里 -d:不把记录写入/var/log/wtmp里 -i:关机前先把所有网络相关的装置停止 -p:关机前将系统中所有硬件设为备用模式关闭系统并关闭电源


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3