原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://coolerfeng.blog.51cto.com/133059/76156
按照网上的手册安装,
[url]http://www.wenzk.net/bbs/viewthread.php?tid=834&extra=page%3D&page=1[/url]
有几个问题
第一个问题,困扰半天的INF file txtsetup.sif is corrupt or missing,status 21
解决办法,tftp加tftp rules,对\\重定向为/,(详细的问题可以看tftp的log,在/var/log/messages中)
第二个问题,蓝屏问题process1_initialization_failed,STOP 0x0000006B,
解决办法,修改winxp.sif应答文件中的共享
错误的设置
SetupSourceDevice = "\Device\LanmanRedirector\192.168.1.103\reminst\"
正确的设置
SetupSourceDevice = "\Device\LanmanRedirector\192.168.1.103\reminst\winxp"
到此成功安装.如果在虚拟机中出现找不到硬盘,需要把硬盘设成IDE的.如果是真实机器,需要按F6加载硬盘驱动.
又遇到一个问题,找不到oembios.bin,忽略会导致安装完后无法登录
ry8t3-rgh7c-vxqxg-h67km-hd6f3
以下记录一下安装过程:
tftp-server
系统自带的rpm的似乎有点问题,不能加 -m 参数.
如果遇到这样的问题,自己用 源码编译一个
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -m /tftpboot/rules -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
-v 在/var/log/messages -m 加载规则 -s 指定tftpboot根目录
/tftpboot/rules
#cat /tftpboot/rules
ri ^[a-z]: # Remove “drive letters”
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
service xinetd restart
dhcp.conf
allow booting;
allow bootp;
next-server 192.168.1.222;
filename "/pxelinux.0";
创建必要的文件:
把 pxelinux.0 rules 复制到 /tftpboot目录下,创建/tftpboot/pxelinux.cfg目录,在该目录下创建:
default文件,内容为视情况修改:
DEFAULT HD0
PROMPT 1
TIMEOUT 300
#ONTIMEOUT BOOT_PXE
LABEL winpe
MENU LABEL ^1----Boot for WinPE tools
kernel winpe.0
LABEL wxp
MENU LABEL ^1----Boot for Install WindowsXP
kernel winxp.0
LABEL dos
MENU LABEL ^2----Boot for Dos Tools
kernel memdisk
append initrd=dos/dostools.img
LABEL ghost
MENU LABEL ^3----Boot for Ghost 8.3
kernel memdisk
append initrd=dos/ghost83.img
LABEL pqmagic
MENU LABEL ^4----Boot for PQMagic 8.05
kernel memdisk
append initrd=dos/pm805.img
LABEL HD0
MENU LABEL ^0----Boot from the first HD
kernel chain.c32
append hd0
# eof: pxelinux.cfg/default
到这里,PXE启动倒是没有什么问题了,只是启动WinXP的一些准备工作还没有做。
把WinXP光盘上的i386目录复制到/tftpboot/winxp目录下,参考[url]http://blog.yalin.tw/2007/06/pxe-in-freebsd-windows-xp.html[/url]文章把一个正在运行的WinXP SP2下的WINDOWS\inf目录复制到/tftpboot/winxp/i386目录下
进入/tftpboot/winxp/i386目录,解开driver.cab文件。
#cabextract driver.cab
cabextract需要安装
先进入/tftpboot/winxp目录,执行:
find ./ -depth | perl -ne 'chomp;m</[^/]*$>;$d=$`;$_=$f=$&;''s/([\x80-\xFF].)|(\w)/$1\l$2/g;system "mv",$d.$f,$d.$_ if $f ne $_'
OK,这下就把所有文件都改成小写了。
- Extract the pxe loader:
cabextract <Source dir>/i386/STARTROM.N1_
- Modify the name of the loader from NTLDR to XPLDR:
sed -i -e 's/NTLDR/XPLDR/gi' startrom.n12
- Move the modified pxe loader to tftpd root, and call it winxp.0
- Extract the setuploader, using cabextract:
cabextract <Source dir>/i386/SETUPLDR.EX_
- Modify the name of the response file from winnt.sif to winxp.sif
sed -i -e 's/winnt\.sif/winxp\.sif/gi' setupldr.exe
- Modify the name of ntdetect from ntdetect.com to ntdetect.wxp
sed -i -e 's/ntdetect\.com/ntdetect\.wxp/gi' setupldr.exe
- Move the modified setuploader to tftpd root, and call it XPLDR
- Copy <Source dir>/i386/NTDETECT.COM to tftpd root
and call it ntdetect.wxp

