下沙论坛

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

QQ登录

QQ登录

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

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

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

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-1 00:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把. e/ L) M1 G% ?" T: |
    SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装6 a$ P7 ]5 ^$ [1 m  r0 R  b
    新系统.6 j* v6 |8 s; H( J. p
    ! D* h% T% q- M2 D& S: m: m
    这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘9 h% ?& `1 N6 ~  ]
    中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就- F4 ?- I% v) q* _
    有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
      b4 H) E' Z0 n9 ]! G0 q述.* C+ v7 G% o& ?

    , f6 Q8 V8 `" g9 ]0 H5 j这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
    ) [. P, z* O& p3 {) O驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一$ ]  O* G7 p& g# |  Q1 x
    点,厂商一旦发布新的驱动,更新的话就要重新修改.
    $ n2 \5 W" e/ `5 x, h' n( k5 k; N0 j5 q1 X0 K$ h# F; t, P
    我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
    3 q7 ?. {# u* E8 m"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
    # L" |  K0 l' W  s# k" K具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
    " N  q6 o" }3 w# q' ?6 U
    . D  j! q% J' S" r大致介绍一下cdshell:
    + v& ]8 C4 ~* C9 }2 }: e2 A& Ncdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell( F0 K* `) ~( o6 ]5 u
    的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
    ) Q: N+ d6 e( g- u5 U致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd. C0 f& U" K0 O1 q  g
    isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大$ p+ ]5 R; e5 \+ ]2 P6 a) ~
    的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动; \/ f0 H, d7 z, z5 y: L0 z
    盘基本就是用它或其前身来完成的.: l) s% }: K- M0 R

      g0 K9 Y! V  q: `$ \在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
    7 p' W; |: \5 Z# Z/ Y% {# h+ a软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!( |- \0 w. d$ g+ D* N' c: G
    3 o2 L9 _3 ^+ f
    比如启动一个软盘镜像的命令行是这样的:
    2 ]! X3 \* m: w6 Mdiskemu imgfile.img
    % s6 o- h$ w2 ?4 h$ y" f3 N7 K) Y启动一个光盘引导记录的命令行是这样的:+ ~- H; {% ]9 d6 k
    chain cdrecord.ert
    4 E2 g6 P! M4 g( d先虚拟软盘再启动光盘引导记录的命令行就是这样:
    9 h0 L3 h; ~  v9 x$ \diskemu imgfile.img noboot
    ; |% ?, ~# h; }chain cdrecord.ert' n. U) h# Q! z
    1 _! ^+ [9 i! X( x" o; e* _) r7 M  W
    就这么简单,具体步骤如下:" H2 e; f3 _5 {

    ( u: q, F- w+ r9 `" B" p. G& K这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.$ Z5 Q: B8 }! {

    ) |/ i6 X! t, c1 k# Q1:把XP安装文件拷到D:\temp\XPins(这个你随意)下" M! q) n: n" @3 a( H
    2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
    / V5 }* x6 V" {# E  o2 g2 F3:把D:\temp\XPins\boot下的loader.bin移到D:\temp( @, |6 H! ]1 j
    4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
    - H: \& q( E! U3 p5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
    , G# |2 R4 }# N$ E1 I是你要的,不用的可以删除,脚本可以参照下面的范例
    7 y9 H) A; k% p8 P% y' }5 q+ I6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像" i- k# \9 F7 D- y
    cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
      ~. i1 J, x- @- P, e% X% n7:burn it, have fun!- Q, w% [) h" ]! w9 p1 j$ e- s) o
    , t% q1 K2 Q2 }9 [/ S- q4 P
    我的cdshell.ini:- L1 G0 t5 q; U4 k( t8 T
    ###########################################################################
    9 _4 U0 w, i6 O/ z0 t( Lstart:
    - I6 |1 R; E! v/ F% B( \1 A, Gset c_1 = $textColor #get the default color* ?, c! f! v! @  p8 C, ]5 g
    here0 }& f- Y- ~1 m/ k8 F% J% O
    set c_2 = color[brightblue on black]
    0 D0 `2 c$ U6 Y! V/ T3 O8 vset c_3 = color[brightgreen on black]
    9 w9 X) w$ ]0 A$ Z* Z) tset c_4 = color[brightred on black]* V; H' \, ?3 ~7 j
    set c_5 = color[white on black]
    3 Q+ d* {, h) x$ f  u# E8 u: _4 U1 `3 b  t
    cls( R5 P6 u! Z! w
    print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
    $ v# k; @* e) W% \" s8 l9 _\c($c_3)Aug 4th,2004\c($c_1)\n"9 `, u6 q. U/ h% h) k4 I
    print r "\c($c_5)Powered by CDshell.org\c($c_1)"
    5 Z3 ]; ~9 K/ s/ zprint "\n"
    0 w; d4 b! j3 A. z8 ]print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
    ' D- O" F2 e. Y  b; l2 X/ Fflasher etc)\n"
    % e/ J+ q7 x4 }: f$ p  [print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"& m( ^: a, p. H- p! x4 d2 z
    print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"0 \$ N0 N: C9 }' ]# P6 |4 e$ M* G$ U
    print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n". K+ Q0 E4 \* o, U; z
    print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
    4 O: J: I  @5 ~(Linux 2.2.10)\n"
    1 Z1 n5 v) B0 p6 N$ i& bprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
    : _; d  n, j! \* h& kprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA% e( ~4 g! m: s# Z
    RAID floppy emulation\n"
    : t) \( `" Y" v$ h4 q( uprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel$ E0 }( H4 c' K2 a$ L  J
    RAID floppy emulation\n\n"
    & g# [6 W  E! d8 s! kprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot, K; u$ L( [1 R0 n6 i
    1st HDD\n\n"5 e/ M) m% {  F+ B. z% l
    print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
      h% i3 V! X8 l4 d0 r1 W1 \4 kprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"$ h$ X* T; `( P+ B8 ]

    ( [/ x1 J: n# |4 E8 z  [* Emainkey:
    ! X) {" C1 d0 ugetkey 30 set lastKey = key[esc]
    2 L. G' P9 F' [if $lastKey == key[1];then goto ms710cln
    * e8 M- k% h1 |3 [# s: w$ }& Fif $lastKey == key[2];then goto ms710std
    ' L  T  K" v/ P9 D$ Tif $lastKey == key[3];then goto ms710spr
    ! X$ h4 ~% ^8 u( I( q; ~if $lastKey == key[4];then goto pc7106 y' M8 b+ [* z# s1 d) C& z2 W
    if $lastKey == key[5];then goto toms: |- d8 {* K; O& e8 |& ?# O. I
    if $lastKey == key[6];then goto xpins7 r7 R: b! o  v* ]
    if $lastKey == key[7];then goto xpinsvia
    5 D, s% W. U: \. rif $lastKey == key[8];then goto xpinsintel
    * ]7 D: n! V% l- I4 Y. Z! z; ]1 iif $lastKey == key[f];then goto floppy  X* F+ V/ p- W$ q
    if $lastKey == key[esc];then goto hdd0# x5 L) d0 @' q3 V$ I$ \! P
    if $lastKey == key[c];then goto exit
    3 o* n+ @# i) O" h. R" v0 jgoto mainkey
    5 m! X$ N: g& r! J7 B
    0 v8 W6 d) _+ m0 D( [ms710cln:1 B+ @2 Z& H1 O8 ?8 G! \# K" h
    cls6 f6 y! c9 q4 a' y
    diskemu images\MS710CLN.IMG
    ' _% U2 G8 m' ngetkey. u. {" h# H# \/ @& c
    goto start
    * l$ {% o0 L* U7 S* k# q2 N, v  j
    : B" T: z0 w. C9 Cms710std:7 L1 M% `% @4 g/ P
    cls
    . R: k, m) N1 {- S3 _" n. l; Qdiskemu images\MS710STD.IMG8 o  B. X$ ?7 N2 D: c) q& F
    getkey) r, q3 l. Q6 ~
    goto start9 h, b( r7 X; ^3 @( ^7 c

    . H/ V4 l' k( z8 s" h* u' Gms710spr:4 A: J+ j# o$ R; y4 n& n# G
    cls
    0 g$ ~! o2 m  I  k4 Tdiskemu images\MS710SPR.IMG- z2 j  G- H- C2 c$ ~) |" ^
    getkey
    " @! Z) f3 X5 Qgoto start% ^$ x) s* ?" T3 Z6 i
    2 o. x" x& m" g' R
    pc710:7 `* A6 f7 l  u, B7 Y( S# c
    cls; |: k7 l1 N7 w5 I
    diskemu images\PCDOS710.IMG
    - p5 `* m# w1 f2 s/ zgetkey
    0 Q$ J1 }) ~1 e. Ygoto start( ]( ^; l' b* ^! S- U

    . ]" d+ p4 v4 @6 N2 {4 h3 j- o9 otoms:
    4 E% {9 z3 J0 P  X, J7 Wcls$ D. ^8 f1 A- x. l9 {
    diskemu images\tomsrtbt.img
      O) C( v0 z1 B# H! s- o" N9 |: x" pgetkey' v/ \$ J3 W, A/ h5 @; Q
    goto start
    ! \# B0 Y8 z& R. L5 `1 o2 D# m: ^$ Y( e6 P% x" P7 j
    xpins:+ l- z9 i2 Y" Y! ]' p
    cls8 i! s9 V) w: I
    chain images\MSXPVLK1.etr) `4 U8 ]- F2 \3 k
    getkey
    ! P' W. u6 f, k% l% p% Fgoto start) J  G# K7 A3 ]6 ^4 b' C

    0 O' Q  X. W/ P) expinsvia:
    $ w& _1 }) O' K/ }6 Jcls' @5 c. I4 V2 F* K* }1 G( m
    diskemu images\viaRAID.IMA noboot
    % v) m* t' e0 r( |& G% C, U) S0 i, W0 nchain images\MSXPVLK1.etr: ^  J# O% p% w7 N+ [* J
    getkey
    ' b7 [1 @) [8 U% V# x7 ~goto start# _7 n3 F8 P* a- a
    6 ~5 G1 m: F( U( {6 F9 c
    xpinsintel:
    ( a* W& B$ p( r9 T" ecls0 U; v; Z5 \2 j( e  N! A. i/ ?$ F$ l
    diskemu images\intRAID.IMA noboot6 W6 M" Y$ }; B  N8 w+ D
    chain images\MSXPVLK1.etr
    1 k& T1 S* F, x/ d) f. E6 Ngetkey1 T6 H; z" b* |8 M
    goto start, j4 {% e: U2 m; `; H8 U
    6 h& o, l- t$ Q! d6 j
    floppy:
    2 M  `2 B- `' V/ C, ucls
    1 _/ ?: D- ~! G. q, }5 E7 Jboot 0x00
    & |# T9 @6 v+ _7 o$ bgetkey
    & f/ {3 ]+ B1 o* C6 Hgoto start
    + T0 g$ m& x, z' S& M! T7 |
    . S' X3 r9 K& @' g5 j4 z% Q; {hdd0:
    / T/ W8 @5 U. @9 @$ O* b- @cls
    : ^" w* v- H2 {; pboot 0x80! w* H9 b/ Y6 A% t+ P
    getkey5 F. C9 j& @. j2 ^2 ^" i8 j
    goto start
    9 ?2 _+ l) s8 S  U! b$ Z" M: ^* ?0 @( A
    9 `0 f1 {- z8 h+ bexit:" i" r" g$ M) S; z( h' P. \0 K
    cls
    # }& r  u$ p  V2 K' l4 s- ohelp0 l$ E# l+ G3 B
    end3 I/ E, M' b5 {
    ###########################################################################
    4 p. G* }, @, J( E* G5 ?/ Z  U/ f/ C& a# \
    我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
    ' T! b5 N6 F. T( [2 |; H6 K经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带0 i% R0 v8 [' {7 a2 z3 ~
    来方便,不胜荣幸.# @9 s5 Z: Z: T. ?. ~+ H
    2 N" E7 v% h: f2 p% S

    6 x. W& j% V  A! p2 a6 \JimmyZ于2004.08.04晨, g$ K! |5 O# a' L- ]; N

    4 [7 \# l6 F' |7 H
    . e$ ]/ @1 S, l( \4 F5 h- L感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的3 ]! D) U: _  y8 {& u$ n( r/ n7 L
    更加好用更加完善的cdshell
    1 c6 c7 S) ~) w- w& Q, ]1 u$ X--9 ~/ S) S# Q* c: N: j
    Fake Wings+ n4 h8 G8 c7 _; R- p! e
    shine , bright morning light , now in the air the spring is coming
    ' E( N6 c2 R/ Y* e* lsweet blowing wind , singing down the hills and valleys' J, S1 b4 T" X" [8 W5 u; H
    keep your eyes on me , now we`re on the edge of hell; n, i0 @! e( m- m
    dear my love , sweet morning light
    7 k' L" S7 f" k) V5 ]wait for me you`ve gone much farther , too far! J6 j. C5 r7 B% V8 P. W. C
    ※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·# C* w1 |4 Q) x2 k& A: ?
    ※ 来源:·瀚海星云 bbs.ustc.edu.cn·
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩
  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 2385 天

    [LV.Master]伴坛终老

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

    本版积分规则

    关闭

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

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