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
下一篇 2018-01-17

相关推荐

  • 网络配置与进程管理

    一、网络配置 1、ifconfig命令  ifconfig [IFACE]      显示所有启动的网络接口信息,包括网卡别名;指明网络接口时,显示指定网络接口信息 ifconfig -a     显示所有网络接口的信息,包括未启动的网卡接口。 if…

    Linux干货 2016-09-08
  • lvm 逻辑卷管理

    标签:LVM 创建 扩容 缩减 一、LVM  LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管…

    Linux干货 2015-05-18
  • 文件系统上的权限管理

                        文件系统上的权限管理: 一 、三种权限       &nbs…

    Linux干货 2017-04-03
  • lamp部署及编译安装

    lamp 资源类型: 静态资源:原始形式与响应给客户端的结果一致; 动态资源:原始形式通常为程序文件(为某种编程语言开发),需要运行后将生成的结果展示给客户端;如果请求的资源不存在那么结果就会重定向至指定的文件中 客户端技术:javascript 服务端技术:php, jsp, … CGI:Common Gateway Interfa…

    Linux干货 2016-10-19
  • 2016-08-18作业

    斐波那契数列 fibonacciSequenceFun.sh #!/bin/bash function fibonacci_sequence {   if [ $1 -eq 0 ]; then     echo 0      elif [ $1 -eq 1 ]; then    …

    Linux干货 2016-09-19
  • N28-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │   └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │   ├── bin
    │   └── sbin
    └── var
    ├── lock
    ├── log
    └── run
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    Linux干货 2017-12-11