创建应答文件winxp.sif
[data]
floppyless = "1"
msdosinitiated = "1"
; Needed for second stage
OriSrc = "\\192.168.1.103\reminst\winxp\i386"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1
[SetupData]
OsLoadOptions = "/fastdetect"
; Needed for first stage
SetupSourceDevice = "\Device\LanmanRedirector\192.168.1.103\reminst\winxp"
;自动应答文件,如果想自动完成安装,需要下面的部分
[Unattended]
UnattendMode=FullUnattended
UnattendSwitch="Yes"
OemPreinstall="Yes"
OemSkipEula="Yes"
FileSystem=*
WaitForReboot="No"
NoWaitAfterTextMode=1
NoWaitAfterGUIMode=1
DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore
Hibernation="No"
TargetPath = \WINDOWS
InstallFilesPath = "\\192.168.1.103\reminst\winxp\i386"
LegacyNIC = 1
[SystemRestore]
[GuiUnattended]
EncryptedAdminPassword="No"
AutoLogon="Yes"
AdminPassword=*
OEMSkipRegional=1
[root@localhost ris-linux-0.3]# cat /tftpboot/winxp.sif
[data]
floppyless = "1"
msdosinitiated = "1"
; Needed for second stage
OriSrc = "\\192.168.1.103\reminst\winxp\i386"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1
[SetupData]
OsLoadOptions = "/fastdetect"
; Needed for first stage
SetupSourceDevice = "\Device\LanmanRedirector\192.168.1.103\reminst\winxp"
samba的设置
/etc/samba/smb.conf
[global]
panic action = /usr/share/samba/panic-action %d
guest account = root
null passwords = true
security = share
workgroup = workgroup
server string = RIS Server
syslog only = no
syslog = 0;
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
encrypt passwords = true
wins support = no
name resolve order = lmhosts host wins bcast
dns proxy = no
unix password sync = false
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
max log size = 1000
unix charset = iso-8859-15
display charset = iso-8859-15
dos charset = 850
[REMINST]
browseable = yes
read only = no
path = /tftpboot
guest ok = yes
[Unattended]
UnattendMode=FullUnattended
UnattendSwitch="Yes"
OemPreinstall="Yes"
OemSkipEula="Yes"
FileSystem=*
WaitForReboot="No"
NoWaitAfterTextMode=1
NoWaitAfterGUIMode=1
DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore
Hibernation="No"
TargetPath = \WINDOWS
InstallFilesPath = "\\192.168.1.103\reminst\winxp\i386"
LegacyNIC = 1
[SystemRestore]
[GuiUnattended]
EncryptedAdminPassword="No"
AutoLogon="Yes"
AdminPassword=*
OEMSkipRegional=1
TimeZone=004
OemSkipWelcome=1
[Components]
msmsgs=off
msnexplr=off
OEAccess=off
media_clips=off
media_utopia=off
Accessopt=off
AutoUpdate=off
templates=off
fax=off
Clipbook=off
charmap=off
calc=off
hypertrm=off
rec=off
vol=off
pinball=off
freecell=off
minesweeper=off
solitaire=off
spider=off
hearts=off
zonegames=off
[UserData]
FullName = "name"
OrgName = "organization"
ComputerName = *
ProductKey="RY8T3-RGH7C-VXQXG-H67KM-HD6F3"
[RegionalSettings]
Language= "0409"
[WindowsFirewall]
Profiles=WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode=0
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[NetServices]
MS_Server=params.MS_PSched
[RemoteInstall]
Repartition = Yes
UseWholeDisk = Yes
[Shell]
DefaultStartPanelOff=Yes
DefaultThemesOff=Yes
接下来就是搞定Binl Server了,
wget [url]http://oss.netfarm.it/guides/ris-linux-0.3.tar.gz[/url]
tar zxf [url]http://oss.netfarm.it/guides/ris-linux-0.3.tar.gz[/url]
cd ris-linux-0.3
Run infparser.py
./infparser.py /tftpboot/winxp/i386/inf
Run ./binlsrv.py
注意不要关闭binlsrv.py这个进程。
配置到这里几乎全部工作都完成了,应该可以通过PXE安装WinXP了。

转载于:https://blog.51cto.com/lxshopping/1308813

