下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]
  • TA的每日心情
    奋斗
    昨天 09:52
  • 签到天数: 2384 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-1 00:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
    1 `! `! ^- R; q$ @3 WSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
    6 w! q5 i8 u) d8 \, Q新系统.
    % F9 I- n& m8 J* Q+ n0 Q
    9 _: [9 B; i8 Z* v- m" h这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
    2 ~2 k* r$ H8 i7 r5 j" U中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就! p/ B9 P8 f) X
    有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘! f8 W( X. E$ K( E3 v: O0 |7 Z
    述.
    , n; ^" ?) G8 L6 H. M) \$ l
    6 l1 r6 ]0 y! I" Z# F4 K这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
    / Z! I0 q, s2 q- M- M( x, I0 w驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一8 a/ a, E! x' V& H& f
    点,厂商一旦发布新的驱动,更新的话就要重新修改.0 T0 n! o+ d( x

    8 K. V$ i; m9 l' T7 C我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的0 x: W1 |" w0 g: \
    "不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工& V' ]+ l# V+ p' g
    具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org, j  m% X# e% g( L, [
    2 f3 M+ r  {. u' d$ Q' V
    大致介绍一下cdshell:# C7 T! i8 @/ k& D! a4 \0 l% X
    cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell; ?0 c, k6 M6 Y
    的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极. D9 V" Y% F' R" q8 Y* h
    致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
    ; z# Q' e! M$ h, Sisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大. |! a7 z3 L, U6 n
    的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
    " N8 ]1 {6 e1 [& t4 H. |, t) {$ |. T& ?4 N盘基本就是用它或其前身来完成的.
    ( Z# H7 U2 J/ V; n$ U3 e* C2 x( s5 A* H) O) L% t& p0 H
    在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载6 u1 X/ e' m3 y
    软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!' S+ z1 E# y1 ~% I
    7 T) z* H7 h+ Y/ O1 ?; Q
    比如启动一个软盘镜像的命令行是这样的:
    9 q/ V, e! w8 z" ^6 Z" O4 @, L% ddiskemu imgfile.img& p5 r/ p' L! t) R
    启动一个光盘引导记录的命令行是这样的:
    6 l! N; w1 G; x" N: Q& Cchain cdrecord.ert( p: i9 W6 W. `$ b2 h+ E
    先虚拟软盘再启动光盘引导记录的命令行就是这样:) p7 i9 z6 L6 ~. B9 n: Q
    diskemu imgfile.img noboot7 [# m$ J4 k; H+ x2 g- ?4 u
    chain cdrecord.ert. c' j8 K" @) I  O* q' h* p6 O5 V

    1 c! b+ ^6 O9 I就这么简单,具体步骤如下:$ N8 }$ b' r4 D/ @! R6 R; f; ]
    : N, f, X1 P  R* R: r2 W% }/ m$ e
    这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.0 H3 l! e; I. t

    7 p/ s4 V- z* @& O& {" U1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
    2 N& F5 w) Y5 Z2 k% l2 K2 T' g2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
    1 Z2 S. ?7 [8 M& p! G3:把D:\temp\XPins\boot下的loader.bin移到D:\temp, y6 v' L, ^( C2 L7 \
    4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
    2 r) P0 P( k2 |( P4 A2 w7 L5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件' Y! w% N! S0 e! Q* S7 V
    是你要的,不用的可以删除,脚本可以参照下面的范例' t7 Y$ P  A: U% p
    6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像  Y8 {- j2 U& Z* q6 J
    cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso6 R1 t3 e- M" J, q: b$ z: [7 w
    7:burn it, have fun!; D3 q% ]! `% K5 a  d

    ' M# |& X9 [% S( v$ Q. S我的cdshell.ini:6 E2 `) z: \# ]% D# z  ]" X* o
    ###########################################################################
    * V8 n. y. n, _start:
    ( i2 U0 p& @- X! \set c_1 = $textColor #get the default color
    & U- i  Y( O% n, u' R2 v, b" Fhere
    : e2 a. q$ \$ _$ D, o5 D; |set c_2 = color[brightblue on black]
    / U4 Z* d- x( K5 Nset c_3 = color[brightgreen on black]& e% t4 o9 C& m
    set c_4 = color[brightred on black]
    9 r8 H8 d( j$ D7 vset c_5 = color[white on black]
    ) |* N7 v8 ?6 a0 J' J
    / p9 c( @) L  W$ `2 F. g) S9 Kcls
    ; c. P8 F8 Q, J, L* S* Lprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
    5 m5 H6 E5 j6 ]9 h9 ?  h\c($c_3)Aug 4th,2004\c($c_1)\n"% b' k6 t) y9 l
    print r "\c($c_5)Powered by CDshell.org\c($c_1)"2 s1 B! k# P: G4 I9 {9 O6 T
    print "\n"8 o, J3 L; O2 d
    print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
    ! |4 ]- Q% A' m4 T2 m0 h( qflasher etc)\n"; q) a0 U: u$ g1 P7 D9 [
    print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
    : U7 v, F9 o$ i! S3 F, Bprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"' v. ]+ P# c( Y0 X% x$ C6 Y
    print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
    3 }6 c- }0 y1 m/ L" _& Cprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition4 L1 E0 l' {( z% Q" T. I
    (Linux 2.2.10)\n"
    ( j1 b" N0 _% r( ^; `print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n": Y0 Y! g. R9 K
    print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
    8 t! d5 _/ \! \( IRAID floppy emulation\n"0 J4 ^; ~+ @! ?! W
    print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel2 L7 {: w, E* k/ u, j4 l, `/ [
    RAID floppy emulation\n\n"- k" Z2 {- Z# r7 I) d2 ^, z
    print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
    9 o6 G/ @7 o) O# e# Z( d9 x1st HDD\n\n"
    : }* w/ n1 j' a; d  Q- wprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"7 q+ D  ]" m. L& R2 y
    print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
    6 R5 E' e( C* c
    ' F% l: z# I9 H% o) a0 x$ Tmainkey:$ O6 Y6 \4 E- D) U, U# p" m* ]
    getkey 30 set lastKey = key[esc]
      T# O" K  n% j! gif $lastKey == key[1];then goto ms710cln
    3 @" S' P; X: K: ^if $lastKey == key[2];then goto ms710std
    6 Z+ Z2 K6 F  Kif $lastKey == key[3];then goto ms710spr
    % L8 h% G& r; }9 nif $lastKey == key[4];then goto pc710
    : W3 ~8 W5 U1 j4 e9 f" s/ N& Q) jif $lastKey == key[5];then goto toms
    3 n% \. I  `5 m) t- Xif $lastKey == key[6];then goto xpins
    , s( [2 e0 j8 `5 O$ f/ K0 wif $lastKey == key[7];then goto xpinsvia
    6 r2 Q- [0 l; G1 ]% hif $lastKey == key[8];then goto xpinsintel" |- E. l1 y) y' i
    if $lastKey == key[f];then goto floppy
    9 g9 e( X! M* X6 iif $lastKey == key[esc];then goto hdd0: s& j* Z3 |0 C# D, w
    if $lastKey == key[c];then goto exit% y2 X) d0 O$ i
    goto mainkey* n2 L# P% ^" e# H8 p1 o* T
    ' A3 |1 w3 Z0 X9 s$ i4 y
    ms710cln:
    & L5 s# k6 A+ m( v) V8 x* Xcls/ E: H4 c9 R. }* g* h4 [% x/ K) P) E
    diskemu images\MS710CLN.IMG& t2 ]6 G- Y# I; c  C( J0 M3 p
    getkey
    ( A' f# U) f1 b& i7 l% ngoto start
    / h0 \" B# B8 E' d! |* k# E! C) z! O& |
    ms710std:
    8 I: }4 ?7 T' M1 @cls# q* _* U! H/ I. M
    diskemu images\MS710STD.IMG
    # i  J- ~# l% j; X, P  mgetkey' R% ~; U, t' [' Y
    goto start
    . ~7 O1 `: m8 K% y
    9 I6 T6 O* R; i; ]ms710spr:
    9 i# K6 e5 ?% P% N, zcls
    6 J2 k# M2 ^# U. n( [, x) w( ^diskemu images\MS710SPR.IMG
    4 J  Z5 p) [5 I. u$ i1 }1 ?getkey
      D: ?+ x6 G- j; L7 c( Tgoto start
    2 Y4 o. R5 y1 e' X- F  H, L, K% ]9 A2 ~2 }# w
    pc710:0 H- q1 f1 m3 S% _2 g4 k: q' P
    cls6 l/ G6 _# H3 F& }- q. `4 X0 w0 h  R
    diskemu images\PCDOS710.IMG1 R* R  b0 M6 B- L/ G
    getkey+ G$ Q1 X; _1 S, q6 F6 x) G
    goto start
      a$ x! ?# Q+ ^  w& G9 G, b- K  G4 `' |( o' [
    toms:
    7 s# z+ a) ]6 K+ H7 Ncls8 n. T' A+ K% a0 L
    diskemu images\tomsrtbt.img
    7 N& T: q. _: ygetkey( w# ?$ S1 y! [8 ^' g; n
    goto start
    4 j4 `# C( b3 c$ H$ g1 z3 D5 G* q8 }5 n: A
    xpins:
    $ m4 g  K1 z, r. w4 U' Bcls
    7 R# }! j5 J3 B( O$ X+ pchain images\MSXPVLK1.etr+ }1 y' O8 Q/ B2 S7 ~$ K
    getkey5 B. L8 m5 i6 D) s( ?% u, ?
    goto start
    ' x  S/ h) e1 s: {; g0 u7 p! V8 [! Y
    xpinsvia:
    4 A* c: ]; P& K. o) Z: t6 [: r7 ocls
      l* B# O+ Z# O$ t; Tdiskemu images\viaRAID.IMA noboot
    0 o, w/ Q, q. ?( E9 Z. w* C6 Xchain images\MSXPVLK1.etr9 {# w: r) j. {/ t) q) b! K
    getkey
    & I1 K+ i: t4 d' H6 a# dgoto start* z. x1 n4 @, V' i; `) n

    9 J; U% E; [0 F( L& Q/ ~$ E+ j6 Dxpinsintel:
    4 r& K( @+ ]) s' D" i% m# ?# h" ecls
    2 s3 N' x; y0 Ddiskemu images\intRAID.IMA noboot, D2 V" T; C" H3 m
    chain images\MSXPVLK1.etr5 V" i( D( K$ U! |, s
    getkey& Z1 M+ b4 k: ?# c8 Z
    goto start( k4 T3 T, ]5 D8 b
      q% G4 Z9 |/ |7 \7 H
    floppy:
    1 u) o5 r; |% ^5 r' @! k: {cls. q9 f, R9 H0 s; Z. @
    boot 0x00
    . Z% h% W: j7 y/ ugetkey
    " H1 g% f" m, Cgoto start4 T( S4 h# h* @3 K

    ) }3 `2 _& T1 f$ ]( ohdd0:
    - S2 ]& v  Q4 K0 k0 h; Qcls/ s$ T- a- a- ?7 I& f7 O
    boot 0x80
    9 C( R* Q+ D+ M# tgetkey
    1 H* k. u- A$ U9 k% ~goto start
    5 B2 N8 ?1 b# H4 O" r
    / ^' F/ z5 R, A$ f* w9 R/ Q: J+ {; ~exit:! J8 E) k2 m9 ^/ L+ E6 Y
    cls' F! ^! Y; @1 \+ ^* K
    help( z* o7 g0 [' r2 S# `/ r
    end% E( B" \! ]+ u% w. E: ]
    ###########################################################################2 E( p6 y' c& T5 I' Z0 W7 w
    9 I# o( h, Q" z- Y
    我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己, P( \. P0 k& g" S/ x( B7 w/ U
    经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带% j* C1 F  C2 b5 U# b
    来方便,不胜荣幸.
    ; ], v2 E( c! D
      \1 [  S8 K1 b, ]  K2 W. R3 L8 P9 _
    JimmyZ于2004.08.04晨
    2 j; |! j% ]/ G9 k
    9 a: k& H+ u# I/ V
    . b* g3 h: l8 d9 Q感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
    0 S3 K' U  T& x0 a8 @. x更加好用更加完善的cdshell# \9 k7 L4 \" U9 L
    --
    2 |" E/ X6 r/ r2 |" t: eFake Wings# B8 O; O: M' w# g/ J% |% ]
    shine , bright morning light , now in the air the spring is coming1 t( y' i7 X" H
    sweet blowing wind , singing down the hills and valleys1 ^2 j; J+ n; |4 S+ D
    keep your eyes on me , now we`re on the edge of hell
    1 N$ Z) l% q& H* y, i/ b$ bdear my love , sweet morning light
    9 ]! H' S: F) V! _3 f3 Q. P& Bwait for me you`ve gone much farther , too far1 d& |! P( g+ e
    ※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·- F' U& t9 B( |2 }. {6 L
    ※ 来源:·瀚海星云 bbs.ustc.edu.cn·
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩
  • TA的每日心情
    奋斗
    昨天 09:52
  • 签到天数: 2384 天

    [LV.Master]伴坛终老

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

    本版积分规则

    关闭

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

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