局域网电脑用Freenas搭建网启服务器重装操作系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

局域网电脑用Freenas搭建网启服务器重装操作系统
关键词:freenas,pxe,ipxe,ghost,wim,winpe,系统重装
运行硬件环境:有线局域网,服务器一台,支持pxe启动的电脑客户端。

解决方案:使用freenas搭建网启服务器,客户端通过pxe,ipxe启动winpe系统,还原以前保存在freenas上的操作系统备份,完成系统重新安装。

优点:稳定快捷方便,有网络即可以完成系统重装。

缺点:需要电脑硬件支持,部分旧电脑不支持pxe,多台同时安装,速度降低,占用网络带宽。

单位旧电脑安装windows系统,使用一段时间,用户不善于自己维护电脑,程序安装的多,不清理导致开机运行速度降低,经常为电脑重装操作系统,有时忘记拿安装盘,电脑里又没有备份,用网络启动,从服务器下载备份安装操作系统,使用百兆网络传输几个G文件速度慢,今年网络升级改造成千兆网络,于是重新搭建网启服务器。

用freenas搭建因为它比较稳定,停电后能重新启动,不用手工干预。

Ipxe还支持http协议传输winpe镜像文件,freenas上面正好有http服务,同时他本身是存储服务器,将不同型号的电脑备份镜像以及维修工具软件存在上面。

捣鼓了一周时间才弄好。

一、下面是启动过程截图:
1.电脑开机,从网卡启动。

2.从dhcp服务器上获取ip地址,引导文件linux0引导调入默认菜单default。

3.默认引导ipxe。

4. 启动winpe,ipxe可以通过http协议下载winpe的镜像pe32.wim文件,这样速度比较快,新机器几十秒。

5.启动带网络驱动winpe系统,直接将网络中的镜像恢复到本机。

二、简单的搭建过程:
1.安装freenas系统。

找一个服务器,我是在esxi5上建的一个虚拟机,安装网上教程一步一步安装,设置ip地址,开启tftp,smb共享。

2.配置ipxe。

原来是用小小强的pxe启动winpe系统。

Pxe使用tftp协议下载镜像速度不快,搜索到ipxe 可以使用http,ftp协议这样下载个几个G的文件也用不了几分钟。

主板bios中没有刷ipxe,都是pxe,每台电脑都刷太麻烦。

所以选择了网上的文章中的办法:
Chainloading iPXE
可以把i PXE当作固件刷进计算机网卡的R OM里替换掉自带的PXE,但更为常见的是通过c ha in l oad ing的方式进入iPXE。

通常我们会接触到两种iP XE:iP X E firmware(u ndi on ly.k pxe)和iP X E kerne l image(i pxe.lkr n)。

两者都可以用来作为boo tl oader引导OS安装程序,iP XE支持的命令和脚本都能在f irmw are和kerne l中使用。

ker nel相当于一个l in u x 系统,功能更加完善,比如支持命令行操作,支持in itr d等,而firmw ar e更多是作为boo tl oade r来使用。

在bare me ta l pro v is i on的过程中,一般仅利用iP XE的bo ot l oader功能,所以firm ware和ker nel都能用来加载操作系统安装程序。

下面介绍一下如何进入iP XE方法:
BIOS (burned-in PXE) => PXELINUX => iPXE Kernel (ipxe.lkrn)
当计算机从网络启动时,先从TFT P下载P XELIN UX作为bo ot l oade r,然后引导进入iP XE kerne l。

这样可以自动引导默认default菜单,调入ipxe。

PXELINUX会根据pxe li n ux.cfg下的配置文件进行相应的引导工作。

默认情况下P XELIN U X按以下规则选择匹配的配置文件,根据计算机网卡的MAC地址查找配置文件,文件名的格式为以中划线-分割的16进制M AC地址。

比如拥有M AC地址为88:99:AA:BB:CC:DD以太网卡(ARP类型为1)的计算机会匹配文件名为01-88-99-aa-b b-c c-dd的配置文件
如果步骤1失败,则会尝试以计算机的IP地址(大写的16进制格式)查找配置文件,比如192.0.2.91对应C000025B 配置文件。

如果查找失败,会移除最后一位值尝试查找C000025文件,直至查找文件名为C的文件失败。

最后会选择
名为defa ul t(小写)的配置文件。

这样原则上可以为每一台机器制作一个引导菜单。

Pxelinux文件使用的小小强pe工具里面的pxelinux.0引导文件。

