linux grub load kernel,关于linux

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。

现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,

经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

>>>>>>这里笔者将PXE网络安装Centos 7的方法记录如下,首先服务端(Centos 7)的需要准备的环境如下:

操作系统镜像:CentOS-7-x86_64-DVD-1503-01.iso    //解压到/var/www/html/cento目录

===========================================================================

1、除了如上环境,我们还需要安装httpd服务,再到httpd默认的根目录下创建centos目录,并将系统镜像挂载于此

[root@5201351 ~]# yum install httpd -y

[root@5201351 ~]# mkdir /var/www/html/centos

[root@5201351 ~]# mount CentOS-7-x86_64-DVD-1503-01.iso /var/www/html/centos

2、使用yum的方式安装syslinux软件包,安装此软件包的目录主要是为了获取对PXE网络安装有用的pxelinux.0文件

安装syslinux软件包后,我们需要将pxelinux.0文件复制到tftp默认的根目:/var/lib/tftpboot

[root@5201351 ~]# yum install syslinux -y

[root@5201351 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //pxelinux.0,是一个bootloader,类似于grub,通过它来load kernel

3、接下来就是准备tftp的根目录中,主要是将系统镜像中的文件放入tftp的根目录,除了default文件,其他全部放置在tftp根目录

[root@5201351 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

#########################################################################################

[root@5201351 ~]# cd /var/www/html/centos

[root@5201351 centos]# cp isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[root@5201351 centos]# cp images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/[root@5201351 centos]# cp isolinux/{vesamenu.c32,boot.msg,splash.png} /var/lib/tftpboot/

这时,我们可以看到/var/lib/tftpboot目录的结构如下:

197be3129b5f226dade360d47f1f1c2f.png

============================================================================

4、接下来就是配置pxelinux.cfg/default文件,这里我们可以只是简单的修改append initrd项的值

label linux

menu label^Install CentOS 7menu default//设置此项后,刚这个菜单为默认的选中启动菜单

kernel vmlinuz

append initrd=initrd.img inst.ks=http://192.168.0.1/ks.cfg quiet//这里注明ks.cfg文件的位置,即实现无人值守全自动安装

#append initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64 quiet //此项为默认的值,我们将其注释

注:如果我们只是单纯的使用pxe网络有人值守的方式安装,即只需要设置inst.stage2=http://192.168.0.1/centos即可

============================================================================

5、如果只是现实有人值守的方式安装,只需要上面的操作,服务端即已经实现了pxe网络安装的功能

当然我们在工作中,可能更多的是需要用到pxe和KickStart现实操作系统无人值守的的安装,这样我们可能

还需要得安装system-config-kickstart软件包,安装完成后就能使用system-config-kickstart命令生成ks.cfg文件

当然我们如果对ks.cfg文件的配置熟悉,也可以直接创建/var/www/html/ks.cfg文件,笔者这里创建的ks.cfg内容如下:

# platform=x86, AMD64, or Intel EM64T

# version=DEVEL

# Install OS instead of upgradeinstall# Keyboard layouts

keyboard--vckeymap=us --xlayouts='us'# Reboot after installation

reboot

# Root password

rootpw--iscrypted $6$Pf08DlF16p7svB6o$YngeMfbPtRPpGXT.H6r6MIhKNhf3s/34mamd1jarSU2RI08hn/wFB6ayWYbrRajmW0JhqrA1VFoGgNnGj6usl1

# System timezone

timezone Asia/Shanghai --isUtc

# Use network installation

url--url="http://192.168.0.1/centos" #最后面不需要加 /# System language

lang en_US.UTF-8 --addsupport=zh_CN.UTF-8# Firewall configuration

firewall--disabled

# Network information

network--bootproto=dhcp --onboot=yes --noipv6 --hostname=5201351# System authorization information

auth--useshadow --passalgo=sha512

# Use graphicalinstallgraphical

firstboot--disable

# SELinux configuration

selinux--disabled

# System bootloader configuration

# 新硬盘需要创建mbr

bootloader--location=mbr

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart--all --initlabel

# Disk partitioning information

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++part pv.123 --fstype="lvmpv" --ondisk=sda --size=953336part/boot --fstype="xfs" --ondisk=sda --size=500volgroup centos--pesize=4096 pv.123logvol/data --fstype="xfs" --size=613365 --name=data --vgname=centos

logvol swap--fstype="swap" --size=32764 --name=swap --vgname=centos

logvol/home --fstype="xfs" --size=204800 --name=home --vgname=centos

logvol/ --fstype="xfs" --size=102400 --name=root --vgname=centos

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

%packages

@core

@chinese-support

vim

ntp%end

#########################################################################%post##

%end

6、最后我们再使用如下命令启动各项服务即可,网络中的客户端便能从pxe网络启动进行无人值守的系统安装了。

[root@5201351 ~]# systemctl restart dhcpd.service

[root@5201351 ~]# systemctl restart xinetd.service

[root@5201351 ~]# systemctl restart tftp.socket

[root@5201351 ~]# systemctl restart tftp.service

[root@5201351 ~]# systemctl restart httpd.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值