重点回顾
开机流程主要是 BIOS MBR Loader kernel+initrd /sbin/bin等流程
Loader具有提供选择菜单、加载核心档案、转交控制权给其他loader等功能
ls --format=single-column -F /boot
列出来的
initramfs-2.6.32-431.23.3.el6.x86_64.img 虚拟文件系统档
vmlinuz-2.6.32-431.23.3.el6.x86_64 核心档案
boot loader 可以安装在MBR或者每个分割槽的boot sector 区域中
initrd 可以提供核心在开机过程中所需要的最重要的模块,通常与磁盘及文件系统有关的模块
如果你的linux是安装在IDE接口的硬盘上,并且使用默认的ext2/ext3文件系统,那么需要initrd,如果根目录在特殊的磁盘接口(USB SATA SCSI),或者是你的文件系统为特殊(LVM,RAID),则需要
init的配置文件为 /etc/initab,此档案可以设定默认 runlevle ,系统初始化脚本,不同执行等级的服务启动等
0关机 6 重启
level 1 单人维护模式,用在系统出问题时维护
level 3 完整含有网络功能的纯文本模式
level 5 与3相似,但加载使用 x window
vim /etc/inittab
id:3:initdefault: //默认是3
ca::ctrlaltdel:/sbin/shutdown -t3 -r now //是否允许按下ctrl+alt+del 就重新启动的设定项目
init的处理流程
1.取得runlevel ,5
2.使用/etc/rc.d/rc.sysinit进行系统初始化
如取得网络环境与主机类型
测试与挂载内存装置/proc 及USB装置
决定是否使用selinux
设置系统时间 /etc/sysconfig/clock
用户自定义模块的加载 /etc/sysconfig/modules/
/etc/sysconfig/
authconfig //主要是规范使用者的身份认证的机制
clock //linux主机的时区
i18n //设定一些语系的使用方面
network //可以设定是否启动网络,以及主机名还有通信闸
network-scripts/ 设定网络卡
3.由于runlevel是5,则进行 l5:5:wait:/etc/rc.d/rc5.d/
rc5.d/K?? 开头的档案,并进行 stop动作
rc5.d/S?? 开头的档案,并进行start动作
/etc/rc.d/rc.local //用户自定义开机启动程序
4.设定好ctrl+alt+del 组合键
5.设定不断电系统的pf pr 两种机制
6.启动mingetty的六个终端
7.最终以/etc/X11/perfdm -nodaemon
核心与核心模块
核心 /boot/vmlinuz-2.6.32-431.23.3.el6.x86_64
核心解压缩所需RAM DISK /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img
核心模块 /lib/modules/{版本}/kernel/ 或者 lib/module$(uname -r)/kernel
核心原始码 /usr/src/linux(要安装才会有)
额外的装置与模块对应,可写入 /ec/modprobe.conf
核心模块管理
depmod //建立档案
例如
cp a.ko /lib/module/$(uname -r)/kernel/drivers/net
depmod
————————————————————
lsmod //查看目前加载的模块
————————————————————
modinfo
例子
modinfo mii //列出mii这个模块的相关信息
————————————
insmod //
例子
insmod /lib/modules/$(uname -r)/kernel/fs/cifs/cifs.ko //尝试加载这个模块
lsmod |grep cifs
rmmod
rmmod cifs //模块移除
————————————————————
modprobe
modprobe cifs //加载cifs模块,不需要完整的模块文件名
grub的配置文件与相关文件系统定义档大多与/boot/grub目录中,配置文件名为menu.list(为grub.conf的软连接)
grub是目前实用最广泛的linux开机管理程序。
grub对磁盘的代号设定与linux不同,主要透过侦测的顺序来给予设定。如果(hd0)及(hd0,0)
menu.list内每个选择菜单与tile有关,直接指定核心开机时,至少需要 kernel及initrd两个选择
menu.list内设定loader控制权移交时,最重要者为chainloader+1这个项目
查看menu.list
vim /boot/grub/menu.lst
default=0 //默认开机选项,使用第一个开机选单
timeout=5 //五秒未动键盘,使用默认选单开机
splashimage=(hd0,0)/boot/grub/splash.xpm.gz//背景图示所在的档案
hiddenmenu //读秒期间是否显示完整的选单画面
title CentOS (2.6.32-431.23.3.el6.x86_64)
root (hd0,0) //核心档案的位置
kernel /boot/vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet //核心的档案名
initrd /boot/initramfs-2.6.32-431.23.3.el6.x8664.img //initrd制作出 RAM DISK的档案名
若想要重建initrd,可使用mkinitrd处理
例如
mkinitrd -v initrd$(uname -r) $(uname -r) //新建
ll initrd_*
mkinitrd -v --with=8139too initrd_actiontest $(unamr -r) //增加这个模块到档案
重新安装grub到MBR或boot sector时,可以利用grub shell来处理
例子
grub-install /dev/hda
grub-install --root-directory=/home /dev/hd3
安装grub到MBR上面去
info grub
例子
grub
grub>root(hd0,0)
grub>find /grub/stage1
grub>setup (hd0)
grub>setup (hd0,0)
grub>quit
为个别选单加上密码
grub-md5-crypt //生成密码复制到
vim /etc/boot/grub/menu.lst ,粘贴到 title 底下第一行
如果整体加,则在timeout 后面
password --md5 生成的密码
若要进入救援模式,可与开机选菜单过程中,在kernel的项目后面加入 single 或者 init=/bin/bash 等方式来进入救援模式
可以对grub的个人选单给予不同的密码
忘记root密码
开机进入grub选单后,在你想要进入的选单上面点'e'进入详细设定
grub edit > kernel /vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=LABLE=/rhgb quiet single //进入单人维护模式
init配置文件错误
grub edit > kernel /vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=LABLE=/rhgb quiet init=/bin/bash
mount -o remount,rw /
mount -a
已有 0 条评论