Default引导菜单内容:
default menu.c32
prompt 0
menu title PXE Boot Menu
timeout 50
f1 help.txt
f2 version.txt
label ipxe-boot
menu label Using boot.ipxe via iPXE booting (iPXE booting)
kernel IPXE.KRN
append initrd=boot.ipxe
label boot-else
menu label Bypass iPXE (exit)
localboot 1
还需要几个文件,引导菜单需要设置菜单模块(通常是“menu.c32”或“vesa menu.c32”),ipxe的内核文件ipxe.krn(从网下载的),ipxe引导菜单文件boot.ipxe,(从网上下载的WinPE_5.1_32&64_4.26.iso里面找到)内容:
#!ipxe
set menu-timeout 10000
iseq ${platform} efi && set menu-default win864 || set menu-default win832
set xieyi:string http
set next-server 172.17.120.15
isset ${ip} || dhcp
:start
menu iPXE Boot Menu --${platform}--${ip}
item --gap -- --------------------------------- PE --------------------------------
item
item win832 Win8.1 Update PE x86
item
item win864 Win8.1 Update PE x64
item
item --gap -- -------------------------------- TOOL --------------------------------
item
item mem Windows Memmory Diagnostic
item test ${xieyi} ---- select change
item
item --gap -- ---------------------------- Advanced options -----------------------
item --key c config Configure settings -- c
item shell Drop to iPXE shell
item reboot Reboot computer
item --key x exit Exit iPXE and continue BIOS boot -- x choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}
:shell
echo Type 'exit' to get the back to the menu
shell
goto start
:reboot
reboot
:exit
exit
:config
config
goto start
:test
iseq ${xieyi} tftp && set xieyi http && goto start ||
iseq ${xieyi} http && set xieyi tftp && goto start ||
:mem
kernel ${xieyi}://${next-server}/boot/wimboot || goto retry
initrd ${xieyi}://${next-server}/boot/bootmgr.exe bootmgr.exe || goto retry
initrd ${xieyi}://${next-server}/boot/bme BCD || goto retry
initrd ${xieyi}://${next-server}/boot/Fonts/segmono_boot.ttf segmono_boot.ttf || goto retry
initrd ${xieyi}://${next-server}/boot/Fonts/wgl4_boot.ttf wgl4_boot.ttf || goto retry initrd ${xieyi}://${next-server}/boot/memtest.exe memtest.exe || goto retry
boot || goto retry
goto start
:win832
set pefile pe32.wim
goto bootpe
:win864
set pefile pe64.wim
goto bootpe
:winefi
initrd ${xieyi}://${next-server}/EFI/Boot/bootx64.efi || goto retry
initrd ${xieyi}://${next-server}/boot/bcd || goto retry
initrd ${xieyi}://${next-server}/boot/pe64.WIM || goto retry
boot || goto retry
goto start
:bootpe
kernel ${xieyi}://${next-server}/boot/wimboot gui || goto retry
initrd ${xieyi}://${next-server}/boot/boot.sdi boot.sdi || goto retry
iseq ${platform} pcbios || goto winefi
initrd ${xieyi}://${next-server}/boot/bootmgr.exe bootmgr.exe || goto retry
initrd ${xieyi}://${next-server}/boot/bxe bcd || goto retry
initrd ${xieyi}://${next-server}/boot/${pefile} boot.WIM || goto retry
boot || goto retry
goto start
:retry
imgfree
prompt Error! press any key to retry
goto start
成功引导ipxe后出现boot.ipxe菜单内容,启动winpe使用wimboot来引导WinPE的.wim镜像
w i m b o o t提供了一下几个优点:
1.高速 wimboot支持通过http下载WinPE镜像,而不受限于TFTP。

以一个千兆网卡为例,典型200MBWinPE镜像耗时不超过两秒。

2.高效 wimboot支持Windows复用被RAM盘占用的内存资源,这样就不会造成内存浪费。

3.易用 wimboot能直接加载.wim镜像文件,不用打包成ISO或FAT文件系统的镜像。

Winboot引导winpe镜像需要的几个文件,
wimboot
boot.sdi
bootmgr.exe
bxe
pe32.WIM(winpe的镜像文件)
以上的文件目录结构:
Tftp根目录\ pxelinux.0 menu.c32 ipxe.krn boot.ipxe
Tftp根目录\syslinux\cfg\ default
tftp根目录\boot\ bcd boot.sdi bootmgr.exe bxe wimboot pe32.wim
3.使用ssh登陆freenas ,将tftp\boot\链接到http\boot上,这样可以使用http,tftp 两种协议下载镜像文件。

4.修改pe32.wim镜像文件,开机自动建立网络磁盘映射,将电脑系统备份镜像所在的目录映射到本地磁盘驱动器。

使用g工具修改
关键词定义:
PXE
PXE是Pre bo o t eXec u ti o n En v ir onme nt的简称,又称为预执行环境,通过PXE我们可以通过网络给计算机安装操作系统。

PXE协议大致上结合了D H CP和TF TP。

当计算机通过PXE启动时,通过DHCP查找合适的启动服务器,然后通过TF TP下载初始引导程序和附加文件。

现在的网卡一般都烧了PXE的固件,以支持PXE启动
gPXE
gPXE是PXE的一个开源实现(更早的实现是Et her boo t)。

通过g PXE能让网卡直接支持网络启动,而不依赖于网卡自带的PXE固件。

同时相比PXE,g PXE支持更多的协议。

传统的P X E只能通过TF TP进行传输,而gPX E支持HTT P,iS CSI和ATA o ver E ther net(A o E),甚至支持wif i链接。

iPXE
iPXE表示i t doe sn't PXE。

i PXE是gPXE的原班人马写的(他们从E th erbo ot开始),作为官方的gPXE的替代品。

gP XE 扩展的功能在i PXE中都得到支持。

之所以不再使用gPXE是由于存在版权纠纷,iPXE从2010年4月开始,基于同一个代码库开始开发。

PXELINUX
Sysl i nu x是一个优秀的系统启动加载器(bo ot l oader),可引导自硬盘、光盘、和通过PXE的网络启动。

PXELI NUX派生自Sysl i nu x,用来使支持PXE的网卡从网络引导启动L i nu x。

PX ELINUX程序不是烧在网卡里,而是存储在TFTP服务器上。

相关文档
最新文档