您的位置:首页 > 运维架构 > Linux

PXE 安装WinXP,Win7,Linux Serial 小记

2013-01-06 09:29 309 查看
目录(?)[+]

一PXE安装WinXP
二PXE安装Linux
三PXE安装Win PE

一。PXE安装WinXP

1.PXE安装WinXP准备: Samba Server / TFTP Server / KIS Server

2.samba服务不能启动

首先检测配置文件是否正确 testparam命令

其次检测NETBIOS进程是否正常 nmbd -D

然后检测服务能否征程启动 smbd -D

最后执行 sudo service smbd restart | start & status

3.PXE安装WinXP服务配置

DHCP Server BOOTP -----> PXE Server

PXE Server -----> TFTP Server ------> Boot Files

PXE Server ------> Samba Server ------> More sources files

附所需文件 syslinux下载地址:http://www.kernel.org/pub/linux/utils/boot/syslinux/

(The SYSLINUX download includes PXELINUX, ISOLINUX and MEMDISK as
well. 需要的组建utils和常用启动文件都可在里面找到)

4.PXE WinXP文件配置

File structure:

/tftpd_root--->

1.winxp-x86-ch ----> i386 / winxp.sif / winxp.0 / .....

2.winxp-x64-ch

3.win7-x86-ch

pxelinux.cfg ----> default

pxelinnux.0

4.1 准备启动文件 File <prepare_file>:

[plain]
view plaincopyprint?

# ! /bin/bash basedir=.. version=xp64e ; must 5 chars path=10.winxp-x64-en rm -rf startrom.n12 cabextract $basedir/i386/startrom.n1_ sed -i -e "s/NTLDR/$version/gi" startrom.n12 rm -rf $basedir/$version.0 mv startrom.n12 $basedir/$version.0 rm -rf setupldr.exe cabextract $basedir/i386/setupldr.ex_ sed -i -e "s/winnt\.sif/$version\.sif/gi" setupldr.exe sed -i -e "s/ntdetect\.com/ntd$version\.wxp/gi" setupldr.exe rm -rf $basedir/$version mv setupldr.exe $basedir/$version rm -rf $basedir/ntd$version.wxp cp $basedir/i386/ntdetect.com $basedir/ntd$version.wxp echo "re ^$version.0$ $path/$version.0" echo "re ^$version$ $path/$version" echo "re ^ntd$version.wxp$ $path/ntd$version.wxp" echo "re ^$version.sif$ $path/$version.sif"

# ! /bin/bash

basedir=..
version=xp64e  ; must 5 chars
path=10.winxp-x64-en

rm -rf startrom.n12
cabextract $basedir/i386/startrom.n1_
sed  -i -e "s/NTLDR/$version/gi" startrom.n12
rm -rf $basedir/$version.0
mv startrom.n12 $basedir/$version.0

rm -rf setupldr.exe
cabextract $basedir/i386/setupldr.ex_
sed -i -e "s/winnt\.sif/$version\.sif/gi" setupldr.exe
sed -i -e "s/ntdetect\.com/ntd$version\.wxp/gi" setupldr.exe
rm -rf $basedir/$version
mv setupldr.exe $basedir/$version

rm -rf $basedir/ntd$version.wxp
cp $basedir/i386/ntdetect.com $basedir/ntd$version.wxp

echo "re ^$version.0$      $path/$version.0"
echo "re ^$version$        $path/$version"
echo "re ^ntd$version.wxp$ $path/ntd$version.wxp"
echo "re ^$version.sif$    $path/$version.sif"
WinXP Boot File Reference: http://www.techienote.com/2010/06/pxe-booting-windows-xp-installation.html
PXE For W2K Xp NT: http://liaowake.blog.163.com/blog/static/250751020091161920817/

4.2 File <pxelinux.cfg/default>:

[plain]
view plaincopyprint?

default pxelinux.cfg/vesamenu.c32 timeout 200 menu title PXE-Server menu backgroud PXE.png label local menu label ^0---Boot From Local disk kernel pxelinux.cfg/chain.c32 append hd0 1 label grub4dos menu label ^1---Boot Grub4dos kernel osloader.grldr label gpxe menu label ^2---Boot gPXE (not available) kernel osloader.gpxe label winxp menu label ^7---Install WinXP-CH-X86 (Testing, may damage your PC) kernel winxp.0 #label win7-x86-en #menu label ^2---Install Win7 X86 English Edition (Testing...)
default pxelinux.cfg/vesamenu.c32
timeout 200

menu    title PXE-Server
menu    backgroud PXE.png