PXE BOOT INSTALL WINXP相关推荐

  1. PXE BOOT DIY自己的网络启动工具集合

    大家对深山红叶,矮人DOS工具箱之类的维护光盘应该不陌生了,作为企业,网吧网管,随手准备这样的光盘真的是能解决很多问题.对于网刻,相信很多人也有所了解.但是,在网吧/公司维护机器时.基本上面对的都是无 ...

  2. 通过pxe从网络启动安装Windows XP

    搭建Linux系统中的PXE远程安装 Windows XP 和Linux 服务已经有很长时间了,大概折腾了一个多星期 ,Linux系统安装比较简单,已经搞定了.但是Windows XP的安装遇到了太多 ...

  3. 通过PXE从网络启动安装Windows

    系统不幸中招,系统时间被改,杀毒软件一打开就自动关闭,只要是杀毒相关的程序,一打开就都自动关闭了,打开进程管理器,发现不断有一系列名字类似(一个系统文件名加上不断递增的数字,具体名字想不起来了)的进程 ...

  4. 通过pxe从网络启动安装Windows XP - dragonbbc的专栏 - CSDNBlog

    导读: 新一篇: 光盘的文件复用 | 旧一篇: 如何在stdin(键盘)中输入EOF呢?版权声明:本文是在参考了互联网上一些文章,并以这些文章为指导在本地环境下进行操作实践,并根据操作实际情况写出来的 ...

  5. PXE实现批量部署linux系统

    pxe批量部署linux服务器 1.pxe介绍 PXE是有intel设计的协议,它可以使计算机通过网络启动,协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时, ...

  6. Linux下KickStart+PXE无人值守装机服务器的配置

    1.什么是KickStart KickStart是一种无人职守安装方式.KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件:在其后的安装 ...

  7. 自动化运维之CentOS7下PXE+Kickstart+DHCP+TFTP+HTTP无人值守安装系统

    一.概述 1.关于PXE Preboot Execution Environment翻译过来就是预启动执行环境;简称PXE;传统安装操作系统的方法是CDROM或U盘引导,而PXE技术解决的是从网络引导 ...

  8. [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解

    本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议详解 , Kickstart (PXE+DHCP+TFTP+HTTP). PXE环境概述 作为中 ...

  9. 通过 pxe(网络安装)完成centos 系统的网络安装

    首先交代环境.本地2台主机,一台windows主机,一台等待安装centos的主机.2台主机在同一个局域网.通过路由器自动获取ip上网. 网上大多数pxe安装方式都采用自己搭建dns服务器的方式来进行 ...

最新文章

  1. 深度学习和几何(演讲提要)
  2. 对代理ARP技术的误读、无法完成代理ARP实验的故障分析
  3. 批量启用lync用户-3
  4. linux 错误日志 __ratelimit: XXX callbacks suppressed 原因
  5. go语言生成自定义uuid_竟然不用写代码!一款可视化 Web 管理后台生成工具
  6. 1035 插入与归并 (25 分)(c++)
  7. 网络作者的心声-23、网络作家大多赚'辛苦钱'
  8. 解决 .NET Core 在 Linux Container 中获取 CurrentCulture 不正确的问题
  9. druid字段级_Druid的数据结构
  10. ADSL技术的系统结构
  11. 【CodeVS】1993草地排水
  12. python怎么让图片旋转45度_是否有方法将matplotlib打印旋转45度?
  13. 阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理
  14. 在出境通关中如何应用智能智慧护照阅读器技术呢
  15. VS同一个解决方案中不同项目相互引用问题
  16. DROID-SLAM: 用于单目双目RGBD相机的深度视觉SLAM
  17. java使用465端口发送邮件
  18. 区块链应用 | 一篇文章让你搞懂区块链,非标通证应用将首先落地
  19. 设计模式六大原则(SOLID)
  20. 抽象语法树的定义(C语言版)

热门文章

  1. Proximal Algorithms 3 Interpretation
  2. 助力军事内容持续产出,军武次位面完成B轮融资...
  3. Jmeter连接MySQL数据库
  4. iOS项目预处理器环境变量设置
  5. 微信小程序开发优秀教程及文章合集第一期
  6. str_repeat() 函数
  7. 计算Android屏幕解锁组合数
  8. linux]ubuntu挂载U盘
  9. 为什么servlet-nameaction/servlet-name要这么写
  10. Bitdefender 服务器版安装程序官方下载