如何通过PXE的方式远程安装linux(本地无 光 , 软驱)

xincongfd5395

xincongfd5395

2016-01-29 19:09

如何通过PXE的方式远程安装linux(本地无 光 , 软驱),如何通过PXE的方式远程安装linux(本地无 光 , 软驱)
  如何远程安装Linux
作者:汤凯    本文选自:IBM DW中国  2002年12月06日  
 
一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。但是,这种安装方法在以下的几种情况下就不能适用: 

· 无软驱和光驱:很多公司为了节省成本,计算机一般都不带光驱或软驱,这样就无法通过本地安装Linux; 

· 非标准的软驱和光驱:虽然笔记本都会配置光驱,但是并不一定都是标准的IDE设备,有些是通过USB接口,有些是通过1394接口(例如Samsung的Q10)。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux; 

另外,在一些场合,如机房中,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。 

笔者在工作过程中,就遇到过第二种情况。一台Samsung的Q10笔记本需要安装Redhat Linux 8.0,但是通过光驱引导后发现,安装程序无法访问光盘。针对这个问题,笔者经过查阅资料和摸索,找到了在Q10上安装Linux的方法。在下面的讨论中,如不做特别声明,都将以Q10为例,介绍如何通过PXE Bootrom来远程安装Linux。 


基本原理


什么是PXE 

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。 

PXE协议的成功运行需要解决以下两个问题: 

既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置; 

通过什么协议下载Linux内核和根文件系统 

对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。 

至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。 

这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。 

工作过程 

在上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。 

PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。 


步骤


有了前面的背景知识,接下来就可以正式操作了,下面按照顺序给出了操作步骤: 

配置DHCP Server 

选用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的内容如下: 

option space PXE;
option PXE.mtftp-ip               code 1 = ip-address;  
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 PXE.discovery-control      code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr   code 7 = ip-address;
class "pxeclients" {
    match if substring (option vendor-class-identifier, 0, 9) =&n
展开更多 50%)
分享

猜你喜欢

如何通过PXE的方式远程安装linux(本地无 光 , 软驱)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
如何通过PXE的方式远程安装linux(本地无 光 , 软驱)

通过PXE远程安装Linux系统全程解析

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
通过PXE远程安装Linux系统全程解析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

通过chroot方式安装Arch Linux

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
通过chroot方式安装Arch Linux

无软驱和光驱安装Redhat方法

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
无软驱和光驱安装Redhat方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux技巧:软驱的使用

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux技巧:软驱的使用

本地应用可以通过碗豆夹安装吗

电脑网络
本地应用可以通过碗豆夹安装吗

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

vi介绍编 (3) ex命令

vi介绍编 (3) ex命令

《巫师3 狂猎》林中夫人剧情路线选择及结局解析

《巫师3 狂猎》林中夫人剧情路线选择及结局解析
下拉加载更多内容 ↓