linux系统启动及kickstart

1、简述linux操作系统启动流程
2、简述grub启动引导程序配置及命令行接口详解
3、实现kickstart文件制作与光盘镜像制作

1、简述linux操作系统启动流程

当电脑开机时内存是空的,开机时BIOS会将RAM中的程序映射到内存中来(BIOS中是存储在RAM中的一段程序代码,这段代码可以实现电脑自身状况的检查,BIOS中设置了如何检查健康状况),自检完成没有问题后会根据BIOS中的启动顺序去挨个找启动设备的MBR,如果设备的MBR坏了,系统会报错,无法启动,只有在第一个设备没有MBR时才会找第二个设备,第二个如果是硬盘的话,就会读取硬盘的MBR,因为硬盘的MBR开始是bootloader,所以BIOS这段程序就会把bootloader装载到内存,这段bootloader会再读取硬盘MBR中的分区表,分区表大小64bytes。之后会根据我们的配置加载分区上的操作系统,因此这段bootloader一定要能读取分区表,如果没有分区表就找不到操作系统了。bootloader加载进内存后,BIOS就退出了,退出前会把执行的指令告诉CPU。bootloader根据我们先的操作系统运行,会找到操作系统那个分区上操作系统的内核,找到后就会将内核加载进内存,内核读进内存后会先解压缩,之后bootloader将管理权交给内核,于是内核开始启动自身,之后根据电脑能找到文件系统在什么地方,以及要启动的程序,最终启动完成。

2、简述grub启动引导程序配置及命令行接口详解