label   local
menu    label ^0---Boot From Local disk
kernel  pxelinux.cfg/chain.c32
append  hd0 1

label   grub4dos
menu    label ^1---Boot Grub4dos
kernel  osloader.grldr

label   gpxe
menu    label ^2---Boot gPXE (not available)
kernel  osloader.gpxe

label   winxp
menu    label ^7---Install WinXP-CH-X86 (Testing, may damage your PC)
kernel  winxp.0

#label   win7-x86-en
#menu    label ^2---Install Win7 X86 English Edition (Testing...)


[plain]
view plaincopyprint?


4.3 File <tftpd.rules>:

[plain] view plaincopyprint?ri ^[a-z]: rg \\ / # Convert backslashes to slashes rg \# @ # Convert hash marks to @ signs rg /../ /..no../ # Convert /../ to /..no../ rg A a rg B b rg C c rg D d rg E e rg F f rg G g rg H h rg I i rg J j rg K k rg L l rg M m rg N n rg O o rg P p rg Q q rg R r rg S s rg T t rg U u rg V v rg W w rg X x rg Y y rg Z z r ^/(.*) \1 re ^winxp.0$ 1.winxp-x86-ch/winxp.0 re ^xpldr$ 1.winxp-x86-ch/xpldr re ^bootfont.bin$ 1.winxp-x86-ch/bootfont.bin re ^ntdetect.wxp$ 1.winxp-x86-ch/ntdetect.wxp re ^winxp.sif$ 1.winxp-x86-ch/winxp.sif re ^winxp 1.winxp-x86-ch
ri ^[a-z]:
rg \\ /          # Convert backslashes to slashes
rg \# @          # Convert hash marks to @ signs
rg /../ /..no../ # Convert /../ to /..no../
rg A a
rg B b
rg C c
rg D d
rg E e
rg F f
rg G g
rg H h
rg I i
rg J j
rg K k
rg L l
rg M m
rg N n
rg O o
rg P p
rg Q q
rg R r
rg S s
rg T t
rg U u
rg V v
rg W w
rg X x
rg Y y
rg Z z
r  ^/(.*) \1

re ^winxp.0$      1.winxp-x86-ch/winxp.0
re ^xpldr$        1.winxp-x86-ch/xpldr
re ^bootfont.bin$ 1.winxp-x86-ch/bootfont.bin
re ^ntdetect.wxp$ 1.winxp-x86-ch/ntdetect.wxp
re ^winxp.sif$    1.winxp-x86-ch/winxp.sif
re ^winxp         1.winxp-x86-ch


4.4 File <winxp.sif>:

Note: 不要设置 [Unattended] section。

如果winxp.sif中配置了自动安装选项,一定先要在虚拟机里面测试一下。

UnattendMode=FullUnattended 选项可能会直接自动把整个硬盘格式化成一个C盘)

今天看到一个帖子,说加上下面这段话就行了,待验证:

[RemoteInstall]

Repartion = No

UseWholeDisk = No

[plain]
view plaincopyprint?

[Data] floppyless = "1" msdosinitiated = "1" OriSrc = "PXE Server" OriTyp = "4" LocalSourceOnCD = 1 DisableAdminAccountOnDomainJoin = 1 [SetupData] OsLoadOptions = "/fastdetect" SetupSourceDevice = "\Device\LanmanRedirector\PXE-Server\tftproot\1.winxp-x86-ch" [GuiUnattended] AdminPassword=* EncryptedAdminPassword=NO OEMSkipRegional=1 TimeZone=210 OemSkipWelcome=1 [UserData] ProductKey=CM3HY-26VYW-6JRYC-X66GX-JVY2D FullName="admin" OrgName="Asia" ComputerName=* [SystemRestore] DisableSR=1 CreateFirstRunRp=0 [Display] BitsPerPel=32 Xresolution=1024 YResolution=768 [Components] msmsgs=off msnexplr=Off zonegames=off pinball=off [TapiLocation] CountryCode=86 Dialing=Tone [RegionalSettings] LanguageGroup=9,10 Language=00000804 [Identification] JoinWorkgroup=WORKGROUP [Networking] InstallDefaultComponents=yes

[Data]
floppyless = "1"
msdosinitiated = "1"
OriSrc = "PXE Server"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1

[SetupData]
OsLoadOptions = "/fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\PXE-Server\tftproot\1.winxp-x86-ch"

[GuiUnattended]
AdminPassword=*
EncryptedAdminPassword=NO
OEMSkipRegional=1
TimeZone=210
OemSkipWelcome=1

