PXE 安装WinXP,Win7,Linux Serial 小记

一。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>:

# ! /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>:

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...)
 
 

4.3 File <tftpd.rules>:

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


[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文件追加下面内容:

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...   

Attachment:

Sata Driver:

PCI\VEN_8086&DEV_2681&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2682&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_27C3&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_27C5&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_27C6&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_2821&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2822&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_2829&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_282A&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_2922&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2929&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3A02&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3A22&CC_0106 = "iaStor"

or

PCI\VEN_8086&DEV_27C3&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_27C6&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_2822&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_282A&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_27C5&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2929&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3A02&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3A22&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3B29&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3B2F&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_3B22&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_1C02&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_1C03&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_1E02&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_1E03&CC_0106 = "iaStor"


你可能感兴趣的:(linux,server,ubuntu,reference,menu)