煎饼 发表于 2005-4-1 00:31:00

XP安装盘集成SATA驱动的简单方法

现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
新系统.

这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
述.

这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
点,厂商一旦发布新的驱动,更新的话就要重新修改.

我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org

大致介绍一下cdshell:
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
盘基本就是用它或其前身来完成的.

在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!

比如启动一个软盘镜像的命令行是这样的:
diskemu imgfile.img
启动一个光盘引导记录的命令行是这样的:
chain cdrecord.ert
先虚拟软盘再启动光盘引导记录的命令行就是这样:
diskemu imgfile.img noboot
chain cdrecord.ert

就这么简单,具体步骤如下:

这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.

1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
是你要的,不用的可以删除,脚本可以参照下面的范例
6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
7:burn it, have fun!

我的cdshell.ini:
###########################################################################
start:
set c_1 = $textColor #get the default color
here
set c_2 = color
set c_3 = color
set c_4 = color
set c_5 = color

cls
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
\c($c_3)Aug 4th,2004\c($c_1)\n"
print r "\c($c_5)Powered by CDshell.org\c($c_1)"
print "\n"
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
flasher etc)\n"
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
(Linux 2.2.10)\n"
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
RAID floppy emulation\n"
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
RAID floppy emulation\n\n"
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
1st HDD\n\n"
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"

mainkey:
getkey 30 set lastKey = key
if $lastKey == key;then goto ms710cln
if $lastKey == key;then goto ms710std
if $lastKey == key;then goto ms710spr
if $lastKey == key;then goto pc710
if $lastKey == key;then goto toms
if $lastKey == key;then goto xpins
if $lastKey == key;then goto xpinsvia
if $lastKey == key;then goto xpinsintel
if $lastKey == key;then goto floppy
if $lastKey == key;then goto hdd0
if $lastKey == key;then goto exit
goto mainkey

ms710cln:
cls
diskemu images\MS710CLN.IMG
getkey
goto start

ms710std:
cls
diskemu images\MS710STD.IMG
getkey
goto start

ms710spr:
cls
diskemu images\MS710SPR.IMG
getkey
goto start

pc710:
cls
diskemu images\PCDOS710.IMG
getkey
goto start

toms:
cls
diskemu images\tomsrtbt.img
getkey
goto start

xpins:
cls
chain images\MSXPVLK1.etr
getkey
goto start

xpinsvia:
cls
diskemu images\viaRAID.IMA noboot
chain images\MSXPVLK1.etr
getkey
goto start

xpinsintel:
cls
diskemu images\intRAID.IMA noboot
chain images\MSXPVLK1.etr
getkey
goto start

floppy:
cls
boot 0x00
getkey
goto start

hdd0:
cls
boot 0x80
getkey
goto start

exit:
cls
help
end
###########################################################################

我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
来方便,不胜荣幸.


JimmyZ于2004.08.04晨


感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
更加好用更加完善的cdshell
--
Fake Wings
shine , bright morning light , now in the air the spring is coming
sweet blowing wind , singing down the hills and valleys
keep your eyes on me , now we`re on the edge of hell
dear my love , sweet morning light
wait for me you`ve gone much farther , too far
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
※ 来源:·瀚海星云 bbs.ustc.edu.cn·

煎饼 发表于 2005-4-1 00:33:00

http://www.weifeng.cc/sak2000/sata/
页: [1]
查看完整版本: XP安装盘集成SATA驱动的简单方法