TA的每日心情 | 擦汗 6 天前 |
---|
签到天数: 2402 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
+ m, R% ~* g8 [SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装" K. o+ A0 M8 o& S- k8 _
新系统.: \% E* N( b! L3 T6 H" p1 o
) M: R1 D: v1 ~ T" F+ i这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
/ G! Y; | @# k3 F9 R5 J T中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
+ c1 [! E/ y+ v) ]1 t3 B8 R有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
8 {) i6 l# L% Y- d述.) r. t% [: r3 k9 U% V
& y7 N6 P# I7 n
这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA& l" s: O( f9 ^9 n5 t8 B# y) s
驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
* H8 c& p6 ~% B. C$ h5 ^点,厂商一旦发布新的驱动,更新的话就要重新修改.7 w) X- K4 k) N/ V2 l9 o/ X5 t# D
! o8 W& N. T8 U4 u' I% _# o$ I
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的# d( U0 Z6 k8 R% R5 u; @1 S
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工7 Z$ L+ b* H! p' U5 B1 O
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
( i$ V$ U& L7 l( h. R8 R6 f3 j8 n! c8 w# i/ F
大致介绍一下cdshell:
8 Q# |4 C8 }8 N; D+ j$ u2 e) vcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
) l6 q: ?6 D! c- t, l的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极' \. O% J% H0 _7 z! D1 ~
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
2 p# J3 F4 m" B, i4 [+ S# v" _isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大- z! ]* c* N: G4 V% x
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
8 O; q! \7 q5 ?, S盘基本就是用它或其前身来完成的.8 f/ b, c! g$ g/ v
3 {! N( {& `2 `1 Z3 J在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
% @4 V) }7 H* \4 ?1 C软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!8 W- X5 {( S, E: g9 A
0 y3 r. o9 W# }8 W, e比如启动一个软盘镜像的命令行是这样的:$ Q3 o# r1 ~7 M3 I: e9 i) N& g
diskemu imgfile.img
# N- G" r( L r7 L) w3 e启动一个光盘引导记录的命令行是这样的:) E9 l0 l& `$ S: X! O8 V6 T
chain cdrecord.ert
8 J1 h9 w8 f! ?2 e* A( w0 L' I% K先虚拟软盘再启动光盘引导记录的命令行就是这样:
4 y [) `( d' p1 [. B# H! bdiskemu imgfile.img noboot! m* c4 _9 u" t2 p9 u: R( p
chain cdrecord.ert
; f2 `: ^ L$ ?1 m; b9 v" l3 k! I! [, }: {0 |3 v2 b
就这么简单,具体步骤如下:% n: v% I; D* N6 }1 C
: Y. F- u7 ]7 [" N4 H+ q% ~这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
, y( ]' ]* ^4 A9 ]5 y, q+ E' n& a. l# q- B8 Z3 m1 U7 T: W
1:把XP安装文件拷到D:\temp\XPins(这个你随意)下; d/ W! d6 x# E8 u
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
+ I1 y) ?* Y" f' p6 h+ z4 U e3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
: j0 r" N5 S) K; z/ {' X4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
# d& C# C8 U6 v; m& ~: B5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件: t: D# {0 c4 C& f
是你要的,不用的可以删除,脚本可以参照下面的范例+ v1 k. g% u/ {% [$ ]0 ?: z
6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
0 j$ Z: N/ @0 t- y5 V, Ecdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
. h& ]7 ?6 [) @0 y1 {7 x: a7:burn it, have fun!
( }9 Q; V7 B: B$ ]: }) t( E* S
; V# a- m4 b8 ^2 a* {8 E2 T5 q我的cdshell.ini:' J& U" j. e. Z8 Y" v3 D
###########################################################################7 [# c" ]. }! ^
start:
0 B7 S* U- F6 b4 Uset c_1 = $textColor #get the default color# S% ~2 I! i$ u F3 o. ^0 {+ Z3 B
here2 x: c$ Z( D+ S& a+ ?6 F
set c_2 = color[brightblue on black]$ l' `! s' G$ V9 f M
set c_3 = color[brightgreen on black]
( i0 n" j3 g2 eset c_4 = color[brightred on black]
. I& T8 d, ]9 b1 g, `/ Uset c_5 = color[white on black]/ r$ _3 P# S4 \* v
u2 g3 v n! f# I9 D( j: `cls2 G% x8 X( \" F+ i6 s. i& T0 H
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
* v* v7 K# l8 K/ M8 d& f/ T\c($c_3)Aug 4th,2004\c($c_1)\n" I4 J" y- \; \5 e S
print r "\c($c_5)Powered by CDshell.org\c($c_1)"
6 n& ]8 X/ R$ Q8 l0 kprint "\n"% [. X2 S( o/ R$ ~9 e
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios: _5 E. C+ v/ v4 [& a
flasher etc)\n"
0 E# z; N' `- A1 G. L+ t( |print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
& f2 t, u& ]. Cprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
# y! y- K- I0 D" v9 k0 n( e: Mprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n" G+ H+ b2 Z% ]! X1 q1 o, K
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
; O* \5 S8 P% b; k6 j! d(Linux 2.2.10)\n"
2 Q: [' D- V0 d/ N( E1 Dprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"& ^5 \' x/ E3 |' [* B8 U0 l5 u
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA) Q* n, `9 k, C; U* X/ x
RAID floppy emulation\n"
* E0 `, K6 M- q. ]: tprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
% {9 U1 _+ E( Z- }" XRAID floppy emulation\n\n"8 \' w: g: A, l% A/ C
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot) E! N+ G/ Q4 I2 F
1st HDD\n\n"; v6 _3 y. _8 f+ i v, }: H3 I
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
- `4 N+ U; B& H) s$ z" U- x# O4 c, wprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"' b4 {( ]) \2 P
! Z9 T* Q9 @/ D# U" A9 O" I9 hmainkey:( c' I% e1 h9 c9 l. E
getkey 30 set lastKey = key[esc]7 L$ w5 u1 ^+ @; q8 C0 P. T
if $lastKey == key[1];then goto ms710cln) C( C0 a+ U4 ?, T R6 }
if $lastKey == key[2];then goto ms710std
+ W9 d Q. G; X- e+ pif $lastKey == key[3];then goto ms710spr1 [' N# |1 a: t2 w; ?! X, i
if $lastKey == key[4];then goto pc710) M8 E! ]$ ?7 G3 f. C: R1 O
if $lastKey == key[5];then goto toms" ^- j* ^' r. S$ n' V
if $lastKey == key[6];then goto xpins3 l" b! \/ N, c8 q5 i/ k2 \
if $lastKey == key[7];then goto xpinsvia
+ Q* m( {% R5 G. e+ `+ g5 z- kif $lastKey == key[8];then goto xpinsintel8 a0 n+ v( ^, d2 j' i( e4 ?
if $lastKey == key[f];then goto floppy, T' H9 O& K! J3 c) y4 Q
if $lastKey == key[esc];then goto hdd0
! J- f1 |7 a' ~% h8 b& p3 i- Gif $lastKey == key[c];then goto exit, Z8 u. n9 }0 `6 v Y
goto mainkey7 ` k/ ^/ L( [) i
9 G" ]# o2 ^# i: M% d) l# x
ms710cln:
/ i1 u$ a2 A' Q! T4 b Ncls: k! }% Q+ _6 L
diskemu images\MS710CLN.IMG, U$ H5 B! C) z. M0 v! @/ d9 P9 N
getkey
& Q2 q8 p, b; L5 x) Rgoto start# ]" g l: Y& A; m1 Z
; V7 f9 H0 k, q
ms710std:2 ~" n# E3 R1 ?* ?- M
cls
2 l& d9 I U: odiskemu images\MS710STD.IMG
" S5 [- X7 A' n& h7 `$ @getkey
% r1 H) w, u* e9 }) Rgoto start' k5 a6 V) {4 p4 @, P! P: y
, G7 O) v( J, I: x
ms710spr:
2 U2 x M3 G" G5 E( S; j0 `cls2 s0 M- X8 _5 L( y
diskemu images\MS710SPR.IMG% E8 I) v/ F1 T8 d8 `5 C9 \
getkey9 U+ X$ t& g2 \
goto start
5 s9 j/ x# \3 H+ c- a3 o2 m9 S( G! {3 S
pc710:
4 ^3 y2 g! G9 Y+ H( U( w* p- \% Ncls: f# `* P8 v& U" O7 y( P, O- z
diskemu images\PCDOS710.IMG
% [( s/ ?) ]: rgetkey" H0 t8 G6 _, v0 I4 Q
goto start
) t1 {3 K- q: U& T4 X" v3 U3 q# @% r
toms:
. n) ?. V" m( v9 c7 p* L0 F3 l: [cls
2 o. R) [' t* C0 Jdiskemu images\tomsrtbt.img* d7 ?$ t8 M! v- E
getkey
( l/ o; K1 i% a- g" ~+ rgoto start
# H- B$ l$ Y! Z6 z
5 O( T5 M% n0 y- jxpins:
. i2 T; s7 _; k6 ]cls
8 ]7 D* ^2 V8 Schain images\MSXPVLK1.etr
$ |5 r. ^" Y$ `8 fgetkey* u6 T5 h: U' h
goto start6 k2 k0 G( Z1 N% R, G
* S# f ^4 A% X a" N3 ^xpinsvia:
: o7 v8 t0 S* z. p* A% wcls3 O* }! P( |2 c" c7 w( Q- y; \
diskemu images\viaRAID.IMA noboot2 q, y! B2 p1 \' {9 [4 f5 u
chain images\MSXPVLK1.etr
3 L0 [7 |, D7 s0 v0 B, D1 igetkey
3 u' X. x- Z" a" x1 o! Vgoto start
. Y- r* }) r( G8 {7 O" v8 S9 k/ s7 X7 p0 r* I7 L) ]
xpinsintel:
9 T5 t4 B2 }' O% X! T/ M' }5 P% Zcls
O* z* Q. g6 k" Y W! t4 wdiskemu images\intRAID.IMA noboot
) R' M! ^: L0 R, [- s* f: ~1 T$ Tchain images\MSXPVLK1.etr* S$ w4 E( H! H3 L
getkey
x$ k J4 U6 S) ugoto start
- ]6 i6 @6 ^# n% b1 v- m/ K
- _8 P- r5 U* \& u: i( |& zfloppy:
4 O/ B) g ~" G( q: b9 g4 W9 bcls- S$ R6 q8 x1 t/ s$ D9 n5 [' T! Q
boot 0x001 ^- b7 H: c7 t/ f+ T
getkey% |. U0 \/ y5 o5 F$ p
goto start$ e& ^( y- P/ x8 B
& Q8 T1 ]2 {! d" O+ hhdd0:
9 O8 k* t+ x8 o$ Zcls, H( Y" z* w) T" f1 h, b3 F
boot 0x80, L5 X! o; v" A0 y3 z) A
getkey
* i2 r1 I# w: f$ `. C" D" V: u% P1 ]2 A# lgoto start
# m: p# E7 u, R3 l5 D+ ], r
* U- s; ? A% Dexit:9 D9 e% ~# `" I5 t' ?9 f) m ^5 F
cls
+ \, e) B1 o) d* T4 u# }help
9 W) Q: A5 J5 c/ j% y8 u. Qend
$ |- O' s4 N7 v% d4 J+ B5 D###########################################################################
* s4 K+ e% p' K1 E+ a6 X: z5 t& J* o4 `* c3 g- Z% y
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
. f, v* l: r5 ]1 x# b( x经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带2 \9 f* F$ V5 j. t9 R- D+ p! Z( X
来方便,不胜荣幸.( Z4 ?3 C/ p* i1 P
9 }8 z& E; E5 S8 l. G( Q! W* \0 @
6 D/ h! F6 J' g) jJimmyZ于2004.08.04晨
0 Y8 d' h; d; N0 f: L
' g+ ^$ _: N; d \. c- S7 l& j. N' ~( O7 @ }% V& W) Q
感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的! ]2 g. S. f. H. Z# [5 }! j4 V8 h1 \
更加好用更加完善的cdshell
W% E H) Y( y5 ?+ E( v. W; S1 w--
0 O* p# l! I/ Y$ }/ oFake Wings% o6 P" i& k9 O/ W+ B [- t! ]/ h
shine , bright morning light , now in the air the spring is coming
% {, d1 [3 ^* P; xsweet blowing wind , singing down the hills and valleys! `! w7 ^- [3 f
keep your eyes on me , now we`re on the edge of hell
& G# ~1 H" ~# e: k9 Ydear my love , sweet morning light
$ ]5 L+ ^* k9 g* K8 Xwait for me you`ve gone much farther , too far
& t% _/ }* U1 n※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·! B- ^. Y$ y& T( R( y
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|