[UserData]
ProductKey=CM3HY-26VYW-6JRYC-X66GX-JVY2D
FullName="admin"
OrgName="Asia"
ComputerName=*

[SystemRestore]
DisableSR=1
CreateFirstRunRp=0

[Display]
BitsPerPel=32
Xresolution=1024
YResolution=768

[Components]
msmsgs=off
msnexplr=Off
zonegames=off
pinball=off

[TapiLocation]
CountryCode=86
Dialing=Tone

[RegionalSettings]
LanguageGroup=9,10
Language=00000804

[Identification]
JoinWorkgroup=WORKGROUP

[Networking]
InstallDefaultComponents=yes

二。PXE安装Linux:

1.从各个版本Linux镜像中获得NET启动内核,vmlinz 和initrd.gz。放置到对应目录。
2.在pxelinux.cfg/defalut文件追加下面内容:

[plain]
view plaincopyprint?

label ubuntu12.04 menu label ^3---Install Ubuntu12.04-desktop-i386 kernel 7.ubuntu-12.04-desktop-i386/vmlinuz append initrd=7.ubuntu-12.04-desktop-i386/initrd.lz ramdisk_size=9216 noapic acpi=off label ubuntu12.04-x64 menu label ^4---Install Ubuntu12.04-desktop-amd64 kernel 9.ubuntu-12.04-desktop-amd64/vmlinuz append initrd=9.ubuntu-12.04-desktop-amd64/initrd.lz ramdisk_size=9216 noapic acpi=off label ubuntu10.10 menu label ^5---Install Ubuntu10.10-desktop-i386 kernel 6.ubuntu-10.10-desktop-i386/vmlinuz append initrd=6.ubuntu-10.10-desktop-i386/initrd.lz ramdisk_size=9216 noapic acpi=off label ubuntu10.10-x64 menu label ^6---Install Ubuntu10.10-desktop-amd64 kernel 8.ubuntu-10.10-desktop-amd64/vmlinuz append initrd=8.ubuntu-10.10-desktop-amd64/initrd.lz ramdisk_size=9216 noapic acpi=off

label   ubuntu12.04
menu    label ^3---Install Ubuntu12.04-desktop-i386
kernel  7.ubuntu-12.04-desktop-i386/vmlinuz
append  initrd=7.ubuntu-12.04-desktop-i386/initrd.lz ramdisk_size=9216 noapic acpi=off

label   ubuntu12.04-x64
menu    label ^4---Install Ubuntu12.04-desktop-amd64
kernel  9.ubuntu-12.04-desktop-amd64/vmlinuz
append  initrd=9.ubuntu-12.04-desktop-amd64/initrd.lz ramdisk_size=9216 noapic acpi=off

label   ubuntu10.10
menu    label ^5---Install Ubuntu10.10-desktop-i386
kernel  6.ubuntu-10.10-desktop-i386/vmlinuz
append  initrd=6.ubuntu-10.10-desktop-i386/initrd.lz ramdisk_size=9216 noapic acpi=off

label   ubuntu10.10-x64
menu    label ^6---Install Ubuntu10.10-desktop-amd64
kernel  8.ubuntu-10.10-desktop-amd64/vmlinuz
append  initrd=8.ubuntu-10.10-desktop-amd64/initrd.lz ramdisk_size=9216 noapic acpi=off


三。PXE安装Win PE

可籍由此通过本地共享Windows安装镜像安装Windows系统

1.下载老毛桃WinPE: 撒手不管版(含网络服务) / 光棍版(救急用,无网络支持) http://www.laomaotao.net/

2.在pxelinux.cfg/defalut文件追加下面内容:

label   winpe2
menu    label ^9---Boot Windows PE 老毛桃光棍精简版
kernel  11.win-pe/memdisk
append  iso initrd=11.win-pe/WinPE-MaoTao-Single-1111.iso
label   winpe3
menu    label ^9---Boot Windows PE 老毛桃撒手不管版
kernel  11.win-pe/memdisk raw iso initrd=11.win-pe/WinPE_MaoTao_Final-20070911.iso

在VIrtualBox中测试不能正常启动,在真实机器上测试可正常启动。

Reference:
http://diddy.boot-land.net/pxe/index.htm

http://unattended.msfn.org/unattended.xp/view/web/19/

http://bbs.znpc.net/viewthread.php?tid=5309

http://www.ultimatedeployment.org/win7pxelinux1.html

http://www.dabaicai.com/upan_jiaocheng/604.html

To be continue...

来自:/article/8717064.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: