TA的每日心情 | 奋斗 昨天 09:52 |
---|
签到天数: 2384 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
1 `! `! ^- R; q$ @3 WSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
6 w! q5 i8 u) d8 \, Q新系统.
% F9 I- n& m8 J* Q+ n0 Q
9 _: [9 B; i8 Z* v- m" h这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
2 ~2 k* r$ H8 i7 r5 j" U中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就! p/ B9 P8 f) X
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘! f8 W( X. E$ K( E3 v: O0 |7 Z
述.
, n; ^" ?) G8 L6 H. M) \$ l
6 l1 r6 ]0 y! I" Z# F4 K这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
/ Z! I0 q, s2 q- M- M( x, I0 w驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一8 a/ a, E! x' V& H& f
点,厂商一旦发布新的驱动,更新的话就要重新修改.0 T0 n! o+ d( x
8 K. V$ i; m9 l' T7 C我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的0 x: W1 |" w0 g: \
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工& V' ]+ l# V+ p' g
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org, j m% X# e% g( L, [
2 f3 M+ r {. u' d$ Q' V
大致介绍一下cdshell:# C7 T! i8 @/ k& D! a4 \0 l% X
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell; ?0 c, k6 M6 Y
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极. D9 V" Y% F' R" q8 Y* h
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
; z# Q' e! M$ h, Sisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大. |! a7 z3 L, U6 n
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
" N8 ]1 {6 e1 [& t4 H. |, t) {$ |. T& ?4 N盘基本就是用它或其前身来完成的.
( Z# H7 U2 J/ V; n$ U3 e* C2 x( s5 A* H) O) L% t& p0 H
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载6 u1 X/ e' m3 y
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!' S+ z1 E# y1 ~% I
7 T) z* H7 h+ Y/ O1 ?; Q
比如启动一个软盘镜像的命令行是这样的:
9 q/ V, e! w8 z" ^6 Z" O4 @, L% ddiskemu imgfile.img& p5 r/ p' L! t) R
启动一个光盘引导记录的命令行是这样的:
6 l! N; w1 G; x" N: Q& Cchain cdrecord.ert( p: i9 W6 W. `$ b2 h+ E
先虚拟软盘再启动光盘引导记录的命令行就是这样:) p7 i9 z6 L6 ~. B9 n: Q
diskemu imgfile.img noboot7 [# m$ J4 k; H+ x2 g- ?4 u
chain cdrecord.ert. c' j8 K" @) I O* q' h* p6 O5 V
1 c! b+ ^6 O9 I就这么简单,具体步骤如下:$ N8 }$ b' r4 D/ @! R6 R; f; ]
: N, f, X1 P R* R: r2 W% }/ m$ e
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.0 H3 l! e; I. t
7 p/ s4 V- z* @& O& {" U1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
2 N& F5 w) Y5 Z2 k% l2 K2 T' g2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
1 Z2 S. ?7 [8 M& p! G3:把D:\temp\XPins\boot下的loader.bin移到D:\temp, y6 v' L, ^( C2 L7 \
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
2 r) P0 P( k2 |( P4 A2 w7 L5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件' Y! w% N! S0 e! Q* S7 V
是你要的,不用的可以删除,脚本可以参照下面的范例' t7 Y$ P A: U% p
6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像 Y8 {- j2 U& Z* q6 J
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso6 R1 t3 e- M" J, q: b$ z: [7 w
7:burn it, have fun!; D3 q% ]! `% K5 a d
' M# |& X9 [% S( v$ Q. S我的cdshell.ini:6 E2 `) z: \# ]% D# z ]" X* o
###########################################################################
* V8 n. y. n, _start:
( i2 U0 p& @- X! \set c_1 = $textColor #get the default color
& U- i Y( O% n, u' R2 v, b" Fhere
: e2 a. q$ \$ _$ D, o5 D; |set c_2 = color[brightblue on black]
/ U4 Z* d- x( K5 Nset c_3 = color[brightgreen on black]& e% t4 o9 C& m
set c_4 = color[brightred on black]
9 r8 H8 d( j$ D7 vset c_5 = color[white on black]
) |* N7 v8 ?6 a0 J' J
/ p9 c( @) L W$ `2 F. g) S9 Kcls
; c. P8 F8 Q, J, L* S* Lprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
5 m5 H6 E5 j6 ]9 h9 ? h\c($c_3)Aug 4th,2004\c($c_1)\n"% b' k6 t) y9 l
print r "\c($c_5)Powered by CDshell.org\c($c_1)"2 s1 B! k# P: G4 I9 {9 O6 T
print "\n"8 o, J3 L; O2 d
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
! |4 ]- Q% A' m4 T2 m0 h( qflasher etc)\n"; q) a0 U: u$ g1 P7 D9 [
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
: U7 v, F9 o$ i! S3 F, Bprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"' v. ]+ P# c( Y0 X% x$ C6 Y
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
3 }6 c- }0 y1 m/ L" _& Cprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition4 L1 E0 l' {( z% Q" T. I
(Linux 2.2.10)\n"
( j1 b" N0 _% r( ^; `print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n": Y0 Y! g. R9 K
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
8 t! d5 _/ \! \( IRAID floppy emulation\n"0 J4 ^; ~+ @! ?! W
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel2 L7 {: w, E* k/ u, j4 l, `/ [
RAID floppy emulation\n\n"- k" Z2 {- Z# r7 I) d2 ^, z
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
9 o6 G/ @7 o) O# e# Z( d9 x1st HDD\n\n"
: }* w/ n1 j' a; d Q- wprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"7 q+ D ]" m. L& R2 y
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
6 R5 E' e( C* c
' F% l: z# I9 H% o) a0 x$ Tmainkey:$ O6 Y6 \4 E- D) U, U# p" m* ]
getkey 30 set lastKey = key[esc]
T# O" K n% j! gif $lastKey == key[1];then goto ms710cln
3 @" S' P; X: K: ^if $lastKey == key[2];then goto ms710std
6 Z+ Z2 K6 F Kif $lastKey == key[3];then goto ms710spr
% L8 h% G& r; }9 nif $lastKey == key[4];then goto pc710
: W3 ~8 W5 U1 j4 e9 f" s/ N& Q) jif $lastKey == key[5];then goto toms
3 n% \. I `5 m) t- Xif $lastKey == key[6];then goto xpins
, s( [2 e0 j8 `5 O$ f/ K0 wif $lastKey == key[7];then goto xpinsvia
6 r2 Q- [0 l; G1 ]% hif $lastKey == key[8];then goto xpinsintel" |- E. l1 y) y' i
if $lastKey == key[f];then goto floppy
9 g9 e( X! M* X6 iif $lastKey == key[esc];then goto hdd0: s& j* Z3 |0 C# D, w
if $lastKey == key[c];then goto exit% y2 X) d0 O$ i
goto mainkey* n2 L# P% ^" e# H8 p1 o* T
' A3 |1 w3 Z0 X9 s$ i4 y
ms710cln:
& L5 s# k6 A+ m( v) V8 x* Xcls/ E: H4 c9 R. }* g* h4 [% x/ K) P) E
diskemu images\MS710CLN.IMG& t2 ]6 G- Y# I; c C( J0 M3 p
getkey
( A' f# U) f1 b& i7 l% ngoto start
/ h0 \" B# B8 E' d! |* k# E! C) z! O& |
ms710std:
8 I: }4 ?7 T' M1 @cls# q* _* U! H/ I. M
diskemu images\MS710STD.IMG
# i J- ~# l% j; X, P mgetkey' R% ~; U, t' [' Y
goto start
. ~7 O1 `: m8 K% y
9 I6 T6 O* R; i; ]ms710spr:
9 i# K6 e5 ?% P% N, zcls
6 J2 k# M2 ^# U. n( [, x) w( ^diskemu images\MS710SPR.IMG
4 J Z5 p) [5 I. u$ i1 }1 ?getkey
D: ?+ x6 G- j; L7 c( Tgoto start
2 Y4 o. R5 y1 e' X- F H, L, K% ]9 A2 ~2 }# w
pc710:0 H- q1 f1 m3 S% _2 g4 k: q' P
cls6 l/ G6 _# H3 F& }- q. `4 X0 w0 h R
diskemu images\PCDOS710.IMG1 R* R b0 M6 B- L/ G
getkey+ G$ Q1 X; _1 S, q6 F6 x) G
goto start
a$ x! ?# Q+ ^ w& G9 G, b- K G4 `' |( o' [
toms:
7 s# z+ a) ]6 K+ H7 Ncls8 n. T' A+ K% a0 L
diskemu images\tomsrtbt.img
7 N& T: q. _: ygetkey( w# ?$ S1 y! [8 ^' g; n
goto start
4 j4 `# C( b3 c$ H$ g1 z3 D5 G* q8 }5 n: A
xpins:
$ m4 g K1 z, r. w4 U' Bcls
7 R# }! j5 J3 B( O$ X+ pchain images\MSXPVLK1.etr+ }1 y' O8 Q/ B2 S7 ~$ K
getkey5 B. L8 m5 i6 D) s( ?% u, ?
goto start
' x S/ h) e1 s: {; g0 u7 p! V8 [! Y
xpinsvia:
4 A* c: ]; P& K. o) Z: t6 [: r7 ocls
l* B# O+ Z# O$ t; Tdiskemu images\viaRAID.IMA noboot
0 o, w/ Q, q. ?( E9 Z. w* C6 Xchain images\MSXPVLK1.etr9 {# w: r) j. {/ t) q) b! K
getkey
& I1 K+ i: t4 d' H6 a# dgoto start* z. x1 n4 @, V' i; `) n
9 J; U% E; [0 F( L& Q/ ~$ E+ j6 Dxpinsintel:
4 r& K( @+ ]) s' D" i% m# ?# h" ecls
2 s3 N' x; y0 Ddiskemu images\intRAID.IMA noboot, D2 V" T; C" H3 m
chain images\MSXPVLK1.etr5 V" i( D( K$ U! |, s
getkey& Z1 M+ b4 k: ?# c8 Z
goto start( k4 T3 T, ]5 D8 b
q% G4 Z9 |/ |7 \7 H
floppy:
1 u) o5 r; |% ^5 r' @! k: {cls. q9 f, R9 H0 s; Z. @
boot 0x00
. Z% h% W: j7 y/ ugetkey
" H1 g% f" m, Cgoto start4 T( S4 h# h* @3 K
) }3 `2 _& T1 f$ ]( ohdd0:
- S2 ]& v Q4 K0 k0 h; Qcls/ s$ T- a- a- ?7 I& f7 O
boot 0x80
9 C( R* Q+ D+ M# tgetkey
1 H* k. u- A$ U9 k% ~goto start
5 B2 N8 ?1 b# H4 O" r
/ ^' F/ z5 R, A$ f* w9 R/ Q: J+ {; ~exit:! J8 E) k2 m9 ^/ L+ E6 Y
cls' F! ^! Y; @1 \+ ^* K
help( z* o7 g0 [' r2 S# `/ r
end% E( B" \! ]+ u% w. E: ]
###########################################################################2 E( p6 y' c& T5 I' Z0 W7 w
9 I# o( h, Q" z- Y
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己, P( \. P0 k& g" S/ x( B7 w/ U
经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带% j* C1 F C2 b5 U# b
来方便,不胜荣幸.
; ], v2 E( c! D
\1 [ S8 K1 b, ] K2 W. R3 L8 P9 _
JimmyZ于2004.08.04晨
2 j; |! j% ]/ G9 k
9 a: k& H+ u# I/ V
. b* g3 h: l8 d9 Q感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
0 S3 K' U T& x0 a8 @. x更加好用更加完善的cdshell# \9 k7 L4 \" U9 L
--
2 |" E/ X6 r/ r2 |" t: eFake Wings# B8 O; O: M' w# g/ J% |% ]
shine , bright morning light , now in the air the spring is coming1 t( y' i7 X" H
sweet blowing wind , singing down the hills and valleys1 ^2 j; J+ n; |4 S+ D
keep your eyes on me , now we`re on the edge of hell
1 N$ Z) l% q& H* y, i/ b$ bdear my love , sweet morning light
9 ]! H' S: F) V! _3 f3 Q. P& Bwait for me you`ve gone much farther , too far1 d& |! P( g+ e
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·- F' U& t9 B( |2 }. {6 L
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|