grub工作阶段
1st: mbr, bootloader加载到mbr
1.5st: 驱动,mbr之后的扇区,提供stage2在的分区的文件系统驱动;
2st: boot目录所在分区
grub功用:
(1) 提供菜单、并提供交互式接口
e: 编辑模式,用于编辑菜单;
c: 命令模式,交互式接口;
(2) 加载用户选择的内核或操作系统
允许传递参数给内核
可隐藏此菜单
(3) 为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证
配置文件:/boot/grub/grub.conf
配置项:
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: 启动选定的内核或操作系统时进行认证;
进入单用户模式:
(1) 编辑grub菜单(选定要编辑的title,而后使用e命令);
(2) 在选定的kernel后附加
1, s, S或single都可以;
(3) 在kernel所在行,键入“b”命令;
grub的命令行接口
help: 获取帮助列表
help KEYWORD: 详细帮助信息
find (hd#,#)/PATH/TO/SOMEFILE:
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;
例如:init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;
boot: 引导启动选定的内核;
手动在grub命令行接口启动系统:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
安装grub:
(1) grub-install
grub-install –root-directory=ROOT /dev/DISK
(2) grub
grub> root (hd#,#)
grub> setup (hd#)

3、实现kickstart文件制作与光盘镜像制作

通过anaconda自动生成的ks配置文件可以实现自动安装操作系统,在配置文件中可以定义安装时的其本信息,如语言,管理员密码,时区,网络,磁盘分区,防火墙,需要安装的软件,系统的安装源,安装前脚本,安装后脚本等。定义好之后要生成ks.cfg配置文件,之后可将配置文件放于网络上,通过系统镜像引导启动,并指定ip地址,掩码,ks文件所在网络路径,让主机可以通过网络加载配置文件实现自动安装。或者可以通过将ks配置文件与isolinux目录打包成一个启动镜像(isolinux目录是系统镜像中的一个目录,是一个小的系统,可以实现引导启动),通过此启动镜像来启动加载ks配置文件,并按照ks配置文件中的系统安装源(这个安装源是自定义的,可以是本地网络中的源,也可以是互联网上的源)实现自动安装

测试安装使用CentOS6.6系统,测试6.5时总在进入安装界面后提示不支持CPU。但6.6版本也会提示不支持磁盘。取消使用之前所用的安装后自动生成的ks.cfg文件后,自建ks.cfg文件可以安装。
1.准备centos6.6,将镜像挂载到/var/www/html/media目录下,为的是可以在安装httpd后访问此目录
2.安装system-config-kickstart,X窗口系统,桌面,桌面开发这四个软件,因为安装后三个软件才能打开kickstart的图形界面。
3.在打开kickstart图形界面后要注意第二项安装方法要写明光盘挂载的目录,这里用了HTTP方法,软件地址192.168.1.6,目录/media/,(不知道不能安装与media后的斜线是否有关系,需再测试);还要注意划分分区,(需再测试不划分是否可以安装),另外要选择不要初始化磁盘标签,不要清除引导记录
选择好之后要保存ks.cfg文件,保存在/root目录下。另外在/root目录下创建myboot目录。将/var/www/html/media/目录下的isolinux目录和ks.cfg复制到myboot目录下。下面有两种安装方法
1.将ks.cfg文件复制到/var/www/html目录下,安装时用系统盘引导,之后按ESC,输入boot: linux text ip=192.168.1.64 netmask=255.255.255.0 ks=http://192.168.1.6/ks.cfg。之后就可以自动安装了。
2.这种方法不将ks文件放在网络上,而是同isolinux一起做成启动光盘。创建光盘前可以修改isolinux目录中的isolinux.cfg文件,在第一段label linux中加入append initrd=initrd.img ip=192.168.1.10 netmask=255.255.255.0 ks=cdrom:/ks.cfg。之后用命令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 myboot/制作光盘。之后将光盘复制到主机桌面,用虚拟机加载此光盘启动自动安装。或可以修改ks.cfg文件,在其中加入network –onboot yes –device eth0 –bootproto dhcp –noipv6,但这要求有dhcp服务器,如果没有就不能自动获得地址了。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91186

(1)
ruopu1989ruopu1989
上一篇 2018-01-17 19:40
下一篇 2018-01-17 22:02

相关推荐

  • N25 – Week6 作业

    春节过去了,我们又开学了,又可以写博客,做作业了,好开心. 下面是第6周的博客作业: 请详细总结vim编辑器的使用并完成以下练习题: 1. 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc/sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@dhcp-10-129-6-166 ~]# …

    Linux干货 2017-02-13
  • 网络管理总结

      在学习Linux的快两个月时间的这个阶段,我们学习到了网络的相关知识,哇,原来我们上网是需要这么多步骤的,玩了这么久的电脑,打开过无数网站还只是停留在以为打开网站只需要点点鼠标的层面,惭愧惭愧。学习了一周,终于了解了一些网络的基层结构和一些网络协议,下面是对这一周所学知识的一些总结,加强记忆和理解。还停留在以为打开一个网站只是动动鼠标…

    2017-09-02
  • Linux mdadm命令解析

    mdadm命令解析 一,在Linux系统中目前MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的…

    Linux干货 2017-08-31
  • 程序包的编译安装

    程序包的编译安装     程序包的编译安装是比较重要的内容,在之后的网络知识以及服务的配置等学习方面也发挥着重要作用,是我们的必备技能。 一、杂项知识整理 1、which –skip-alias:跳过别名,直接查看原命令 [root@localhost ~]# which –…

    Linux干货 2016-08-24
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限;          [root@yangjifeng~]# cp -a /etc/skel /home/tuser1 [root@yangjife…

    Linux干货 2017-08-28
  • 马哥教育网络班21期+第11周课程练习

    1、请描述一次完整的加密通讯过程,结合图示最佳。 Bob先利用单向加密算法提取当前数据的指纹(特征码),再用自己的私钥加密数据指纹并附加于数据尾部,然后利用对称加密将整个文件加密,之后用对方的公钥加密对称加密密钥附加于尾部。 Alice收到数据后,先用自己的私钥解密,得到对称加密密钥,之后用对称加密密钥解密,然后用Bob的公钥解密得到数据指纹,并且验证了Bo…

    Linux干货 2016-09-26