下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 2402 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-1 00:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把. f' X* K8 B; H# N# D& u
    SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
    7 q! A7 b' \* ~/ U新系统.
    ! i& G2 B; |# k# L( p
    * d  d+ ^* I: F1 R这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
    . m/ ~" l3 w" a+ T中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
    3 o$ ]4 G4 N4 ?) I- m  b有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘9 x* A2 E3 s+ v4 z
    述.5 v) J, C$ \8 @* h; I- T: E3 x

    3 r8 }' Y* j3 y3 R* H4 f/ L这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
      q8 b: B4 f- a" O2 u$ }9 [+ G% |驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
    5 p0 P+ k- o7 ?, n点,厂商一旦发布新的驱动,更新的话就要重新修改.
    ( l( t! E2 r; }: u0 Q$ }
    + @8 K$ a1 V9 ]我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
    & U! t6 l! u% Q7 u6 ~9 n"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工) f4 Q2 e7 h+ i! m# x
    具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
    # R% \  k. g  j7 b  s* E9 Y" @( m- [- D: q; x% G" c( U
    大致介绍一下cdshell:- X1 G  k" e( l6 L: t: d
    cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
    9 o; {4 ]: E1 t3 G. x的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极: V  O# G9 c/ I. @; I6 P
    致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd9 t" t& V( J8 v; ~: D
    isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
    ( S$ ~2 |; D5 [6 V$ ?的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
    * I' e8 Q5 y4 e& h$ W4 G7 e( B( M盘基本就是用它或其前身来完成的.+ u" n+ a# S+ W- Z1 ~. D& T" J
    " i6 \! }6 A8 F
    在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
    / l8 ~$ }9 \( d3 K- J软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!: v7 G, X/ l) @8 \$ S

    * I! O1 V4 ~( L# {比如启动一个软盘镜像的命令行是这样的:2 F) d: X! O& g3 C' y3 E5 n
    diskemu imgfile.img
    ' T8 f% u/ H( |$ V( E启动一个光盘引导记录的命令行是这样的:  f% c/ D; J- y6 O7 c1 S/ l8 P
    chain cdrecord.ert# m& g# E2 r; Q" ?! I
    先虚拟软盘再启动光盘引导记录的命令行就是这样:
    , M1 m; {- w$ q+ e2 Qdiskemu imgfile.img noboot4 s, I- c% y5 \& P" G9 h
    chain cdrecord.ert
    ) P# p' e% \0 C" M
    9 p( W7 u/ {. m8 n就这么简单,具体步骤如下:2 M0 m: b/ i, {2 Z9 R
    : ^( ]7 c1 n8 ?: Z, Q$ @
    这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.' X% s( R) n4 ^

    5 n' j. ^" G9 ^7 |3 i- i) j& f) K1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
    ; p4 L4 b, n/ X% q8 D) C2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
    ! M. A) h- e, a( ?! Z5 i) f3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
    ' x7 v. m+ E6 I/ m5 Q+ [+ y4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
    4 p0 _: Z! z% P. u5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
    . [9 ~' @1 p  }, ~4 p是你要的,不用的可以删除,脚本可以参照下面的范例0 M# W- x3 q6 J1 H
    6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
    * w% B: C7 A  i- m5 X/ Icdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso0 V# K. z& W9 U. g2 }- `) A
    7:burn it, have fun!
    # u* m% j  x4 F8 X: p2 W7 i: s. D
    我的cdshell.ini:
    7 N+ Z) @. R6 Q###########################################################################9 `$ h: {- Q2 ^# }; Y6 ^$ X+ w# i
    start:
    / d! Z* W4 H( k) I- \+ Dset c_1 = $textColor #get the default color( l. u  L. a0 {: N3 t
    here
    1 K9 a3 k0 H0 J: Yset c_2 = color[brightblue on black]
    , [8 x9 r. A/ Q0 f( I' Kset c_3 = color[brightgreen on black]
    + M% N9 {1 a7 X: R2 |# t3 K2 Qset c_4 = color[brightred on black]
    " T* X) e2 N2 L7 d% d2 P  hset c_5 = color[white on black]
    ( O; c* h& [) V! y& c3 a5 w$ D; B" T3 z3 F
    cls
    - B6 m( @4 p5 A% W2 h. t# Tprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version% p! p0 g( {. \3 A/ v3 w" U
    \c($c_3)Aug 4th,2004\c($c_1)\n"; ?  f# t! M9 x) x' Z
    print r "\c($c_5)Powered by CDshell.org\c($c_1)"* w% q, N1 a; i' Q' [# _0 _3 \9 }
    print "\n"& y) Z- v& O  g2 n, m: R/ F
    print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios  w# y6 H6 i1 ]& q
    flasher etc)\n"
    4 j1 Z: `2 z) c$ rprint l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n") \4 E  ?% X: o9 M! O9 y$ \; L! y
    print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
    * p7 }; [  N; i" i5 Cprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"' O* \: b! D" K5 g9 h
    print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
    : I* E/ t* \; s0 j; \% a* \(Linux 2.2.10)\n"0 G3 N! d4 d! K) ]7 d
    print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"4 j( f& J8 |+ |( A, O) p
    print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA+ A1 P7 m5 r+ c1 B
    RAID floppy emulation\n"
      E. ^( t3 O7 D3 v: ?! Hprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel) I; g: ^, u2 i/ K; o( E0 T* Y
    RAID floppy emulation\n\n"
    " h6 Q3 c. q2 s: R4 j- P4 Kprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
    8 H: M9 l4 l4 s& Z# p; V1st HDD\n\n"
    - t  G7 F; O! P( D6 N" G- vprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
    ) {+ A4 O5 y1 g8 E3 b4 n, R. @print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)") F. j1 U# n! c' O$ W1 {( I
    " x4 I. Y( u6 |% I- P+ i! Q
    mainkey:/ X/ g( M; W1 i1 w  t
    getkey 30 set lastKey = key[esc]
    $ H. c" O* n* |# h( j5 j8 n" Eif $lastKey == key[1];then goto ms710cln1 {; t9 U0 y: H+ U* o3 t% d
    if $lastKey == key[2];then goto ms710std$ n# n6 L. q! }
    if $lastKey == key[3];then goto ms710spr5 w+ \8 z1 b. V
    if $lastKey == key[4];then goto pc710
    + o2 j& Q' q- X9 @& Uif $lastKey == key[5];then goto toms0 z4 O+ a$ [" u' p# c; {( P* o
    if $lastKey == key[6];then goto xpins" d# p; F9 @, ]& q& g
    if $lastKey == key[7];then goto xpinsvia
    5 c2 E7 `- w" }% K9 Zif $lastKey == key[8];then goto xpinsintel) c; n4 G" g% N% \+ P1 S1 M
    if $lastKey == key[f];then goto floppy
    * ^; n) W) N# n/ X  M7 o; |if $lastKey == key[esc];then goto hdd0
    1 y8 Z* L; V" g5 B1 L" a/ ^if $lastKey == key[c];then goto exit
    9 y4 e- H+ O, x5 l+ pgoto mainkey4 w8 n9 d; v* ]* |2 m
    . c  `" e7 _5 ~* U& ?2 E" W
    ms710cln:
    ( u8 d7 V4 }3 v; ?$ `7 tcls
    0 W* i% t5 ~8 Y  d+ bdiskemu images\MS710CLN.IMG6 [+ b8 I) c# X) t: E1 v' u. k* O
    getkey
    6 X  E. d! n6 [+ Y5 {goto start& ^6 {7 h0 k* k$ u
    0 }# X* L, H! v2 S
    ms710std:
    2 w2 m& ?+ j3 l( {- \/ Ncls4 Y/ z- s) M6 V
    diskemu images\MS710STD.IMG
    & J& F( ~: ]: i; Vgetkey* |  d2 R: U) j0 f
    goto start
    3 I, Z/ k  [" x$ I& o+ i
    3 v8 d0 X4 S" [1 Z4 [ms710spr:
    ' _. U' ]! {# s- |& [9 q( w2 Mcls
    8 Z2 V% }# K/ q1 x- g# zdiskemu images\MS710SPR.IMG9 F7 x& h! s6 J9 ~
    getkey
    ( |4 Y  ~" b  }. d% y5 X$ Igoto start( @2 {$ c& N) P  W5 _2 H. K

    ) y) N% B$ ^. W6 C2 z4 [+ wpc710:
    : O8 c( @, A: c5 R4 {5 q% \3 Fcls7 a  a5 N& w( u9 ^) G5 V
    diskemu images\PCDOS710.IMG
    6 r0 c! h9 }. b3 _6 tgetkey
      l& F5 z9 c8 f9 R  ~2 I) tgoto start6 ?3 Z# l9 Q% F. L1 p

    # f% }  n% {) x' b( f& Otoms:
    8 A9 @% R/ c' l/ w/ R. j; B' t1 qcls
    * L8 c6 ^1 }2 o: C& \" T0 G3 a7 udiskemu images\tomsrtbt.img
    ( L2 Y9 `" }, f$ [' Y* O$ W/ z; ugetkey
    $ F8 P  E  N) S" j) q# B5 W' Agoto start" ]# n+ C/ a5 F$ a- m
    : ]8 ~$ [9 w& c3 j1 J
    xpins:
    . ^% P" N* g; ^cls/ {# w$ ~# z- r( g! ~
    chain images\MSXPVLK1.etr8 n7 d. Q$ E. J; i3 w; q& s- g4 k
    getkey
    * N  X4 |& _) P$ [  v2 wgoto start( x6 \/ o1 i0 ?6 W0 s

    ! S9 ?% E1 A: d2 ~" |xpinsvia:
    , L9 _) ^4 n' A' A. n8 n: `8 ncls* Y# ?+ x( C2 n9 p3 s: H. _# u. F
    diskemu images\viaRAID.IMA noboot2 d* s$ q, V8 E+ D  L
    chain images\MSXPVLK1.etr
    6 G8 Y# f3 B& jgetkey: ~" o8 q5 J1 T/ X" Q7 R6 n  |2 w
    goto start( O1 J9 l! f# }8 ^8 e2 X

    ( x) k% J  B' R5 W) D3 K; Hxpinsintel:
    " i3 `' {! T- l* Bcls
    ) B& x8 j( J8 D; Q1 rdiskemu images\intRAID.IMA noboot
    + z: R# N$ p' k& kchain images\MSXPVLK1.etr4 l1 }' q; A+ n- x
    getkey7 t, V. @' G1 [- K; P1 ?% T1 ]
    goto start  L! A; `) e  P7 T9 Y

    8 F. b( Y) {/ q  }floppy:
    # X( l- T2 m' Q, W; Mcls
    5 ?3 o4 D: ~$ d9 P5 w8 {3 iboot 0x00
    ' v+ Y  Z, ^, M0 F8 i5 ]( Kgetkey; W/ r! {& t3 G( L1 R! P3 ]5 _$ v
    goto start3 n! p3 ]  C3 R" H0 t9 x$ _
    . l% G, y( Z1 d
    hdd0:
    , y) h8 q) b: U8 a/ L9 ccls
    % {4 ]) s8 q( I% Y! \: N& Kboot 0x80
    : ^2 o6 c) v' r6 m. f" rgetkey
    # m- c8 ]; S! g: a, ggoto start
      B7 `2 w/ P( V# D7 }  b
    8 J/ T2 T0 S: j0 h( n' j' w- @8 k4 Xexit:
    8 j+ s  N0 c& d$ }cls% z, A7 P7 q( W1 J) H
    help: y0 z1 |: ~" r- S8 ?
    end; Z6 x7 t% Z* T4 z4 j' N, i9 ?
    ###########################################################################% \& B( j! p" J7 e  Y: s4 g
    4 A8 o) u% t3 s  o3 ~
    我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己+ c2 K9 ~6 S# ?6 {0 i' m; d
    经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
    0 \- M- m5 S& X6 n4 M" [来方便,不胜荣幸.! r, H  B& W$ m, N
    ) ^5 i: |$ L! I0 z* r1 W

    - \! n% i9 e3 h1 l4 ^JimmyZ于2004.08.04晨
    ) T. o  q+ y7 v1 g$ O7 U  ~2 S1 D/ w2 ~* }
      @) i% k$ f6 U
    感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的0 n; R9 Y0 N. r, I7 m) J: A* M! N
    更加好用更加完善的cdshell- `- p8 f2 L0 l( B$ k2 C5 P) z
    --
    $ S9 r( B: s9 g) A& {Fake Wings
    5 N! ]7 n+ k8 T! t" J  |2 g" Qshine , bright morning light , now in the air the spring is coming
    & Z% {, l$ R; D* y% Y% \( q2 csweet blowing wind , singing down the hills and valleys
    & J' [/ S0 _2 }2 I$ Fkeep your eyes on me , now we`re on the edge of hell
    / Y  J' F9 C) m  _$ M7 F! rdear my love , sweet morning light
    ; U' _3 ?! ^" @& Gwait for me you`ve gone much farther , too far
    1 i8 z5 L. g- t2 `# _※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
    ) e3 `7 V- Y1 x7 O※ 来源:·瀚海星云 bbs.ustc.edu.cn·
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 2402 天

    [LV.Master]伴坛终老

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

    本版积分规则

    关闭

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

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