如何以uefi方式安装kali uefi 引导

您所在的位置: &
Linux的PXE与UEFI PXE远程安装系统
Linux的PXE与UEFI PXE远程安装系统
在我们的系统运维的生涯中,经常要安装操作系统,我们一般都会建立一个PXE服务器,通过网络来批量部署系统。本文主要介绍硬件环境差异比较大的情况下,如何搭建一机多用的PXE服务器,下面以CentOS-6.4-x86_64版本为例,进行服务器的配置。
在Linux中有多种的安装方式:HD、USB、CDROM、PXE及远程管理卡等。在我们的系统运维的生涯中,经常要安装操作系统,然而我们维护的机器不是一两台而已,一般的企业服务器数量都在几十、几百、几千、甚至上万台。这么多的机器,如果人工的一台一台去安装,那我们这些运维人员,可能要把大部分时间都花费在了安装系统上,所以,我们一般都会建立一个PXE服务器,通过网络来批量部署系统。
随着计算机产品的更新换代以及IT企业的发展,一个公司的计算机型号种类越来越多,硬盘也不一样,那么我们维护的手段也需要与时俱进。本文主要介绍硬件环境差异比较大的情况下,如何搭建一机多用的PXE服务器,下面以CentOS-6.4-x86_64版本为例,进行服务器的配置。
一、普通机器的PXE系统部署
实现自动获取IP网络安装linux是这样的:客启端PXE网卡启动--&通过Bootp协议广播dhcp请求--&DHCP服务器--&获取IP,TFTP服务器地址--&从TFTP上下载 pxelinux.0以及系统内核文件vmlinuz、initrd.img--&启动系统--&(到指定url去下载ks.cfg文件--&根据ks.cfg文件去NFS/HTTP/FTP服务器自动下载软件包)安装系统--&完成安装。
主要使用的使用到的服务,FTP server用来发布linux系统的安装树(也可以使用NFS、HTTP或HTTPS),DHCP server为客户端分配ip并提供TFTP服务器地址及PXE启动文件位置,TFTP server为客户端提供引导文件。三个服务可以安装在同一台服务器上,也可以安装在三台服务器上。
1、安装配置FTP server
[root@pxe&~]#&yum&install&vsftpd&[root@pxe&~]#&chkconfig&vsftpd&on&[root@pxe&~]#&service&vsftpd&start&
vsftpd的默认配置文件在/etc/vsftpd/vsftpd.conf,共享目录在/var/ftp/pub/下,不用做什么修改就可以直接使用了。安装好后要把系统盘镜像的全部文件复制到这里,或挂载到这个目录下,我就是把光盘镜像挂载到了这里,因为还有个ks.cfg文件要发到这里,所以我在这里有建立了mirror目录,将系统镜像挂载到了/var/ftp/pub/mirror/下。
2、安装配置DHCP server
[root@pxe&~]#&yum&install&dhcp&
编辑配置文件,这里是很重要的。
[root@pxe&~]#&vim&/etc/dhcp/dhcpd.conf&default-lease-time&600;&max-lease-time&7200;&ddns-update-style&&subnet&10.12.190.0&netmask&255.255.255.0&{&range&dynamic-bootp&10.12.190.100&10.12.190.120;&option&routers&10.12.190.254;&option&subnet-mask&255.255.255.0;&filename&&pxelinux.0&;&&&&&&&&&&//如果不是在TFTP根目录下,要写上目录&next-server&10.12.190.140;&&&&&&//tftp服务器地址&}&
3、安装配置TFTP server
①安装TFTP,然后编辑配置文件,开启开启服务,默认的数据目录/var/lib/tftpboot
[root@pxe&~]#&yum&install&tftp-server&[root@pxe&~]#&vim&/etc/xinetd.d/tftp&service&tftp&{&socket_type&&&&&&&&&&&&&=&dgram&protocol&&&&&&&&&&&&&&&&=&udp&wait&&&&&&&&&&&&&&&&&&&&=&yes&user&&&&&&&&&&&&&&&&&&&&=&root&server&&&&&&&&&&&&&&&&&&=&/usr/sbin/in.tftpd&server_args&&&&&&&&&&&&&=&-s&/tftpboot&&&//这个可以自己修改&disable&&&&&&&&&&&&&&&&&=&no&&&&&&&&&&//将yes改成no是启用&per_source&&&&&&&&&&&&&&=&11&cps&&&&&&&&&&&&&&&&&&&&&=&100&2&flags&&&&&&&&&&&&&&&&&&&=&IPv4&}&[root@pxe&~]#&service&xinetd&restart&
②将pxelinux.0拷贝到tftpboot目录下
[root@pxe&~]#&cp&/usr/share/syslinux/pxelinux.0&/tftpboot&&//如果找不到这个文件,要安装syslinux软件包&
③将启动文件从光盘中找到,并复制到该目录下:
[root@pxe&~]#&ll&/tftpboot/&
总用量 36084:
-rwxrw-rw-&1&root&root&月&&&2&2013&initrd.img&&&&&&//这是一个初始化文件,一个最小的系统镜像&-rwxrw-rw-&1&root&root&&&&26828&12月&&9&22:57&pxelinux.0&&&&//这文件是为legcay启动,它是legcay的启动镜像,&drwxrwxrwx&2&root&root&&&&&4096&1月&&28&12:14&pxelinux.cfg&&//该文件夹下放的是启动菜单,手动创建&-rwxrw-rw-&1&root&root&&&月&&&5&2013&splash.jpg&&&&&//背景图片,可以不要&-rwxrw-rw-&1&root&root&&&月&&&5&2013&vesamenu.c32&&//legacy&BIOS引导菜单工具,可以从光盘或&/usr/share/syslinux/&中找到&-rwxrw-rw-&1&root&root&&月&&&5&2013&vmlinuz&&&&&&&//内核文件&
④在pxelinux.cfg目录下,建立默认文件,该文件可以使用光盘中的isolinux.cfg文件来当模板,这个启动菜单很重要
[root@pxe&~]#&vim&/tftpboot/pxelinux.cfg/default&default&vesamenu.c32&timeout&30&menu&background&splash.jpg&menu&title&Welcome&to&PXE&CentOS-6.4-x86_64!&menu&color&border&0&#ffffffff&#&menu&color&sel&7&#ffffffff&#ff000000&menu&color&title&0&#ffffffff&#&menu&color&tabmsg&0&#ffffffff&#&menu&color&unsel&0&#ffffffff&#&menu&color&hotsel&0&#ff000000&#ffffffff&menu&color&hotkey&7&#ffffffff&#ff000000&menu&color&scrollbar&0&#ffffffff&#&label&linux&menu&label&^&Install&or&upgrade&CentOS-6.4-x86_64&an&existing&system&from&to&Network&kernel&vmlinuz&append&initrdinitrd=initrd.img&ksdevice=eth0&repo=ftp://10.12.190.187/pub/mirror&ip=dhcp&label&linux&menu&label&^&Install&CentOS-6.4-x86_64&use&kisckstart&file&menu&default&kernel&vmlinuz&append&initrdinitrd=initrd.img&ip=10.12.190.183&netmask=255.255.255.0&gateway=10.12.13.254&dns=202.106.0.20&ksdevice=eth0&&ks=ftp://10.12.190.187/pub/ks.cfg&label&rescue&menu&label&^Rescue&installed&system&kernel&vmlinuz&append&initrdinitrd=initrd.img&rescue&ksdevice=eth0&repo=ftp://10.12.190.187/pub/mirror&ip=dhcp&label&local&menu&label&Boot&from&^local&drive&localboot&0xffff&
以上参数可以接在kernel后边,也可以接在initrd.img后边,都不影响。
ksdevice= 是为了指定使用哪块网卡,因为机器有多块网卡,无人值守会卡在这里。
repo= 是指定安装镜像的url,如果没有,就会提示要一下画面,那就需要手工处理了。
ip= 可以指定网卡自动获取ip,还是使用固定ip,如果使用固定ip,系统将把这个ip写入到配置文件中去。
ks= 是指定ks.cfg文件的url,ks.cfg是个应答文件,可以替我们处理所有安装时,所有需要手工设置的内容,该文件可以直接编辑系统中的/home/anaconda-ks.cfg文件,或者在图形化下使用system-config-kickstart包来编辑一个,非常好用。
有的时候,可能需要手工来处里某一台机器,还要跑到那台机器前吗?当然不需要,安装的时候也可以使用vnc来远程操作的。机器不一样,用途也不一样,有的时候不能完全自动,也需要我们手工做些改动。
⑤允许远程访问安装系统
在另一个系统上显示图形或字符安装界面,这时就可以使用vnc服务,这是操作系统本身就支持的功能,vnc选项启动VNC服务,vncpassword选项用来设置一个远程访问的密码,VNC密码必须至少6个字符,不设置密码去掉vncpassword选项也可以。使用方法很简单,可以写在PXE的引导菜单中,添加在kernel或initrd.img后边,或是在出现菜单画面时,按Tab键,编辑某一行,在最后边加入vnc vncpassword=123456字段,或是按Esa键,在命令行里直接输入linux vnc vncpassword=123456就可以了,U盘安装,光盘装都有效。
假设远程机器ip是10.12.190.181.,被安装机器的ip是10.12.190.101
(1)正向连接方式:
linux&vnc&ip=10.12.190.101&netmask=255.255.255.0&gateway=10.12.190.254&vncpassword=123456&
指定被安装机器的ip是10.12.190.181 网关是10.12.190.254 掩码是24, vnc连接的密码是123456
由远程vnc客户端,连入被安装机器进行安装,之后的操作就和平时一样了。在安装系统上将显示如下信息:
vnc连接地址为10.12.190.101:1
(2)反向连接方式:
在远程启动vnc的被动连接:vncviewer.exe -listen,当客户端安装过程启动后,远程端的vnc会自动连接
linux&vnc&vncconnect=10.12.190.181&vncpassword=123456&
vnc会自动反向联接10.12.190.181,如果远程机器开启vnc监听,在10次超时15秒后,会变成主动方式连接,在安装系统上将显示如下信息:
以上2种方式,如果IP是DHCP自动获取的话,使用反向连接方式比较好,这样,无需知道安装系统的客户端获取的IP是多少,也可以建立连接。
⑥另一种安装菜单的写法:
label&linux&menu&label&^&Install&or&upgrade&CentOS-6.4-x86_64&an&existing&system&from&to&Network&kernel&/vmlinuz&ksdevice=eth0&repo=ftp://10.12.190.187/pub/mirror&ip=dhcp&initrd&/initrd.img&label&linux&menu&label&^&Install&CentOS-6.4-x86_64&use&kisckstart&file&menu&default&kernel&/vmlinuz&ip=10.12.190.183&netmask=255.255.255.0&gateway=10.12.13.254&dns=202.106.0.20&ksdevice=eth0&&ks=ftp://10.12.190.187/pub/ks.cfg&initrd&/initrd.img&
以上就是普通PXE安装系统的所有操作方法,现在就可以使用了。
二、UEFI PXE的系统部署
对于使用UEFI来启动的机器来说,上述方法已经完全无效了,根本无法顺利的安装系统了,如果想顺利的安装系统,必须首先加载UEFI驱动才可以。UEFI PXE和上边的方法区别就在于TFTPserver所提供的系统启动必须文件,和DHCP server的设置, 所使用到的服务还是这几个。
1、TFTP server的配置
配置文件与上边一样,只是目录中的文件要更换一下,这次要从系统盘中提取三个文件。
将光盘中的efiboot.img挂在到系统中:
[root@pxe&~]#&mount&-o&loop&efiboot.img&/mnt&[root@pxe&~]#&ll&/mnt/EFI/BOOT/&total&250&-rwxr-xr-x&1&root&root&&&&411&Mar&&5&&2013&BOOTX64.conf&&&&&//为grub的配置文件,用于显示引导菜单&-rwxr-xr-x&1&root&root&251274&Mar&&5&&2013&BOOTX64.efi&&&&&&&&&&//UEFI的启动镜像&-rwxr-xr-x&1&root&root&&&1341&Mar&&5&&2013&splash.xpm.gz&&&&&&&&//UEFI启动菜单工具&[root@pxe&~]#&cp&/mnt/EFI/BOOT/*&/tftpboot/&
BOOTX64.efi就是我们开机所需要的,这三个文件也可也直接使用光盘中EFI目录下的文件。
2、DHCP server配置
DHCP重点是要修改一下/etc/dhcp/dhcpd.conf文件,把开机前引导改成BOOTX64.efi,之前我们指定的是pxelinux.0这个文件。
[root@pxe&~]#&vim&/etc/dhcp/dhcpd.conf&default-lease-time&600;&max-lease-time&7200;&ddns-update-style&&subnet&10.12.190.0&netmask&255.255.255.0&{&range&dynamic-bootp&10.12.190.100&10.12.190.120;&option&routers&10.12.190.254;&option&subnet-mask&255.255.255.0;&filename&&BOOTX64.efi&;&next-server&10.12.190.140;&}&
3、创建开机启动菜单
[root@pxe&~]#&vim&/tftpboot/efidefault&default=0&timeout=15&splashimage=(nd)/splash.xpm.gz&title&Install&CentOS-6.4-x86_64&(UEFI)&root&(nd)&kernel&&/vmlinuz&method=ftp://10.12.190.187/pub/mirror/&ip=10.12.16.100&netmask=255.255.255.0&gateway=10.12.16.1&lang=en_US&keymap=us&ksdevice=eth0&vnc&vncpassword=123456&initrd&/initrd.img&title&Install&CentOS-6.4-x86_64&use&Kickstart&File&root&(nd)&kernel&/vmlinuz&ks=ftp://10.12.190.187/pub/ks.cfg&ksdevice=eth0&ip=dhcp&initrd&/initrd.img&title&Rescue&installed&system&root&(nd)&kernel&/vmlinuz&rescue&method=ftp://10.12.190.187/pub/mirror&initrd&/initrd.img&
注意这个菜单只能这样编写,选项参数都要加在kernel行后边,不然无法加载,使用的参数和普通的PXE是一样的,编辑好之后就可以使用了。
选择一个菜单后,等待的时间比较长,当你看到这是小企鹅时,UEFI驱动已经加载上了,说明你TFTP server和DHCP server设置都没有问题。
如果你看到上面的错误信息,说明是的你的菜单写得有问题,initrd /initrd.img要另起一行,不能与kernel同行。
UEFI安装系统时,也可以使用vnc远程安装,但硬盘的分区表必须是GPT格式的,如果你的硬盘不是这种格式的,那就需要多一步操作了,使用parted命令去修改。遗憾的是vnc没有提供Ctrl+Alt+F1~F6快捷键,让你切换到一个字符终端去操作。不过也不是没有办法,我们可以在救援模式下连上vnc,这样输入命令操作就行了。
parted命令的使用,请参考此。
三、混合模式
一般情况下,我们的机房里,2种类型的服务都会有,可能还会有安腾架构的机器,不会是统一型号的。这样的话,每次都要去修改DHCP server服务,比较麻烦,将这些不同的机器划分不同的vlan里,每个vlan里都做个DHCP服务器,这样有点太浪费资源了。所以就要用个更好的方法,一台服务器同时提供多种系统安装,而要安装系统的客户端机器,会自己从服务器下载属于自己的引导文件。
1、TFTP server配置
在/tftpboot/目录下,不同平台需要的文件是不一样的,可以直接把它们全都放在TFTP的根目录下,但这样管理不太方便,所以我将普通PXE的引导文件放在/tftpboot/Legacy/下,将UEFI的引导文件放在/tftpboot/UEFI下,其他平台的也这样操作就可以了。
2、DHCP server配置
想要实现混合模式,最关键的就是DHCP的配置文件了
[root@pxe&~]#&vim&/etc/dhcp/dhcpd.conf&default-lease-time&600;&max-lease-time&7200;&ddns-update-style&&option&space&PXE;&option&PXE.mtftp-ip&&&&code&1&=&ip-&option&PXE.mtftp-cport&code&2&=&unsigned&integer&16;&option&PXE.mtftp-sport&code&3&=&unsigned&integer&16;&option&PXE.mtftp-tmout&code&4&=&unsigned&integer&8;&option&PXE.mtftp-delay&code&5&=&unsigned&integer&8;&option&arch&code&93&=&unsigned&integer&16;&subnet&10.12.190.0&netmask&255.255.255.0&{&option&routers&10.12.190.254;&range&10.12.190.10&10.12.190.20;&class&&pxeclients&&{&match&if&substring&(option&vendor-class-identifier,&0,&9)&=&&PXEClient&;&next-server&10.12.190.181;&if&option&arch&=&00:02&{&filename&&ia64/elilo.efi&;&}&else&if&option&arch&=&00:06&{&filename&&X86PC/bootia32.efi&;&}&else&if&option&arch&=&00:07&{&filename&&UEFI/BOOTX64.efi&;&}&else&{&filename&&Legacy/pxelinux.0&;&}&}&}&
这里不再详细解释每行的含义,具体可以参考相关资料。这里很重要的一点是根据客户端信息进行判断来指定服务器为客户端提供哪些信息。
启动文件名称(如果客户端使用EFI,启动名称为bootia32.efi和boottx64.efi,如果客户端使用Legacy BIOS启动,名称为pxelinux.0),其它服务部分没有什么变化,FTP服务不需要做什么更改。
至此,我们就大功告成了,所有的准备工作就都完成了,现在就可以使用这个多平台的PXE进行批量部署了。【编辑推荐】【责任编辑: TEL:(010)】
关于&&&&的更多文章
OS X Server的Mavericks版本并没有发生这样巨大的变化。这意味着
Linux界极具活力,面向不同的用户可以使用不同的Linux发行版,比如适合新手和游戏爱好者等。
本周四有消息传出:红帽和CentOS宣布,CentOS核心团队
Fedora是基于Linux的一个开放操作系统和平台,由全球
俗话说:“年怕中秋月怕半,星期就怕礼拜三”,这周的
在本书中,Thomas ERL呈现了第一部端对端的教程,提供了从基层开始的面向服务的建模与设计的逐步指导。通过逐步的、清晰生动的、
51CTO旗下网站Breaking News
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago1188人阅读
原文出处:
一、Win10和Kali2.0的安装:
1.Win10安装以及激活:
& & 关于Win10的安装我就不再这里赘述,激活工具呢,kms之类的也有很多。
2.Kali2.0安装:
& & a.这个是kali2.0官网的下载地址:,我下载的是64位的完整版。
& & b.然后我使用了UltraISO的写入硬盘映像功能,将kali2.0的ISO写入到U盘中
&&&&c.插上做好的启动U盘,调整启动首选项为USB,不同的电脑,会有不同修改方式,这个请自己百度之。
&&&&d.安装的步骤没有差别,只是需要在安装GRUB的时候,我们要停下来,然后跳过GRUB引导安装。
&&&&e.等待安装完成,重启后进入Windows系统
二、rEFind的安装以及双引导实现:
&&&&本部分最大的特点就是,你无须进入PE系统即可完成对于rEFind的安装和双引导的实现,就在Win下就可以了,然后我下载工具包,我上传到了百度云,所以直接下载吧:
& & 截图如下
一共四个工具(UltraISO是上个步骤用到的,实际上这步只用到其他的三个);
&&&&说了一大堆其实都是废话,现在进入正题:
1.rEFind的安装:
&&&&首先,打开DiskGenius,然后找到ESP分区也就是我们的EFi引导分区,右键选择“指派新的驱动器号(盘符)”
然后,你任意选择一个就可以了。
我选择了Z:
然后确定,指派成功喽!
&&&&然后继续进入ESP中,打开EFI文件夹,
然后在空白区右键,新建一个文件,命名为rEFind!
双击进入rEFind文件夹,我们开始搬文件了!
解压refind.zip
创建一个文件,仿照refind.conf-sample写一个文件,命名为refind.conf.
不会写也没关系,建个空文件也行,但是必须要有refind.conf,否者启动会报错,为了美观一点吧。
将里面的文件逐个放入,
注意:由于软件功能的限制,遇到文件夹时只能手动创建,文件倒是可以一次搬一个目录的
截图如下:
注意文件夹中的文件也要搬进来哦!
下边该使用另外一款工具了,名字叫BOOTICE
解压后你会发现有两个文件,一个是64位版本一个是32位版本,我是64位所以选择BOOTICEx64.exe,打开看到软件界面:
我们选择UEFI:
选择修改启动序列:
点击添加:
在这里直接输入路径:
当然这个也要看你一开始指派的盘符了,我之前指派的是Z:所以就是Z:\EFI\rEFind;
然后由于我是64位所以选择,
然后点击打开:
提示成功后,
修改菜单标题:
我修改成了rEFind,点击上移,
直到最顶端:
点击&保存当前启动设置(S)&,
然后点击关闭。
重启你的计算机,
然后就能愉快的UEFI+GPT的模式下愉快的使用Win10和Kali2.0了。
总结下,我这个教程的关键是使用rEFind来接管系统的启动,所以并没有安装grub!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2779次
排名:千里之外
转载:12篇
(1)(4)(2)(7)(3)UEFI下kali linu U盘启动盘的制作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
UEFI下kali linu U盘启动盘的制作
上传于||文档简介
&&k​a​l​i​ ​l​i​n​u​x​ ​在​u​e​f​i​下​启​动​盘​的​制​作
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢}

我要回帖

更多关于 uefi方式安装win10 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信