3 月 142014
 

连续2周的摸索与测试,终于网络安装linux和windows都能实现了。

相关下载链接:http://pan.baidu.com/s/1sjxwFmP

我首先用的是windows sever 2008 R2 去测试

需要的是 部署服务和 DHCP服务 windows 2008 R2 操作系统,这个在之前的文档说过了。详见

https://www.hmouse.cn/?p=3163 (后续安装有问题,有时间我会补全。)

部署服务和dhcp 以及域 服务安装都很傻瓜式,主要难的是添加驱动,不过2008 的支持比较好,可以找inf文件去添加。还有有时会有错误代码,这个也浪费了我很久时间,可以按照文档去处理即可。测试下来公司的机器可以网络部署了。

然后我主要的精力去测试linux的安装

主要的架构是 dhcp + tftp

先后测试了很多软件,譬如参照鸟哥的做法,然后发现了cobbler,cobbler还是非常好用的。最后也决定使用cobbler了。详细参照另一个文档:

https://www.hmouse.cn/?p=3172

cobbler 总结出来有2点:

1:简单

2:无需另外安装很多东西。

最后为了让linux的服务器安装window,我尝试了很多法子,可惜都没有像部署服务那样方便的方式。也尝试用dhcp转到windows部署服务,不过发现部署服务还想不是用tftp传文件的。所有又不行。

最后只有一个办法引导winpe。

引导winpe 我试验了2种方式,

1:按照linux的安装方式一样,引导pxelinux.0 加载,用的是 小小强Pe工具箱PXE版V4.0.rar 工具

他自带syslinux 引导,可以查看使用使用说明.txt

  • .启动菜单密码的设置:
    grub4dos的PXE引导,分两个步骤:
    1.在服务器端“WXPE\CFG”文件夹下有个“PASSWORD”的文件,用记事本修改其中的两条“password –md5”语句,将该语句后面的字串改为你的密码。具体用途请看“PASSWORD”文件内的注释。
    2.将服务器端“WXPE\CFG”文件夹下原有的“default”改名为“default1”,然后将“PASSWORD”文件改名为“default”。

只要将 WXPE 和 syslinux  copy出去,再根据提示就可以启动 小小强Pe工具箱。引导文件是:pxelinux.0

LABEL winPE
MENU LABEL winPE
KERNEL WINPE/pxelinux.0

image

image

 

2,后来发现,syslinux可以加载iso,这真是太方便了。

参考url:http://www.laomaotao.net/new/2012/0121/448.html

  • syslinux新手入门教程
  • 2012-01-21
  • 1、直接引导 ISO,syslinux.cfg 文件如下:
    UI vesamenu.c32([color=Red]指定图形化菜单,放在syslinux.cfg 最前面就可以了,下面省略[/color])
  • LABEL PEISO-WXRS([color=Red]LABEL 后面是菜单名,随便[/color])
  • LINUX memdisk([color=Red]创建虚拟磁盘[/color])
  • INITRD /boot/WIN7PE.iso([color=Red]加载 .iso 文件[/color])
  • APPEND iso raw([color=Red]APPEND 其实就是 把 后面的参数 追加到 上面一行结尾,这样写可能好看吧[/color])
  • 2、用 ntldr 方式引导 PE,syslinux.cfg 文件如下:
    LABEL PEHDD-HPY
  • KERNEL /boot/syslinux/chain.c32([color=Red]这东西反正可以链接的方式引导各种不同分区,MBR等[/color])
  • APPEND hd0 1 ntldr=/MINIPE/LDRXPE([color=Red]hd0 1 和 后面那些 其实就是 chain.c32 的参数,靠 append 追加上去[/color])
  • LDRXPE 其实是所谓的 ntldr ,其实最原始的应该是 PE的 SETUPLDR.bin 文件,经过修改改名得来。
  • 究竟 ntldr 如何工作,如何修改,请参考:hi.baidu.com/whuisland/blog/item/e9955139d9cba9f43b87ce7e.html
  • 3、用 ntldr 方式引导 PE,可是我的主板只支持 USB-FDD 模式,怎么办?
    LABEL PEFDD-HPY
  • KERNEL /boot/syslinux/chain.c32
  • APPEND fd0 ntldr=/MINIPE/LDRXPE([color=Red]老主板 USB-FDD 或 USB-ZIP 模式引导,会把U盘认成 fd0[/color])
  • 4、从 本机硬盘启动:
    LABEL HDD 1,0
  • KERNEL /boot/syslinux/chain.c32
  • APPEND hd1 0([color=Red]一般 情况下 是 USB-HDD 模式引导的,会把U盘认成 hd0,所以 本机硬盘是 hd1, 后面的0是指 MBR,1~4是 主分区,5往后是逻辑分区[/color])
    题外话:
    在syslinux菜单环境下,可以按TAB键 可以调整每个选择项的参数,不行的时候试一下就试出来了。比如 hd0 改 hd1, hd10 改 hd11。试完再琢磨是怎么回事。

我直接修改

LABEL laomaotao-PE
LINUX memdisk
INITRD iso/lmt2.iso
APPEND iso raw

这里的iso我用的是老毛桃的镜像,测试中发现必须用UEFI启动版,否则会卡在boot。不过这个加载比较慢,没有上个方法快。

image

