下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]
  • TA的每日心情
    奋斗
    前天 11:21
  • 签到天数: 2393 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-1 00:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
    : T# W. i5 T) |% ~: W# ^, q  {# f( qSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装6 K% l9 h2 z1 B8 y. Q# Y! O
    新系统.7 i4 b! f& [5 v1 l5 s9 \! }. u( J

    8 h3 q+ u! g( B* U0 j' h! W4 s1 C这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
    : D6 z9 c) T  ?! e6 e! d' I中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就7 r7 Q' T( G4 L) J8 c
    有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
    . |# \* P& X$ m' r- {8 }述.
    , `  ^2 ]: u/ V+ b0 a" Y; u5 {5 B/ O' @
    这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
    0 k7 J7 i* I  c* j* s+ p  G驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一8 {( E. C  b% g& Y. I; V
    点,厂商一旦发布新的驱动,更新的话就要重新修改.
    ) Q+ Y9 y. c1 h  e6 p6 U' X& g5 h2 N$ Z. [, @
    我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
    , T+ n' R8 A( y& ?. X2 A2 i  g"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工3 C1 f0 z1 G( P* I! A
    具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org4 F  u, q  o: F5 K- B  L9 I

    0 A; P' M/ @0 D; n大致介绍一下cdshell:( z2 [5 j. `! B
    cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell% D( [+ C! |+ w  Z
    的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极( l/ W, n( F1 n. H+ T! u. M
    致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
    5 @4 F9 m# g9 R& disk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
    + e5 ~$ B9 o4 Y7 E6 R* Q+ R! m的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
    ) k. l$ w2 I4 w0 B; h1 m" C盘基本就是用它或其前身来完成的.
    ' q9 Q' c$ T  E' D0 M, q
    & i  r# H; G2 J6 F- k- V& j在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载) ^; {2 h! Y2 Y9 I% J9 N" I2 h  ~; I
    软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!
    , g5 \, t3 P9 @( L: n5 ]( b2 w0 K( ]% ?9 D# y
    比如启动一个软盘镜像的命令行是这样的:
    4 z+ K- c7 w0 _+ Z' ~1 R" {1 fdiskemu imgfile.img* K9 l8 I8 K! m! p3 u8 E
    启动一个光盘引导记录的命令行是这样的:
    " w  i; C+ n: W( u- pchain cdrecord.ert
    7 _1 R3 v+ _: h先虚拟软盘再启动光盘引导记录的命令行就是这样:
    * S: k7 C6 h5 C. b* Rdiskemu imgfile.img noboot
    * B. @1 U& S8 m1 V: L" u0 Hchain cdrecord.ert0 _$ c" ]3 H: B" L1 y3 A

    , @; d+ o5 L8 @) f* V就这么简单,具体步骤如下:" q+ Z9 q. L4 V3 y
    $ W2 @' B+ T* l; }1 K
    这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.: H5 U, L! H( k! v2 a

    . [/ _! L; a3 U  ~1:把XP安装文件拷到D:\temp\XPins(这个你随意)下) X+ Z' l4 }6 d1 |6 D+ o. k" @- j
    2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins" w5 |3 F+ ~2 t- S/ n7 H! x
    3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
    8 F" D& B  o1 x2 p4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
    ; i$ |1 ^8 L% R1 ^6 j/ s5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件6 s* v- A1 ]5 A  x7 M! j, q
    是你要的,不用的可以删除,脚本可以参照下面的范例
    9 u' m! ]9 F3 f8 m) c6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
    9 E$ ~$ u& |% z9 Y4 K4 [  acdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
    & k% |/ l7 u/ N) L4 q! B7:burn it, have fun!7 U9 r9 @0 u0 b2 G+ ?6 W* u+ s( R9 F
    - z) O& s7 }4 N; `0 X* p) j
    我的cdshell.ini:4 x) T- X: Y) f- g; V' V# M: @& ]
    ###########################################################################
    1 b* H* i8 d- c, e* Ystart:0 G; p5 E+ w. S# p/ K
    set c_1 = $textColor #get the default color7 f2 K3 g2 W5 m* z; u( K
    here/ x/ ]/ K* v- x
    set c_2 = color[brightblue on black]3 I0 ~/ Z* p7 r6 t. V
    set c_3 = color[brightgreen on black]6 l, x2 l0 X2 K1 S
    set c_4 = color[brightred on black]
    ; `5 _" A1 E( l' ?  \set c_5 = color[white on black]1 E$ j& O7 I7 B7 X1 z

    & b9 U- G4 K5 f; \& `cls
    $ H. e) S% T! Y( c2 v  ?, jprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
    3 z8 L2 |2 K% q* U& H1 z5 f\c($c_3)Aug 4th,2004\c($c_1)\n"/ v: ?6 u0 e# ?- n) y9 C: E
    print r "\c($c_5)Powered by CDshell.org\c($c_1)"4 y" Y( C- {5 c- Z9 R2 q  X( b
    print "\n"3 X. U# h, _, o. U* H# W
    print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios& a* |/ R! A1 D) {: S
    flasher etc)\n"$ @  j' v% `  P$ M" B0 p) r
    print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"7 V0 s6 Q$ _" x* O3 f
    print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"' h% e2 i7 n$ x2 r9 H9 {
    print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n": g4 U$ a+ k# ?4 a; H) X4 m/ e
    print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
    $ O8 B4 q& V0 I" f(Linux 2.2.10)\n"
    6 w. Z4 v- q2 M# @, m0 l4 t5 Tprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n". k9 u. J- v0 M& |" N
    print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA! Z& C* t& R+ ]% i; {+ A
    RAID floppy emulation\n"
    $ E1 c5 \( c2 s7 A0 I: ]print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
    : t- z% j7 R/ O7 yRAID floppy emulation\n\n"
    . E* ~2 f4 i! m8 v8 yprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
    ' B. s) F7 H5 J' C) E! ?; T7 w1st HDD\n\n"5 w- D5 V' H8 a# }6 ~
    print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt", j3 f% N, D/ m6 H0 f! o' \3 E
    print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
    - W# J! ^% D) D2 {+ s0 \, j7 O1 D" I7 Y, \
    mainkey:
      L  n; _9 F- s, E  b# P/ p, h9 Egetkey 30 set lastKey = key[esc]" x' [0 d1 w( U3 Y, ^% P! y# F
    if $lastKey == key[1];then goto ms710cln# [0 U" `3 X! y! O; n/ W% y; ?( `6 s2 `
    if $lastKey == key[2];then goto ms710std
    # Q  I, v/ Y7 l, D" [& e5 |if $lastKey == key[3];then goto ms710spr
    , Y8 _3 `: c, q: mif $lastKey == key[4];then goto pc710
    9 k. E, Y% Z6 G7 B( q, eif $lastKey == key[5];then goto toms4 I+ Z% x' l" S5 F& Q/ b
    if $lastKey == key[6];then goto xpins
    ; a  s: H3 ?$ P9 X% G3 x/ K* dif $lastKey == key[7];then goto xpinsvia
    5 \3 P0 k5 t, y5 Q* Tif $lastKey == key[8];then goto xpinsintel% t7 c8 q; B  X
    if $lastKey == key[f];then goto floppy
    . e# `5 Y4 H) m0 W0 D  M7 v+ Oif $lastKey == key[esc];then goto hdd0
    . H8 N' H% R; p: K* V( B3 dif $lastKey == key[c];then goto exit
    7 k7 @9 W0 K) p1 V2 N  Z3 o) ngoto mainkey
    # k, @4 B. k* P6 _9 o( v9 h# t
    ms710cln:8 ]! a6 U9 o' d. b$ ^
    cls
    ; S8 I9 V: I6 T' n4 T2 cdiskemu images\MS710CLN.IMG. p# _. v/ |# U* m% b. I) K
    getkey( R0 m) d7 C4 y) ~5 f. C" z
    goto start. i! e/ A& F! v5 _4 M# C
    ' v9 T7 R6 J/ x' |* {
    ms710std:
    ! |7 I: R7 \1 d& j+ L- R/ bcls
    8 Y' q- v" P0 _diskemu images\MS710STD.IMG% Z; K' G: q3 \
    getkey
    + N1 R7 \. T' S4 H* tgoto start. |" e, A* F# r, s7 p
    ) w* `9 y. R, R- A, W5 G6 |3 b0 f/ v
    ms710spr:
    8 b# n1 H+ }* A! f3 ]& u3 Pcls
    % w! g# p* b  d5 Q  adiskemu images\MS710SPR.IMG, M% o" u) i2 v$ t
    getkey
    # J( k) i* f# i) agoto start' Y% D, }. X1 G  G

    ( R- }5 {5 ^2 _- bpc710:+ \7 v: v7 Z- {  i! o
    cls
    1 y' D: b# J6 C# ndiskemu images\PCDOS710.IMG
    4 ]# u: s1 p* ggetkey
    ( s7 n9 S& P' C0 i& U4 Y. B$ Fgoto start6 N- l9 {" G9 v% ^% r3 {+ H

    " h3 A5 B) w1 F9 t/ L9 m0 _toms:
    4 |. p7 J! ^! U- f) `cls
    9 m' S" y# p, N+ vdiskemu images\tomsrtbt.img
    ! O8 b4 U+ W: h# y3 C; q0 Tgetkey+ ^- O! c; ?  R9 D5 X2 K1 P
    goto start+ P- j# N4 j* t( R# p
    ' Z8 k; T4 \# H; q) F  R
    xpins:) R; d) I# M7 p5 a$ m
    cls8 z5 t0 z% ^6 |, K3 e
    chain images\MSXPVLK1.etr, \& [5 c+ K( l( {0 ^; z$ t
    getkey
    - t# M; x8 n/ h; dgoto start0 X9 l) r) R) ^( `# t1 @$ K$ t
    2 u. L" _  w, ]. W" g( I
    xpinsvia:
    4 ], A: H! G* q0 Ecls
    $ x, ]" M2 w7 p7 n8 Cdiskemu images\viaRAID.IMA noboot
    % _8 E$ k( g; L# |4 W1 B1 Rchain images\MSXPVLK1.etr0 W- z/ Q" t, {! b. |
    getkey5 \6 C4 u$ s9 ]1 s* o
    goto start: P- H9 i3 p; e5 N( ~0 `! G/ N& X
    7 p! X8 r) M) o3 E
    xpinsintel:: R3 G$ N: r- f
    cls( E. d- `1 a+ T2 ]
    diskemu images\intRAID.IMA noboot5 R( T7 e: H4 {) l! V  n, K
    chain images\MSXPVLK1.etr8 b- A3 h# z( d# Y
    getkey
      y' j7 \1 S4 @goto start3 d( z7 @* ^( |9 S5 X

    / l. z& q- l: ~: h; cfloppy:* E1 X( Z' @' O6 z
    cls
    6 D7 P7 ^, w& Fboot 0x009 y& E* ~) Y+ L& r
    getkey
    % s6 |: u  r( J! zgoto start; r! O( j+ u: Q9 i( U$ c
    ; M/ s8 \7 V" ?" k
    hdd0:) W5 b: U8 h% T% G' m. a
    cls. B# _" U- ]! a$ h: x. s$ m
    boot 0x80
    2 Z& u- l  J5 Ogetkey  p# K4 d, {# m5 o$ q% {
    goto start
    ! ?; F* m9 Q1 C7 x7 t0 _. @3 O: P3 Y% \% J
    exit:7 w8 C2 o: ?& f3 U8 k  `* ^
    cls' g5 W; }/ c$ D0 d4 E' F0 P1 M
    help: Z3 t# e. T9 H5 B; y
    end
    , S3 R& ]- b  [; R) Z$ M###########################################################################
    + _4 A6 v3 o, a0 i* P, i# B# `! x/ t* i
    我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
    7 @3 ?# Q4 e( z: \! o7 J4 v1 A" D经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
    * {6 o* a- ]) l; i来方便,不胜荣幸.
    4 b/ L3 a9 H8 c  E* \; P8 C; r% b8 B4 ^

    5 v' r1 H3 Y/ {% M8 R: QJimmyZ于2004.08.04晨
    1 l. W* K; x, Z+ C. Q, o2 @, \& ]0 s9 m6 R! T2 B4 X# f

    & M. I' T7 s. |  Z9 X' i: Z感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
    0 M& R) T2 ~! J% {" g更加好用更加完善的cdshell! I3 ^# W2 d# _! C6 T7 W
    --/ T/ V6 ?, B. _& ~" e" X2 y, }
    Fake Wings
    . d, R: j( R5 j& k' H% z8 wshine , bright morning light , now in the air the spring is coming
    ' g- _5 W* g% b8 t6 @: x2 d/ ]sweet blowing wind , singing down the hills and valleys
    ' R. ~7 T5 I! B+ G  a" mkeep your eyes on me , now we`re on the edge of hell8 r3 ]# V/ e8 Q9 M
    dear my love , sweet morning light" P6 d6 t3 \- k
    wait for me you`ve gone much farther , too far
    3 S1 b" u6 H, G6 a8 s. H* Y※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
    * {( \- q" ^% e※ 来源:·瀚海星云 bbs.ustc.edu.cn·
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩
  • TA的每日心情
    奋斗
    前天 11:21
  • 签到天数: 2393 天

    [LV.Master]伴坛终老

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

    本版积分规则

    关闭

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

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