|
最简单的方法见3楼
==
忘记在I386目录里放rename.exe了,现在补上
Rename.rar
(34.84 KB, 下载次数: 1314)
。
另外,grghost.img,请自行修改一下autoexec.bat内的文件和目录名。
附件还提供了制作migrate.inf文件的mkmigrateinf2.cmd,请放到U盘运行,将得到的migrate.inf.txt更名为migrate.inf放入I386文件夹并替换原文件。
==
这个模板适合于removable类型格式U盘。
你需要做的:
1. 备份U盘所有文件
2. 使用ghost32.exe 版本为11.0.1或以上恢复,模式为disk from image
3. 加入XP SP3方法,参考本文,注意一定要修改你的TXTSETUP.SIF文件,并替换模板中原文件;WINNT.SIF你也可自行定制人人信息;setupdd.sy_文件不要替换。
4. 为使用下述菜单的第5项,U盘盘符"UBOOT"不能更改。
5. 本模板内容:
# fontfile /xpl~1/utool/FONT.GZ
# splashimage /xpl~1/utool/BACK.XPM.GZ
# foreground ffffff
gfxmenu (hd0,0)/xpl~1/message
timeout 30
default 0
title 1. 从硬盘启动
map (hd1) (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)
title 2. 安装 XP SP3
chainloader /xpl~1/i386/setupldr.bin
title 3. XP安装后首次启动
chainloader /xpls/ntldr
title 4. 启动PE
chainloader /xpl~1/SETUPLDR.BIN
title 5. 在DOS下加载USB2.0驱动后启动PE
map --mem /xpl~1/utool/DOS2PE.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 6. 一键安装克隆XP/手动运行GHOST
map --mem /xpl~1/utool/GRGHOST.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 7. 启动GGHOST
map --mem /xpl~1/utool/gghost.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 8. 启动DOS工具箱
map --mem /xpl~1/utool/DOSTOOL.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 9. 启动MaxDos 7
map --mem /xpl~1/utool/MAXDOS.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 10. 启动效率源硬盘修复
map --mem /xpl~1/utool/XLYBIG.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 11. 启动内存检测
map --mem /xpl~1/utool/MEMTEST.BIN (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 12. 重启
reboot
title 13. 关机
halt 上以PE 为lyra的最新SP3内核,工具箱为修改红叶版。其它所有的DOS工具都有。
另外,在UTOOL文件夹还有本人的最新umenu.au3源文件和编辑后的文件,是什么大家可以运行看。
===
下载:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=126437&extra=&page=1,下载flashfxp,到victor888目录下找umodel.gho(256,815K)。
===
本文目的只有一个--让看的人明白,能够动手做出这样的U盘或移动硬盘!
通过阅读本文,希望你对U盘安装XP的各种方法有一个清晰透彻的理解。
===
前言:
大家都知道,安装XP主要有3种方式,一种是通过光盘直接安装,还有一种是通过软盘引导安装,最后一种方式就是硬盘安装了。
在开始讲述之前,不管哪种方式安装,我们还是要了解一下XP的安装原理:
SETUPLDR.BIN,这个文件从字义理解就是安装管理器,类似于ntldr,但不是启动管理器。setupldr.bin这个文件可以用来安装XP系统,也可以用来启动PE。这个文件启动之后首先要寻找的就是NTDETECT.COM这个文件,这个文件位于已安装系统的根目录或安装光盘的I386目录,他的作用是检测系统硬件信息,是XP启动或安装的必不可少的文件。对于安装XP,它的一个重要作用就是判断安装程序是在什么介质上进行的,即光盘、软盘还是硬盘。对于不同的介质,会有不同的安装方式。其后过程要用到TXTSETUP.SIF,这个文件包含了XP安装文件的所有信息,如安装源所在的路径、要解压文件名及目标文件夹名称等内容。
1. 光盘安装,其实是光盘启动系统后,光盘引导文件启动了i386目录的setupldr.bin文件进行的安装。这是最基本的安装方法,不是我们要研究的内容。
2. 软盘安装,其实是通过6张软盘启动系统(所有文件为启动组文件),安装文件还是要位于光盘或硬盘上。
此种方式本人进行了尝试,通过GRUB4DOS来模拟软盘,即把含有XP启动组文件的IMG模拟成软盘,再启动SETUPLDR.BIN来安装,结果是在加载了一些文件后,系统重新启动,经分析在于文本安装阶段也是处于保护模式下,找不到虚拟的软盘文件造成。这种方法和GRUB4DOS将ISO模拟为光驱安装XP系统的结果一致,都会因为XP的保护模式造成无法安装。后来考虑到USB-ZIP启动DOS后盘符为A盘,于是就选集网友测试,结果是系统直接重启(U盘启动后盘符为A者,请测试这种安装XP的方法)。由此看来,非真正的1.44M的软盘无法安装XP系统,这种方式也不是我们要讨论的。如果有实际的软驱和6张软盘,可以将安装文件放到硬盘来安装XP系统,请见:软盘启动后从NTFS分区上读取安装源文件安装Windows2000攻略。
3. 硬盘安装,这是我们要讨论的安装方式,因为我们的U盘可以模拟为硬盘或USBHDD。
可能大家会想到的是在DOS系统下,加载SMARTDRV之后运行的WINNT方式或在WINDOWS系统下(包括WIN PE)运行WINNT32进行安装。目前,这里相当多的人使用的方法是使用U盘进PE后,运行毛桃汉化的XP安装软件,虽然此前也有人尝试使用U盘进DOS再安装系统的方法。可以说这2种方法都不是最佳的方法,对于第1种PE启动系统后,U盘有可能变为C盘,这会使得安装失败,另外,一个烦人的地方就在于浪费时间,因为需要进PE,需要把XP安装文件全部复制到U盘。当然,也有人用到了比较聪明的办法,将安装文件GHOST到硬盘(hpy7332, 【原创】U盘安装光盘版WINXP.ISO的全新方法,安装轻松流畅【新增制作教程与问答】),这大加快了安装时间,但是,毕竟需要GHOST过程,比不上在U盘上直接安装XP来的快(当然,如果你的USB是1.1的速度,还是使用这种方法吧)。对于DOS下的安装,WUYOU早就有人进行了积极有益的探索,可惜没有深入下去,这方面feng197212是先驱,早在2006年5月他就进行了这方面的探索([求助]有没有谁研究u盘模拟光盘启动的),在2008年11月他又进行了更一步的探索(U盘启动安装微软xp和vista两大类操作系统的最佳实践——欢迎建设性的抛砖以完善至完美)。DOS下的安装和WINNT下的安装,基本差不多,也是耗时,且需要U盘为FAT文件系统。
正文:
其实DOS安装和WIN下安装XP系统,都是硬盘安装方式。以WIN下安装XP为例,如果在安装过程中我们选择将“从安装CD复制所有安装文件”,这样在系统首次启动之前,在硬盘的根目录形成$WIN_NT$.~LS文件夹,里面包含I386文件夹。此时硬盘的根目录文件如下:$WIN_NT$.~BT BT即BOOT意思,即此目录含启动组文件,此文件夹含有3个 新建的文件:
1. winnt.sif文件,这是自动安装的重要文件,其中一个重要项目就是msdosinitiated="1"即安装源文件路径默认为$WIN_NT$.~LS。
2. bootsect.dat 通过NTLDR引导安装XP要用到的启动文件
3.migrate.inf 非常重要的文件,可以指定盘符及设定其他信息。
$WIN_NT$.~LS LS即LOCAL SOURCE意思,即此目录含如I386文件夹$OEM$文件夹等
$LDR$ bootsect.dat运行后即开始寻找并运行,它是安装XP或启动RAMDISK
PE的启动管理器,类似于启动SETUPLDR.BIN
txtsetup.sif 这个文件网上有详细的介绍,具体的就是指明的所有安装文件
及安装路径等信息 此外,原boot.ini被修改了,加了这样一行,并被设为默认启动项:C:\$WIN_NT$.~BT\BOOTSECT.DAT="Microsoft Windows XP Professional 安装程序" 好了,由上可以看出,要实现默认的硬盘安装XP,启动分区根目录必须有的文件主文件夹为$WIN_NT$.~BT文件夹和里面的winnt.sif文件。
$WIN_NT$.~LS
NTDETECT.COM
TXTSETUP.SIF
要注意,对于个别电脑,这种安装方式会出现0x7b蓝屏错误,我们可以使用经过破解的NTDETECT.COM解决。
要想使用U盘来以这种方式安装XP是不行的,在txtsetup阶段,即文件复制阶段,会边复制边删除I386内文件的,在guisetup即图形安装阶段的最后(T-1),还要删除$WIN_NT$.~BT和$WIN_NT$.~LS文件夹以及txtsetup.sif文件。这样达不到我们的目的。
那么,我们如何保护文件不被删除呢?MSFN的版主和网友进行了大量的探索,找到了最佳的方法--写保护+改名
通过migrate.inf这个文件对文件写保护(对于WIN2003和2K不起作用,另有他法),实现文件不被删除,它是优先于注册表运行的。即加入这样一行:HKLM,"SYSTEM\ControlSet001\Control\StorageDevicePolicies","WriteProtect",%REG_DWORD%,1 通过ren_fold.cmd来进行对U盘上的$WIN_NT$.~BT$和$WIN_NT$.~LS文件夹和txtsetup.sif进行更名。WIN下可以通过REN命令把畸形目录更名为正常目录,但却不能把正常目录更名为畸形目录,因此还需要rename.exe这个工具软件。
通过undoren.com来对上述操作进行反操作,使得U盘下次可以继续安装文件。
通过migrate.inf文件,对于removable类型U盘可以固定其盘符。这样XP启动后,U盘不会占用盘符“D”。
这里还必须要提到一个关键批处理文件,binifix4.cmd,是MSFN的JACLAZ写的。它的作用就是将错乱的boot.ini配置文件修改正确。boot.ini为什么不正确呢?这是因为从U盘启动安装XP系统,因为U盘为removable类型,因此XP不会安装在U盘上,这样安装XP的后果就是boot.ini错误,假设系统有一块内置硬盘,我们从模拟为硬盘的U盘启动,XP安装后boot.ini会将会有multi(0)disk(0)rdisk(1)partition(1),而正确的rdisk值应该为“0”,即指向了U盘启动,这样会无法启动的。因此必须将1改成0,这就要靠binifix4.cmd文件来帮忙了。
下面,我们讲解如何通过U盘来安装XP。
一、准备U盘
U盘分两种类型,即removable和fixed,新买的U盘都是removable格式,默认在WINDOWS下只有第一个非隐藏分区可见。通过使用量产工具,可以将其转换为fixed,这种U盘可以分区相当于移动硬盘。
我们先介绍使用removable方式安装XP的方法,这里使用的文件格式为NTFS。
二、安装XP
1. 为U盘写入主引导记录GRLDR.MBR
U盘要启动,则必须具有MBR,这里推荐使用GRUB4DOS的GRLDR.MBR做为U盘的MBR。
使用工具:grub4dos tool box在WINDOWS下为U盘安装GRLDR.MBR(注:WINDOWS下本步可以使用grubinst完成,但因为BEAN没有更新因此不选用)。
也可以使用DOS下的BOOTLACE工具。
将grub4dos目录内的bootlace.com放入软盘img或光盘ISO,U盘设置为唯一物理硬盘,使用虚拟机启动镜像,进入纯DOS方式,运行:bootlace --no-backup-mbr --mbr-disable-floppy --time-out=0 0x80 2.备料
在U盘根目录建立$WIN_NT$.~LS文件夹,在其内放入I386目录,如果有也将$oem$或$$文件夹放下。我们还需要$WIN_NT$.~BT启动组文件夹,使用附件提供的工具makebs3.cmd获取。
将i386内的txtsetup.sif和附件提供的NTDETECT.COM文件拷贝到U盘根目录。
将I386内的WINNT.SIF(自动安装配置文件,如果没有这个文件,请从其它安装光盘提取)加入一行在最末尾加入[GuiRunOnce]
"binifix4.cmd c:"
"undoren.cmd"
[SetupParams]
UserExecute = "ren_fold.cmd" 下面做一个简要说明,GuiRunOnce选项即首次登陆WINDOWS后要运行的程序,这里运行了binifix4.cmd,它将C盘错误的rdisk值更正了。undoren.cmd将ren_fold.cmd改名后的$WIN_NT$文件夹和txtsetup.sif文件更名正确值了。SeupExecute选项为图形安装过程的T-9分钟运行更名批处理。
修正根目录的txtsetup.sif文件,找到“SOURCEDISKFILES”项,加入如下内容:[SourceDisksFiles]
binifix4.cmd = 100,,,,,,_x,2,0,0
undoren.cmd = 100,,,,,,_x,2,0,0
ren_fold.cmd = 100,,,,,,_x,2,0,0
rename.exe = 100,,,,,,_x,2,0,0 这4个文件需要放入i386目录,另外,使用附件提供的mkmigrateinf2.cmd放在U盘运行,得到migrate.inf.txt这个文件,将其更名为migrate.inf放到$WIN_NT$.~BT文件夹。这个文件已经加入写保护和固定U盘盘符项。
==
至此,基本步骤已经完成,还需要进一步设置。
GRLDR.MBR写入U盘之后,当然U盘根目录需要GRLDR这个文件,为了U盘安全,我们不能把MENU.LST放在根目录。也不能放入畸形目录,因为我们在安装过程中要对畸形目录更名,更名会造成找不到MENU.LST文件。用过GRUB4DOS的人肯定想到了,把这个MENU.LST文件导入GRLDR,使用的软件是grubmenu,使用它来导入导入MENU.LST。
下面这个是本人MENU.LST的内容:timeout 30
default 0
title 1. 从硬盘启动
map (hd1) (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)
title 2. 安装 XP SP3
chainloader /$WIN_NT$.~BT/setupldr.bin
title 3. 安装XP后首次启动硬盘XP系统
chainloader /WIN_NT.BT/ntldr
注意,以上WIN_NT.BT是通过运行ren_fold.cmd将$WIN_NT$.~BT更名得到。
进入BIOS里的启动选项HARD DISK BOOT PRIORITY,将U盘设置为第一硬盘。如果没有此项,则选择USBHDD,如果这项也没有,那么就是U没有被识别出来,我的U盘是文件系统为NTFS,BIOS可以识别出,如果为FAT则不行,在此建议不成功的人也将U盘设置为NTFS格式。
从U盘启动系统,选择第2项,安装XP,重启系统,这时要选择第3项,如果选择第一项,会因为boot.ini的rdisk值不正确而使启动失败。
下面说一说这个NTLDR,它是XP安装后启动系统的启动管理器,通过GRLDR加载,NTLDR可以放入任何目录,这个NTLDR启动后要运行根目录NTDETECT.COM文件,之后寻找BOOT.INI来加载XP系统,因此,需要在U盘的根目录下放入一个正确的rdisk值的boot.ini文件,配置如下:
[Boot Loader]
Timeout=0
Default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[Operating Systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT
系统在进入桌面后,会执行undoren.cmd文件和binifix4.cmd(这两个文件都位于windows\system32目录)文件,会将U盘的目录名更正为正确的名,并修改系统盘根目录的boot.ini文件。
这样,XP系统就搞定了。
接下来,说一说安全型U盘的做法,见下帖。
[ 本帖最后由 victor888 于 2010-3-29 20:05 编辑 ] |
|