下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 6736|回复: 1
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    擦汗
    昨天 17:14
  • 签到天数: 2366 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-1 00:31:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
    1 Y' o/ }$ K+ P1 e# E" m0 [& _8 V! s5 @SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装8 ~, r& w6 }/ [9 I7 f! q. W: W
    新系统.2 M0 R  t" ~1 l: G8 o- n
    : x& G8 r" x' c' ]+ r7 }% c
    这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
    ! r' v( j) N% l* U" l, u中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
    6 O# C" k7 \6 Y有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
    % c# L' h: N/ B' X述.. w5 L2 {" \/ ?- Z2 z3 z

    4 \. E" L3 A4 |. @6 _这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA/ J2 J3 P) e4 ]3 }1 ]% c
    驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
    ! ^2 E: J5 x* y  z9 w3 s6 U点,厂商一旦发布新的驱动,更新的话就要重新修改.
    4 U) K2 N) L9 A
    9 u, g" K4 f3 X, |* Z9 y* e$ k我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的( L8 ^# r( y- \/ U! o% K
    "不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工1 S9 f& H# Y' r  d. b
    具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
    # R: x9 w, O, t2 ?/ g+ ?
    3 m, ^* I& P7 h0 K; U2 w大致介绍一下cdshell:
    1 c( x0 C  J( w: U- Pcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
    6 i" R$ Q  {& W- Y8 ~5 k的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
    4 Y9 d) w/ Q' V  ?: R致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd3 h  G" Z* A# i) Q- W
    isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大( D: {8 e5 i' r+ ~) P5 ~& D  V' v
    的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动  |5 y  z( J9 ]- a. G  n
    盘基本就是用它或其前身来完成的.
    + I: z) C+ y) C' W1 e! l3 U+ e' b5 Z8 y& d* k8 e+ Z1 G
    在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载. ~5 ^# K3 u/ X- R  r4 r: M. L
    软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!; C! l8 I, ^) d4 U: E( f
    . {! L) K) z; V, f. r8 T
    比如启动一个软盘镜像的命令行是这样的:
    , {$ d  [/ r: D9 ldiskemu imgfile.img. l* E6 k; t) P* B4 z' K
    启动一个光盘引导记录的命令行是这样的:
    * O1 T" k& |+ _0 xchain cdrecord.ert8 G# w3 \* p: S- k9 R
    先虚拟软盘再启动光盘引导记录的命令行就是这样:# ~; a" g/ i0 ]7 G
    diskemu imgfile.img noboot
    # b( L8 I, I' V! P. `" D  tchain cdrecord.ert
    9 U+ P* `: h7 y. q% _* ]2 e7 B! E! v. D) t9 I+ ~
    就这么简单,具体步骤如下:% B/ u6 y& Z! C0 f* U: c1 U# |5 X

    1 F4 L/ y2 H0 c  [8 ?5 Y4 [1 c# K这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.8 l% \4 M* ?6 P* P! M! n' J

    , o* O  z/ J( K8 J# V4 m1:把XP安装文件拷到D:\temp\XPins(这个你随意)下% M1 g0 y3 s; F/ X( G' C
    2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins% G6 |) x" H0 g. W& |8 A$ Q3 L0 |
    3:把D:\temp\XPins\boot下的loader.bin移到D:\temp" g+ @* n0 `* n5 Q; o  }
    4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
    , p4 z' y/ g4 R( x5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
    0 p- A: G( J* P& P# k是你要的,不用的可以删除,脚本可以参照下面的范例
    * w" r& f, d. U# Z6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
    6 _3 Z' P2 ~" [5 N  O: r9 A2 mcdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso% r8 x* ~( u$ e, c
    7:burn it, have fun!/ F, B! c% I3 E* J& ~# Y; E/ G
    $ j# W) }; u" q! U( o, f
    我的cdshell.ini:2 y8 ~( r- f* L
    ###########################################################################
    6 s/ I! i- o! @2 [  `+ s! G- }! _start:
    ! m: A. S" |: M' Qset c_1 = $textColor #get the default color) T3 C2 [6 n, \9 v2 ^
    here: k7 c9 J" z; h2 F4 H" C3 Y
    set c_2 = color[brightblue on black]
    ! i+ V; t! `+ ?set c_3 = color[brightgreen on black]
    5 c3 y1 A& H* P- Aset c_4 = color[brightred on black]: Q  [9 X% P; D( T
    set c_5 = color[white on black]
      X  y# V4 P2 d, p+ T9 E! l1 j) X4 \" [$ Y" m% x
    cls# ~8 {5 I) m3 A! F6 {* U: M) [
    print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version. z! j% O& I2 I  q# k
    \c($c_3)Aug 4th,2004\c($c_1)\n"
    1 ^4 m! s$ G. }- f( @print r "\c($c_5)Powered by CDshell.org\c($c_1)"$ m9 L4 J* M# Y) o& D' ]' _' V
    print "\n"0 Q% p5 z" [2 M1 p( c! D9 l2 S
    print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios; P5 ^! d6 S4 p; L- w, q. L$ e
    flasher etc)\n"
    5 K+ ^& r0 o/ M' w- A  ]# A. Kprint l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
    2 V/ Z- i1 |; U+ J! bprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
    & \& J. O+ L/ a1 ?4 e$ X7 N( x; Wprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
    * u8 g; G: q3 P  oprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
    4 z7 E/ o- N# r9 H(Linux 2.2.10)\n"
    . o1 ?+ r3 g9 _  z6 \print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
    ' d) F5 a9 h0 m/ {0 A# Gprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
    7 I& u/ E% B, @0 L6 K& vRAID floppy emulation\n"8 r2 w4 Q' S' X# o9 `$ G" Z# k
    print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
    - D7 p/ f- @+ C/ A7 K% jRAID floppy emulation\n\n"( E2 K1 i# t+ J% \8 {' j4 c
    print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot! n! O' o" y+ F/ o! U5 T, a
    1st HDD\n\n"* u: l- n3 ?% f9 w1 O" O- F6 f- s' R
    print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
      X7 K$ E* U$ g4 Hprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
    " K: Y5 O  E) A  Z; a& f2 }( g% h7 j* f$ V4 O/ u
    mainkey:
    7 d4 W/ D; @! B0 h3 k; x( egetkey 30 set lastKey = key[esc]
    ! x' l0 W' }- U5 Gif $lastKey == key[1];then goto ms710cln
    0 s6 i( L0 {/ j3 t+ c1 ]if $lastKey == key[2];then goto ms710std& Z+ ~6 d* v* Q3 ^" X& t  _
    if $lastKey == key[3];then goto ms710spr4 [! u) \* v  y6 }" k
    if $lastKey == key[4];then goto pc710+ j6 m4 y, {: u8 |
    if $lastKey == key[5];then goto toms
    6 m6 a  l. S5 p2 b6 p9 u, Fif $lastKey == key[6];then goto xpins
    * G/ l! P" H) k% X7 ~, Z- sif $lastKey == key[7];then goto xpinsvia9 D+ s9 }! }% Z( G+ b* K
    if $lastKey == key[8];then goto xpinsintel
    7 k5 ]* J1 D5 C  [$ Rif $lastKey == key[f];then goto floppy* h- y0 N9 {7 S3 x6 w7 @) y
    if $lastKey == key[esc];then goto hdd0
    * H9 e) X4 E/ u$ ?' mif $lastKey == key[c];then goto exit
    ( M3 ]- X5 ~( W# Y/ `. B, ~goto mainkey
    , v% {" @- u$ a0 c
    2 n9 W7 l+ a) h2 gms710cln:
    1 D' P; D' A. \& Ecls
    4 A9 x! Y: ?) q  @. b9 D/ ydiskemu images\MS710CLN.IMG
    6 W/ A- n2 u: B" G. b1 a% h* P" rgetkey
    $ Z4 L1 a5 f  A# X( L& d- Jgoto start9 U; B9 B1 U' w

    9 A' ~$ e4 |' D, [( m, e& \4 \+ R4 a5 l6 lms710std:
    / k1 U6 Y! H  Mcls
    3 ]0 f! Z2 d: w  Odiskemu images\MS710STD.IMG
    " k2 |4 a, W) e9 }0 K; ~4 f$ ggetkey
    ' E8 j6 ~7 C6 i* u' ~' ^! Bgoto start
    , }2 G3 r& q9 s9 L1 w
    : j0 k% L7 U9 ]" @; e; [ms710spr:
    1 X* e6 z# s3 G; X( `: Lcls& H' T/ |* Z$ ~- b& j1 j
    diskemu images\MS710SPR.IMG
    " \9 u$ i2 ?3 H8 ggetkey' N5 ?$ E* w2 f' w
    goto start
    - y" K7 a; g$ }
    & }. z2 X/ y  R+ D) U% ?+ U" ~pc710:
    ( _1 h  J8 t% Y! k# D" n# {2 |cls, s  D  j: L0 g( z
    diskemu images\PCDOS710.IMG6 K3 e3 v0 x2 a0 c* Z( W
    getkey4 F9 |# y8 q* f( F7 h9 t7 |+ q3 f
    goto start' z% \# a4 ?, _2 h) `* o: Q# l
    7 h$ P& b8 N8 r
    toms:1 v$ @6 y2 i$ @( {. n
    cls
    9 g. |) a4 B8 n2 fdiskemu images\tomsrtbt.img
    ! j8 ]: j# |& ?getkey
    + K+ R8 ]8 X8 Egoto start
    " @7 \' v% i" q. T) V! E; U" J' ?1 [" N
    xpins:% A- @5 r! H5 h: R6 K2 j: f
    cls# F  n! F3 O4 d! G$ L' r
    chain images\MSXPVLK1.etr& R7 ]2 g. m7 b* ~- _8 z
    getkey
    2 O' X4 `; D4 l0 Z( Dgoto start
    $ C$ E: D$ G; X' f$ X5 ]4 g% p: p3 |, }- O
    xpinsvia:  r% T9 s! Z6 `. u) Z* f1 d
    cls; F4 N/ {; |7 A  n6 u) W  k
    diskemu images\viaRAID.IMA noboot
    1 B! ^# B  Y. p5 l, zchain images\MSXPVLK1.etr4 u* x- }3 c4 p  S; e  b
    getkey- L& |! q2 N/ o; H1 Q% i
    goto start
    4 N% F3 K3 ?2 _# f4 n( y  n1 ^, _: z* L
    xpinsintel:
    9 H# w2 I$ \& o) K7 ^cls; Z. e; X5 T0 y
    diskemu images\intRAID.IMA noboot; {( ^1 I) b3 R0 `% T; x
    chain images\MSXPVLK1.etr
    * M/ u/ i' a8 m! c& G$ @+ Wgetkey
    9 E! g# h) u+ |! qgoto start
    ; t% a9 k/ r+ x! F! O
    * k3 S, j9 _5 x3 n( V) d0 kfloppy:2 V1 u$ z0 w( r- U. a8 a
    cls
    # t. F& b& \4 t+ sboot 0x007 A/ T- R5 w% Q: X9 n
    getkey
    % a0 M+ Q- H! z0 |$ b6 qgoto start
    ) Q4 [8 r4 ~7 l5 Z( e! J" b
    1 a0 v; T* a( x6 _hdd0:
    ) u. o* o; L' S; X. l7 C6 gcls
      J8 \1 p% P# z4 fboot 0x80
    % r( M% a* }. V/ Tgetkey7 R+ m5 Q+ a* d) {
    goto start
    ) V/ _8 l6 {, i7 |$ [# `8 R0 j& T' V; }( T
    exit:
    7 L9 _6 U3 ?* C, P+ k' Y+ t. Lcls
    7 ]* N  n: J5 Zhelp
    + m/ a$ a$ H# c$ K, n+ C" \& Dend
    / n2 _7 b' _. l* }0 d  y###########################################################################
    ; b& B* [) |1 y: j0 U" U  `+ ]. ^9 Y' [, ]& k: y
    我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
    + ]- q% i$ f, m' ~% b经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带2 D8 ?% o+ f! M. N, O/ R* t
    来方便,不胜荣幸.
    ( u$ L9 B6 L" h) h* h' Z) q3 _; i
    ! Z& Y- {& W7 X2 H# V  b& w; j+ U/ ^# C5 _) F2 |) f
    JimmyZ于2004.08.04晨+ Q6 X* S" z0 i" ~, [
    / a+ h; ?2 ^% V- d, r, h

    " a" E" [1 B  C, t感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
    5 `; B0 _: z3 E, |6 C更加好用更加完善的cdshell
    ' \/ |) M( l# O  Y+ l: V--
    & x5 l# b) W$ {; q- p; fFake Wings0 f4 Z3 \9 n" o/ z/ W
    shine , bright morning light , now in the air the spring is coming. m  S6 H+ F8 ~8 E& `( i
    sweet blowing wind , singing down the hills and valleys3 p2 k6 y! B+ Q$ }" P; W6 d7 O/ p! D- X
    keep your eyes on me , now we`re on the edge of hell
    ; u' C* U/ n/ y+ Z( Z- ~# ]dear my love , sweet morning light
    & z' i6 @3 Y+ J1 X& |9 }wait for me you`ve gone much farther , too far; {' L6 ~- j, K- c7 _6 T9 I
    ※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·4 q0 \- G1 [+ O$ `9 `- l- ~$ p
    ※ 来源:·瀚海星云 bbs.ustc.edu.cn·
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩 转发到微博
  • TA的每日心情
    擦汗
    昨天 17:14
  • 签到天数: 2366 天

    [LV.Master]伴坛终老

    2
     楼主| 发表于 2005-4-1 00:33:00 | 只看该作者
    http://www.weifeng.cc/sak2000/sata/
    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表