Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)

IPADDR:10.10.0.123

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

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

传统Legacy BIOS和EFI BIOS引导区别:

对于传统Legacy BIOS,一般使用syslinux提供的pxelinux.0来引导。对于EFI BIOS,需要使用efi文件引导,一般可使用Grub2。为实现UEFI SecureBoot,大多数Linux使用shim.efi嵌套调用grub.efi来引导。

grubx64.efi和shimx64.efi有什么区别呢?在安全启动(serureboot)关闭的情况下,你可以使用grubx64.efi。如果安全启动打开则需要选择shimx64.efi。

传统Legacy BIOS引导,在pxelinux.0引导后,它会请求并加载server端tftpboot目录中,与pxelinux.0同目录下的pxelinux.cfg目录里的default文件。

Apr 17 21:21:48 localhost in.tftpd[23465]: Client ::ffff:10.10.0.133 finished pxelinux.0

Apr 17 21:21:48 localhost in.tftpd[23476]: Client ::ffff:10.10.0.133 finished pxelinux.cfg/default

Apr 17 21:21:48 localhost in.tftpd[23477]: Client ::ffff:10.10.0.133 finished boot.msg

Apr 17 21:21:48 localhost in.tftpd[23479]: Client ::ffff:10.10.0.133 finished vesamenu.c32

Apr 17 21:21:48 localhost in.tftpd[23480]: Client ::ffff:10.10.0.133 finished pxelinux.cfg/default

Apr 17 21:21:48 localhost in.tftpd[23481]: Client ::ffff:10.10.0.133 finished splash.png

Apr 17 21:21:59 localhost in.tftpd[23482]: Client ::ffff:10.10.0.133 finished vmlinuz

Apr 17 21:22:04 localhost in.tftpd[23483]: Client ::ffff:10.10.0.133 finished initrd.im

EFI BIOS引导,在shim.efi嵌套引导了grubx64.efi之后,它会请求grubx64.efi同目录下的grub.cfg配置文件(redhat7),同时加载显示引导菜单。而对于RHEL6来说,它并不支持SecureBoot,所以必须要使用grub-efi 0.97来引导,一般是BOOTX64.efi,同时它会请求同目录下的efidefault配置文件(redhat6),加载并显示引导菜单。

RHEL6对EFI支持并不好,所以RHEL6推荐使用Legacy而不是EFI模式来安装。

--------以下日志为redhat 7.3 uefi 引导日志。

Apr 17 21:16:03 localhost in.tftpd[22088]: Client ::ffff:10.10.0.131 finished uefi/shim.efi

Apr 17 21:16:03 localhost in.tftpd[22089]: Client ::ffff:10.10.0.131 finished uefi/grubx64.efi

Apr 17 21:16:03 localhost in.tftpd[22099]: Client ::ffff:10.10.0.131 finished /uefi/grub.cfg

Apr 17 21:16:03 localhost in.tftpd[22100]: Client ::ffff:10.10.0.131 finished/uefi/grub.cfg

Apr 17 21:16:03 localhost in.tftpd[22105]: Client ::ffff:10.10.0.131 finished /uefi/grub.cfg

Apr 17 21:16:03 localhost in.tftpd[22106]: Client ::ffff:10.10.0.131 finished /uefi/grub.cfg

Apr 17 21:16:03 localhost in.tftpd[22107]: Client ::ffff:10.10.0.131 finished /uefi/grub.cfg

Apr 17 21:16:09 localhost in.tftpd[22108]: Client ::ffff:10.10.0.131 finished images/vmlinuz

Apr 17 21:16:11 localhost in.tftpd[22109]: Client ::ffff:10.10.0.131 finished images/vmlinuz

Apr 17 21:16:16 localhost in.tftpd[22110]: Client ::ffff:10.10.0.131 finished images/initrd.img

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

1.软件安装

yum -y install vsftpd dhcp xinetd* tftp-server

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

2.准备文件:

BOOTX64.EFI  grub.cfg  grubx64.efi  initrd.img  shim.efi  vmlinuz

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

从RHEL7光盘中提取shim.efi和grubx64.efi:

cp /mnt/Packages/shim-0.9-2.el7.x86_64.rpm /tmp

cp /mnt/Packages/grub2-efi-2.02-0.44.el7.x86_64.rpm /tmp

rpm2cpio /tmp/shim-0.9-2.el7.x86_64.rpm | cpio -dimv

rpm2cpio /tmp/grub2-efi-2.02-0.44.el7.x86_64.rpm| cpio -dimv

mkdir -p /var/lib/tftpboot/uefi/

cp /tmp/boot/efi/EFI/redhat/shim.efi/var/lib/tftpboot/uefi/

cp /tmp/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/uefi/

从RHEL7光盘拷贝内核文件:

cp /mnt/EFI/BOOT/BOOTX64.EFI /var/lib/tftpboot/uefi/

cp /mnt/isolinux/vmlinuz /var/lib/tftpboot/uefi/

cp /mnt/isolinux/initrd.img /var/lib/tftpboot/uefi/

//grubx64.efi和shimx64.efi有什么区别呢?在安全启动(serureboot)关闭的情况下,你可以使用grubx64.efi。如果安全启动打开则需要选择shimx64.efi。

grub.cfg文件配置:

cat >> /var/lib/tftpboot/uefi/grub.cfg <

set timeout=5

menuentry 'Install RHEL 7.3 via [UEFI] PXE+Kickstart' {

linuxefi uefi/vmlinuz inst.repo=ftp://10.10.0.123/pub inst.ks=ftp://10.10.0.123/ks.cfg

initrdefi uefi/initrd.img

}

eof

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

3.DHCP配置

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

修改配置设定提供DHCP的网卡/etc/sysconfig/dhcpd: (可选)

DHCPDARGS=ens33 //根据实际需求更改!

cat>> /etc/dhcp/dhcpd.conf<

option architecture-type code 93 = unsigned integer 16;

subnet 10.10.0.0 netmask 255.255.255.0 {

range 10.10.0.124 10.10.0.254;

option routers 10.10.0.1;

class "pxeclients" {

match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";

next-server 10.10.0.123;

if option architecture-type = 00:07 or

option architecture-type = 00:09 {

filename "uefi/shim.efi";

} else {

filename "pxelinux.0"; # tftp 目录下pxelinux的文件名

}

}

}

eof

//RHEL7以支持UEFI SecureBoot。通过TFTP把shim.efi加载后会继续嵌套加载引导同目录下的grubx64.efi,然后grub会获取同目录下的grub.cfg以显示引导菜单。

//对于EFI模式下RHEL6 PXE引导,需要dhcpd.conf指定filename "images/BOOTX64.efi",它其实是grub 0.97。通过TFTP加载了BOOTX64.efi之后它会继续加载同目录下的efidefault引导配置文件,并显示引导菜单。

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

4,ks.cfg文件配置

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

UEFI操作系统安装分区注意事项:

part /boot/efi --fstype=efi --size=200#UEFI引导安装时需要,传统LEGACY引导时可屏蔽此选项

part /boot --fstype="ext4" --size=500 --ondisk=sda

part pv.01 --grow --size=20000 --ondisk=sda

volgroup rootvg pv.01

logvol / --fstype="ext4" --size=10240 --name=root --vgname=rootvg

logvol swap --fstype="swap" --size=1024 --name=swap --vgname=rootvg

//安装完成系统,默认分区磁盘类型为GPT。

参考:

oracle7.3 uefi pxe,使用PXE EFI引导安装RHEL7.3相关推荐

  1. 使用CLOVER模拟EFI引导安装OS X+WIN双系统(GPT单硬盘双硬盘通用)

    提醒:EFI空间最好在200M以上,少于200M的话,安装的MAC系统将无法正常抹掉磁盘操作.安装前的准备 准备工作: 1.根据上两期的内容,首好确认是否已经做好 CLOVER引导U盘 和 OSX系统 ...

  2. 使用PXE+NFS EFI引导安装RHEL6/7以及Kickstart安装

    PXE引导的步骤: 1.开机后选择网络启动,client端向server端的dhcpd发起获取IP地址的dhcp请求. 2.server端分配IP后,dhcpd会同时根据其配置文件,通过TFTP协议发 ...

  3. 使用EFI引导从硬盘(U盘)安装Win7的图文教程

    眼下仅支持vista后的64位系统 大部分使用EFI引导安装Win7的教程都是採用光盘启动安装,尽管光盘安装比較简单,可是对于没有光驱的朋友来说还是相当不便,更不用说光盘安装的两大缺点了,一速度慢,二 ...

  4. win7显示u盘efi分区_使用EFI引导从硬盘(U盘)安装Win7的图文教程(无需光驱)

    大部分使用EFI引导安装Win7的教程都是采用光盘启动安装,虽然光盘安装比较简单,但是对于没有光驱的朋友来说还是相当不便,更不用说光盘安装的两大缺点了,一速度慢,二不灵活.因此本篇教程将要讲解使用EF ...

  5. CentOS系统基于iPXE搭建同时支持BIOS和UEFI启动的PXE网络装机环境

    一.PXE简介  PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的网络启动技术,工作于Client/Server的网络模式,支持工作站通过 ...

  6. PXE新手经典思路引导

    前记: 有同学请教我了PXE的相关问题,一方面好多朋友还不太懂,另一方面记不住,所以决定连夜赶制此文,讲解下小技巧助想学会的同学一臂之力,也为自己巩固一下知识 本文总共分六个部分,理论概述,环境准备, ...

  7. linux网络引导安装windows,pxe启动网络安装CentOS(win平台)

    准备: 1. windows电脑一台,并且下载CentOS 5.X 版本的iso 2. 用于被安装的Linux Server,主板支持PXE启动并且设置为第一启动顺序. 3. 下载windows下的t ...

  8. EFI引导win8 + ubuntu双系统

    经过了一个星期的努力,今天终于把在预装win8+UEFI的机子上成功安装Ubuntu13.04,其中参考了很多的英文资料和中文资料:安装系统之前真的是很担心会把机子搞坏,可能是运气比较好,在参考资料里 ...

  9. PXE实现系统批量自动安装

    PXE实现系统批量自动安装 PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作Client/Server的网络模式,支持 ...

最新文章

  1. C++动态数组再总结
  2. 关于用户表设计及多用户登入限制
  3. 生活优越与生活艰苦者之间的思考
  4. 年终复盘刚需!Python数据可视化技巧来了
  5. 看看 JDK 8 给我们带来什么
  6. gearman初探(一、编译和安装)
  7. android开发之EditText默认hint字体大小
  8. Android 应用内实现导航页面,接入百度SDK内置导航,高德SDK内置导航
  9. django+nginx+uwsgi项目部署文档整理
  10. IO流 练习 -- 文件夹的删除
  11. Python处理CSV大文件特定行数据
  12. 携程分销联盟-旅游度假接口实现1
  13. mfc 请求java_MFC使用WinHttp实现Http访问
  14. wordpress添加Auto Highslide图片灯箱效果
  15. js什么是闭包?简单理解
  16. MATLAB算法实战应用案例精讲-【人工智能】枝晶生长模型(附matlab代码实现)
  17. SpringSecurity(一)核心功能
  18. 【Web】HTML 账号注册页面
  19. 云原生Java架构师——KubeSphere DevOps流水线部署RuoyiCloud
  20. 一觉睡醒公司倒闭了!心态奔溃。。

热门文章

  1. 代码质量与安全 | 免费的静态分析工具好吗?
  2. AndroidStudio突然出现大面积乱码
  3. 不懂技术也能看懂的云计算/大数据/人工智能
  4. 非对称加密算法——ELGamal
  5. MINA、Netty、Twisted一起学(十一):SSL/TLS
  6. 不懂就问系列,为什么别人能靠这份面试题宝典去大厂?(内附面试题答案)
  7. 多线程与ThreadLocal的理解笔记
  8. CycleBeads:App不仅能避孕,成功率还有95%
  9. 剑指offer刷题(三)(44-66)题
  10. python冰雪奇缘使用教程_python爬虫分析冰雪奇缘影评,并对关键字生成词云