记得改完之后要修改/etc/cobbler/pxe/pxedefault.template,否则下次更改配置会还原的。

 

  • [root@localhost syslinux-6.02]# cat /etc/cobbler/pxe/pxedefault.template
    UI vesamenu.c32
    DEFAULT menu
    PROMPT 0
    MENU TITLE TOPCMM
    TIMEOUT 300
    TOTALTIMEOUT 6000
    ONTIMEOUT $pxe_timeout_profile
  • LABEL local
    MENU LABEL (local)
    MENU DEFAULT
    LOCALBOOT -1
  • LABEL laomaotao-PE
    LINUX memdisk
    INITRD iso/lmt2.iso
    APPEND iso raw
  • LABEL windows7
    LINUX memdisk
    INITRD iso/windows7.iso
    APPEND iso raw
  • LABEL winPE
    MENU LABEL winPE
    KERNEL WINPE/pxelinux.0
    $pxe_menu_items
  • MENU end

后续测试esx4.1用iso加载也可以,这个在cobbler测试当中是不行的。不过iso加载,等于全部加载到内存,耗时而且内存小的机器无法使用。

后续测试中发现,windows7以后的版本无法用这个方法,因为解压出来接近10G,而内存大于10G的机器比较少。不过后来测试一种新方法了。之前找到过安装winpe的方法:http://www.bromosapien.net:8080/media/index.php/Linux_Windows_PXE_Installation

(我在操作中发现制作winpe的cmd脚本有问题,可能是cmd的版本太新了吧。

for /f “Tokens=3” %%x in (‘bcdedit /store %BCDSTORE% /create /d “Windows 7 Installation” /application osloader’) do set GUID=%%x

这个脚本传参时,guid没有带过去,后来手动添加上去,才正确生成了BCD文件,否则会一直报错。

)

 

我当时测试是不可以的。后来发现是镜像的问题,我换成英文版的就可以了。再后来测试发现。我用windows2008 R2的winpe最好,因为他可以选择版本号。后来我通过使用windows 2008R2的部署工具制作 install.wim 和 制作有驱动的boot.wim。

我的方法是,按照前面的操作进了winpe,然后通过脚本,自动加载install.wim

自动加载参照一篇文章:http://kevinoctober.blog.163.com/blog/static/126890029201331041450772/

因为我只做出来的winpe.wim是个压缩文件,解压出来,会发现一个startnet.cmd(windows/system32/下)。原来winpe.boot(其实跟boot.wim是一个文件)会最后执行这个shell,然后根据制作winpe的办法,我在里面写了

@echo off
wpeinit
net use y: \\192.168.3.9\image
y:
setup.exe

这样就可以自动化了。

PS: 多合一install.wim的制作。

我发现在使用中用window2008 R2的安装盘最好,可以选择,那我再优化了下,通过window2008 R2导出3个我需要的版本。然后通过WimTool追加在一起(WimTool是个编辑wim的好工具,上面修改startnet.cmd也是通过这个软件修改的,不过系统必须要装window的AIK,否则无法工作)。

对了还有winpe.wim添加驱动,如果你没安装windows 2008 R2,也可以网上搜下boot.wim添加驱动的方法,或者用

X:\>net use z: \\10.100.1.1\driver The command completed successfully. X:\> E: E:\> cd network E:\network> drvload driver.inf E:\network> NETCFG -WINPE E:\network> Z: Z:\> drvload sata.inf

这个方法是winpe的制作中有的办法,等于是通过网络安装,不过这个一般安不了网卡没用,如果网卡有问题,压根无法访问samba的。

最终这个功能实现了,为了减少大家制作的错误,我将相关软件也上传上去了。

相关下载链接:http://pan.baidu.com/s/1sjxwFmP

再PS:

后来测试发现我整合的光盘有问题,访问windows7的安装会报

WDS_Install_OEM_Error.png (640×480)

这个问题一直困扰着我,一直也没有发现解决办法,后来发现

http://www.lijyyh.com/2012/06/windows-7windows-server-2008-r2.html  制作多合一中,提示到license需要整合,否则会有问题,我把windows7安装盘的license copy过去,在测试,发现windows7可以安装了。

还有一个提示:那就是我安装完之后可能有些驱动会没有,我打算在安装完之后桌面放一个驱动精灵,后来测试发现,将install.wim挂载,然后在挂载的目录下Users\Public\Desktop 上放上软件安装包即可。测试中发现,windows7的桌面是有的,2008 R2的操作系统是没得。

还有就是如果相装英文版的话,必须加个语言包,否则没有英文包的话,安装会报错的。当时我解决安装windows 7 中文版 和 2008 R2 ,我就没有继续测试下去了。等以后有空的话,可以解决英文版,32位,已经2008 R2 桌面的问题。

PS:有一次不小心重装了cobbler,差点丢失文件,所以补个引导文件,其他的可以自行配置。

[root@localhost pxe]# cat pxedefault.template
UI vesamenu.c32
DEFAULT menu
PROMPT 0
MENU TITLE TOPCMM
TIMEOUT 300
TOTALTIMEOUT 6000
ONTIMEOUT $pxe_timeout_profile

LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT -1

LABEL laomaotao-PE
LINUX memdisk
INITRD iso/lmt2.iso
APPEND iso raw

LABEL esx4.1
LINUX memdisk
INITRD iso/esx4.1.iso
APPEND iso raw

LABEL windows7&2008 R2
KERNEL Boot/startrom.0

LABEL xiaoxiaoqiang-PE
MENU LABEL winPE
KERNEL WINPE/pxelinux.0

$pxe_menu_items

MENU end

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

This website stores cookies on your computer. These cookies are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to to opt-out of any future tracking, a cookie will be setup in your browser to remember this choice for one year.

Accept or Deny