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

相关推荐

  • 系统启动流程 grub

    grub CentOS 6启动流程: POST —> Boot Sequence(BIOS) —> Boot Loader —>Kernel(ramdisk) —> rootfs —> switchroot —> /sbin/init—>(/etc/inittab, /etc/init/*.conf) —> 设…

    Linux干货 2016-09-16
  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fd…

    Linux干货 2016-10-07
  • linux 进程及作业管理

     1、Process: 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限, 通常从执行进程的用户来继承 存在生命周期 Uninterruptible sleep: 不可中断的睡眠 Interruptible slee…

    Linux干货 2017-08-28
  • Linux系统启动流程、内核及模块管理、linux启动故障排除和自制linux

    Linux系统启动流程、内核及模块管理 Linux系统的组成部分组成:内核+根文件系统(kernel+rootfs)内核(kernel): 进程管理(创建、调度、销毁等)、内存管理、网络管理(网络协议栈)、驱动程序、文件系统、安全功能IPC:Inter Process Communication机制本地进程间通信机制:消息队列、semerphor、shm(共…

    2016-09-29
  • 关于大型网站技术演进的思考(十)–网站静态化处理—动静整合方案(2)

    原文出处: 夏天的森林    上篇文章我简要的介绍了下网站静态化的演进过程,有朋友可能认为这些知识有点过于稀松平常了,而且网站静态化的技术基点也不是那么高深和难以理解,因此它和时下日新月异的web前端技术相比,就显得不伦不类了。其实当我打算写本系列的之前我个人觉得web前端有一个点是很多人都知道重要,但是有常常低估它作用的,那就…

    2015-03-11
  • M22 使用NFS实现web共享发布

    实验目的: 搭建两个LAMP web发布系统搭建WordPress博客网站,并使用NFS作为共享的网络文件系统使这两个web服务器发布的内容一致。 实验工具: webServer1 Centos6.8 172.18.55.6 webServer2 Centos7.3 172.18.55.7 nfsServer Centos7.3 172.18.55.71 w…

    2017-04-26