标签:配置信息 bug init wap 背景图片 菜单 额外 kickstart 分区
POST (加电自检):自检主要硬件设备如:CPU、内存、硬盘是否正常,以及输入输出设备是否存在问题等。
BootSequence(BIOS):BIOS(基本的输入输出系统)装载在硬件芯片CMOS之上,自检时会启动这个程序,并根据CMOS上的配置信息去读取其他的硬件信息,检测正常之后进行硬件设备的初始化。
Bootloader(MBR):引导加载程序,在MBR(主引导记录)中,主要功能是识别,加载系统的核心文件,并提交到内存中运行来启动对应的系统。
Kernel(ramdisk):Kernel会自身初始化,探测可识别的硬件设备,Kernel是存在硬盘之中的,但是在内核启动时还没有加载硬盘,为了解决这个问题Kernel内核通过ramdisk(虚拟文件系统)来加载硬件程序,为防止根文件系统加载时出现bug等问题无法挽回的情况,以只读方式来挂载根文件系统,来完成跟文件系统的初始化。
rootfs (switch_root):启动真正的根文件系统,然后虚拟的根文件系统与真正的根文件系统进行交换。
/sbin/init(/etc/inittab, /etc/init/*.conf, /usr/lib/system/system/):
在内核、硬件及驱动信息加载完毕后,内核会运行用户空间的第一个应用程序:/sbin/init.包括系统的主机名、网络管理、文件系统格式等其他服务。
运行级别:为了系统的运行或维护等目的而设定的机制;
0-6:7个级别;
0、关机, shutdown
1、单用户模式(single user),root用户,无须认证;维护模式;
2、多用户模式(multi user),会启动网络功能,但不会启动NFS;维护模式;
3、多用户模式(mutli user),完全功能模式;文本界面;
4、预留级别:目前无特别使用目的,但习惯以同3级别功能使用;
5、多用户模式(multi user), 完全功能模式,图形界面;
6、重启,reboot
默认级别:3, 5
级别切换:init #
级别查看:
who -r
runlevel
系统初始化脚本:/etc/rc.d/rc.sysinit
(1) 设置主机名;
(2) 设置欢迎信息;
(3) 激活udev和selinux;
(4) 挂载/etc/fstab文件中定义的所有文件系统;
(5) 检测根文件系统,并以读写方式重新挂载根文件系统;
(6) 设置系统时钟;
(7) 根据/etc/sysctl.conf文件来设置内核参数;
(8) 激活lvm及软raid设备;
(9) 激活swap设备;
(10) 加载额外设备的驱动程序;
(11) 清理操作;
grub的版本分为grub 0.X(grub legacy)、grub 1.X(grub 2),目前centos 5 和centos 6使用的是grub legacy版本,centos 7使用的是grub 2版本的启动引导程序。
其中grub legacy中有三个阶段;
stage1: bootloader(MBR);
stage2:MBR之后的扇区,让stage1的bootloader能识别stage2所在的分区上的文件系统;
stage3:磁盘分区(/boot/grub/)
[root@localhost ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
配置项:
default=#: 设定默认启动的菜单项;落单项(title)编号从0开始;
timeout=#:指定菜单项等待选项选择的时长;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;
hiddenmenu:隐藏菜单;
password [--md5] STRING: 菜单编辑认证;
title TITLE:定义菜单项“标题”, 可出现多次;
root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub的“根”;
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核
initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件;
password [--md5] STRING: 启动选定的内核或操作系统时进行认证;
grub的界面支持命令行接口,在界面中输入c进入命令行模式
手动在grub命令行接口启动系统:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
为防止他人随意进入grub对系统造成破坏,因此可以加入密码来防止
用grub-md5-crypt命令来生成加密的密码
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$1$cIGK30$KFB088vQiBOJMCKsb48IU/
定制kickstart 文件
首先:
[root@localhost ~]# yum install system-config-kickstart
检查语法错误:
[root@localhost ~]# ksvalidator anaconda-ks.cfg
准备目录,复制光盘内容到该目录中:
[root@localhost ~]# mkdir /tmp/cdrom
[root@localhost ~]# mkdir /media/cdrom
[root@localhost ~]# mount -r -t iso9660 /dev/cdrom /media/cdrom
[root@localhost ~]# cp -r /media/cdrom/ /tmp/cdrom/
[root@localhost ~]# cd /tmp/cdrom/
[root@localhost cdrom]# cd cdrom/
[root@localhost ~]# chmod u+w isolinux/*
将ks.cfg文件拷贝到/tmp/cdrom中
[root@localhost cdrom]# cp /root/ks.cfg /tmp/cdrom
创建iso镜像
[root@localhost cdrom]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso cdrom/
查看iso 镜像
[root@localhost ~]# ls
anaconda-ks.cfg boot.iso install.log install.log.syslog myboot
利用xftp工具将boot.iso传到自己物理机上
之后通过虚拟机自动引导安装
标签:配置信息 bug init wap 背景图片 菜单 额外 kickstart 分区
原文地址:http://blog.51cto.com/13929964/2294128