下沙论坛

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

QQ登录

QQ登录

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

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

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

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2005-4-1 00:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
    $ `  r: n9 h, U: s/ L8 ~SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装! R( u" X1 H2 [
    新系统.# u( m& O" ?0 I( \* f! l5 |

    4 A) [& k6 K4 G7 J' q这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
    1 X) n& i: E" x$ V) P3 k& s中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
    ' n2 z" C/ k# H有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
    9 X4 d0 }- _' n: ]% N( H' k0 ^述.* Z& S8 n0 X' O+ W
    # F. L9 `) |* W" r/ V& l
    这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA" l; E, F6 l, e
    驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
    0 W3 N) `1 L- c/ Y点,厂商一旦发布新的驱动,更新的话就要重新修改.
    4 I& f* b; f, d
    4 r' }: P. x; _$ x5 o& V我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的/ D% ]% O1 O3 i) b
    "不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
    5 n1 L5 S: S* q% [: K* S7 k5 d具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
    - U7 [4 A: H/ M, B  @* c
    ' H( |# D+ x( b- e+ r3 s( ~大致介绍一下cdshell:
    . r# p- J$ _( j$ Scdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
    % Z- h2 z5 o, [% d, e  P& k4 M/ V5 b的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极6 Y8 N2 L  X% {. F2 ]9 a  s
    致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd6 G9 H7 `5 Q# g2 p. v# k+ v
    isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大4 R8 L. ~1 ^! }8 ]) Z' [
    的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
    ' X5 }9 ^  l  t9 S盘基本就是用它或其前身来完成的.
    , z7 K8 H8 _/ G, L
    & a8 E3 M* ~$ q! ~. q$ t在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载: n; S6 U. c7 y
    软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!, q, w" a5 q# c+ W, S0 G

    ! B3 G% e$ `' U9 w9 B7 u4 s9 x比如启动一个软盘镜像的命令行是这样的:
    1 t8 I: u5 k/ y$ @$ o! ?diskemu imgfile.img
    5 @: V1 z, g% H  h' S& v启动一个光盘引导记录的命令行是这样的:
    " s4 J3 g9 \( _" r! achain cdrecord.ert
    * [5 M, Y% |" c4 _  ^3 f先虚拟软盘再启动光盘引导记录的命令行就是这样:
    + X5 D1 Y% a  Z- S6 hdiskemu imgfile.img noboot
    , {& @8 ^1 F; V' }9 G& Y/ Xchain cdrecord.ert% t6 z; O" y* {, V
    7 u( Y8 P5 K) C2 [2 ?3 T
    就这么简单,具体步骤如下:: S7 w" F0 d% y$ r

    6 n) P. a# F8 F" n0 X这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.( n9 s4 j* G# W- d1 d+ [( B- y! t: B
    . o2 U# f1 E( K* M; v
    1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
    * ]- L8 d- O# B6 _' ?, `  p0 d0 C5 J2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins' ^. k2 L6 l& L$ X
    3:把D:\temp\XPins\boot下的loader.bin移到D:\temp6 H+ A6 n+ ~: K
    4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下9 Q' _, K1 f8 D+ L; M
    5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件) x9 D3 m* G. }
    是你要的,不用的可以删除,脚本可以参照下面的范例
    1 a3 j, Q& {4 b3 T6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
    ( k2 T: s$ \4 [cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso) k/ i1 K. G: I1 m$ c9 y) h
    7:burn it, have fun!2 a+ Q: d* E2 [7 ?
    / Z9 V9 h5 z, J  Z- l
    我的cdshell.ini:$ L" L8 `8 ~4 I5 y
    ###########################################################################, h# [' T! u3 P" H" y* o& R. W4 w& j" c5 t
    start:
    ) l- P! y5 ?8 D- v3 Dset c_1 = $textColor #get the default color6 J. K# J+ t. T
    here
    & R% t" I+ X7 |2 S% pset c_2 = color[brightblue on black]6 C( b7 Q4 x5 W4 T1 Z+ h# i6 ]
    set c_3 = color[brightgreen on black]3 [( y) C( z: z5 |
    set c_4 = color[brightred on black]1 y7 e. j$ i" F( S$ Z. K0 g, P
    set c_5 = color[white on black]
    7 u$ U4 p3 i; @; B) x& b1 r
    ' X0 @4 `- m# O6 u8 O* hcls
    7 d4 N1 X* a" yprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
    , k& T* P7 q( E8 d0 j1 i! H: @\c($c_3)Aug 4th,2004\c($c_1)\n"
    ( C) c& ~; r4 |0 Pprint r "\c($c_5)Powered by CDshell.org\c($c_1)"# ~9 L; g% J& N! y% ^2 W: f
    print "\n"
    * P+ A& @. G0 a7 H# I( c1 kprint l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
    " Y! I/ K4 O$ a7 E& ?3 wflasher etc)\n"
    5 ?& C( i- K. Q& e# Wprint l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"+ c7 r" x$ s: O
    print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"0 T9 X5 x, N1 [% D
    print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
    ' `! V$ Q1 Z. Y; l& zprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition6 e9 i4 l" a0 }$ @" g
    (Linux 2.2.10)\n"1 b6 V6 t: l- ?: h7 |( s
    print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n", B& N/ n( }) D5 e( D: L8 O
    print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
    % P9 k( R2 g4 RRAID floppy emulation\n"9 [, E) ?$ N# P, @& r) V/ E( n5 z
    print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
    ; ]# N% w9 @. e9 D- n: RRAID floppy emulation\n\n") o6 ^: K7 o3 E5 E( F) j
    print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot' W* i3 A# _4 i' [* N7 a
    1st HDD\n\n"
    3 ]3 `% Y0 D4 dprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"  F  c3 f9 x, U& C7 `+ l% `+ V
    print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
    9 U+ s" ]! y8 l+ z
      h1 P6 l6 s, W$ b* v' Lmainkey:
    ' J% j( I, y# S' @  fgetkey 30 set lastKey = key[esc]
    8 m, y5 ]2 b4 }" o' r5 ~if $lastKey == key[1];then goto ms710cln0 F5 l9 {2 ~# G' k+ h' `; B5 v& }
    if $lastKey == key[2];then goto ms710std* c; b- a  d% G/ y$ E7 X, ]
    if $lastKey == key[3];then goto ms710spr2 z  p# l4 ]4 B8 `
    if $lastKey == key[4];then goto pc710! D) d" b6 D# u& s' k* U
    if $lastKey == key[5];then goto toms
    - h. k# j# O4 H" u5 C$ Bif $lastKey == key[6];then goto xpins
    " l7 L9 v' ^5 h/ m: C0 R, L! ~7 xif $lastKey == key[7];then goto xpinsvia
    6 \  r9 a" |2 x* L* Jif $lastKey == key[8];then goto xpinsintel- \% I! P5 ^: P8 Y0 O# ^
    if $lastKey == key[f];then goto floppy2 C7 j- G/ N9 w+ a1 j! w" S
    if $lastKey == key[esc];then goto hdd09 K$ ]3 [: j/ o" _3 n( k, R. Y
    if $lastKey == key[c];then goto exit, {, \' E7 B* r7 l9 o* }" R
    goto mainkey
    ; |- ?/ b/ j1 G5 x, h( `4 a* Y3 K) m: q& j# R( p% ?( K
    ms710cln:
    # m! x5 E+ L2 q: \( R7 U8 h4 [cls3 v& P& |. ^# L1 J
    diskemu images\MS710CLN.IMG
    9 t$ I( c  e6 ?8 `9 h( V# Ugetkey
    ( `7 J+ Q' h. \/ }3 z! agoto start
    0 Z3 Q- w: R2 l
    ( H' p% t4 j& tms710std:& ~- h" N7 g7 v+ F  O8 M) ?
    cls
      j/ a& @/ D+ V) H& M  Tdiskemu images\MS710STD.IMG
    ! F  C7 d# s/ {, h: ?2 xgetkey3 `! G; {) m( }
    goto start
    3 E+ Y( G" n' A7 e% H! E0 ?! P: p* Q
    ms710spr:
    0 C9 j* W& t) v4 `0 |cls
    0 Y( d# T' Y" K0 odiskemu images\MS710SPR.IMG
    ( E% S) Q$ w/ k8 u8 T3 E' d  E$ h) Egetkey" M1 Z0 Q& G" `* o4 z
    goto start3 b7 ^6 U8 s  l( ~( s$ u& F- n

    + n7 ?2 O9 a% o( X$ n  T1 Epc710:
    " d9 d8 L3 \, p* \7 Vcls/ B8 i- m* S6 V9 S8 o4 W
    diskemu images\PCDOS710.IMG7 M2 Z7 t8 o, }0 I6 R4 x% v+ X
    getkey/ B) ?1 g5 L/ f
    goto start
    ) K: N9 c5 Y+ U+ e; N( i1 G3 c% G! a3 O" e" M) ~
    toms:
    % \; H" |: V( A" @, {cls
    $ Y4 `9 g( h2 Q4 ^, l- c( Gdiskemu images\tomsrtbt.img
    ! o( S- g6 s6 Fgetkey9 A0 h/ @7 H# Y7 r
    goto start6 K' T" q3 I" \" L
    ; H7 p* W, Z" n& R$ {7 [. l
    xpins:1 ^* [& [) m) ^
    cls
      I: [: U" J3 L7 g! m( R+ Mchain images\MSXPVLK1.etr. Z5 v7 t2 j1 l1 N
    getkey" I1 H: B; x  g8 |) M* @
    goto start/ c, G! b$ f, T

      O, K2 p0 d# T) Wxpinsvia:
    : G+ h0 S7 L3 Icls. _, A; w0 C1 {5 X
    diskemu images\viaRAID.IMA noboot
    - l, c3 a5 Z; Z+ j; S' u1 Z: g  ]chain images\MSXPVLK1.etr
    7 A$ f' ?* \. Q* o5 Ugetkey/ E7 g# z: w- F$ J
    goto start* b( p% u. J8 M0 j4 m& y) M; [

    ! _, H1 M) S& ?xpinsintel:, R5 x! o7 O, a2 ?* ~: k
    cls, N# }. z( Q7 ~1 [
    diskemu images\intRAID.IMA noboot
    $ }( b$ k3 ~' r) f) Q$ d+ j0 w2 tchain images\MSXPVLK1.etr' ?6 ~; X  m8 k9 R; e' K
    getkey
    0 O/ O" C" w/ Z  ^1 ?" cgoto start
    ; P2 c' [; z9 Y. Z" z/ k  W  M, k  }* r, v' v
    floppy:
    * V0 z2 w6 t, G3 j- i- ~$ Y# }cls
    " U- {3 R$ f% s' u7 Zboot 0x00. Q% q$ W9 d6 Z
    getkey
    - g" `+ G; R5 c; h1 n* h" y' i; h( igoto start; t9 ~- D, L. L& n

    0 Z# {$ V. S3 P+ M& Ohdd0:
    , ~. e1 Y' ~( f" ^  Y( v$ Y& Kcls
    & N/ j* X+ l( |' c8 N8 }0 L, hboot 0x80
    3 {# t8 ^; I, o0 Dgetkey5 O" _2 N+ [# n) h3 ^
    goto start2 p( m! I; A  S; y
    8 d" d. P  ~# b8 A% p) t6 B
    exit:
    & ?  U+ b7 b7 a7 mcls
    ; O( j1 r) i6 g- thelp0 _( z' i: x0 a3 e- p* ~; q
    end
    6 r. m9 d* H! j###########################################################################
    1 x' `6 G" K( q/ }6 @1 |
    5 x+ q1 l. f, O& x1 ]' M  I3 i: N我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己- v( O' y# M, Y6 }
    经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
    $ e' f0 r1 [6 g* O: u/ D来方便,不胜荣幸.* A# d% z! B0 r# C' M; K

    ' c6 B- G. Z$ G3 W4 J) t3 \
    7 P5 b; x4 W1 ^JimmyZ于2004.08.04晨
    0 o+ L6 O5 `- _5 r! J) a: `. I" s7 }
    4 [* ]$ e  W& u7 j& [* E0 _: F
    感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的$ [3 R6 M) D. S6 V+ m
    更加好用更加完善的cdshell( E0 e& F/ U: ?2 Q+ M" ~
    --
    % g* O. s) R# bFake Wings
    2 v- w( j& m& l9 Y+ w4 @shine , bright morning light , now in the air the spring is coming$ _' O8 K' y" T3 [: {
    sweet blowing wind , singing down the hills and valleys
    5 @6 N& E% y! z" |keep your eyes on me , now we`re on the edge of hell& X8 f7 W& q& L3 d
    dear my love , sweet morning light
    ; E. z) w4 W% l+ ?, v9 o7 _wait for me you`ve gone much farther , too far' d+ b2 h" y4 [
    ※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
    % v. _2 p4 a: `! D4 I0 q/ h4 F※ 来源:·瀚海星云 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 下一条

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