TA的每日心情 | 奋斗 10 小时前 |
---|
签到天数: 2385 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把) g- p% I! N$ o! a; @7 I% ^
SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
; }8 m" K4 O$ d新系统.
/ R# Y4 \( {5 z4 w; s$ S+ C( D/ y7 U3 G. s# k
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
, W0 H [# ?( r* z; K' F+ A中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就# ~ c7 G8 j( H4 v& h* \3 \
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
- ~9 s2 e/ ` }6 J2 Q述.) m- Y5 f6 u1 X! j/ _+ k% k
+ x9 X5 Z2 i( M( }
这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA3 T4 v- Z5 A+ a% `# e- N/ H, t
驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一1 ]0 |6 g2 V+ T
点,厂商一旦发布新的驱动,更新的话就要重新修改.
: K, U; @+ U, k3 S: \5 _$ `: H8 t
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
4 v. O# p1 X: C( z: H8 T3 }"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
$ E9 d+ i- N$ x+ y/ H具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
& z- s( N" ^/ K) g" v* K$ \& e6 R* s% b! i9 i" A
大致介绍一下cdshell:
' `2 J0 A! }; _! R5 w, [3 Mcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
0 t7 N j( G! X& d& u: o6 n的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极& L* r* x/ x% A
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
% x2 Q+ B9 c( o, Yisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
" T) p7 D5 w+ L1 \7 B9 s的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动- z* [- R3 s% T" z2 z5 W# n
盘基本就是用它或其前身来完成的.1 S3 J9 o' M: x7 M9 L& @
0 e* S0 H) I/ g% v E
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载' g$ k9 I. p/ w& ~* i
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!
1 Y2 f3 T' j9 e# s, K9 K( ]* `' I2 J
比如启动一个软盘镜像的命令行是这样的:2 N M* h& J+ u: o9 D
diskemu imgfile.img
8 }" ` j7 f! H, t# n* r8 W' q1 S启动一个光盘引导记录的命令行是这样的:4 X5 V% B# @* H% N
chain cdrecord.ert" T) B( d) ?3 y1 t
先虚拟软盘再启动光盘引导记录的命令行就是这样:
+ }% C/ T. W. ]( A, x0 n# @diskemu imgfile.img noboot
% n) U+ b0 Q: A! Pchain cdrecord.ert8 J! p$ h$ j+ a8 C/ l% N1 `
2 w4 z D( Q( P2 }, ]9 p4 a就这么简单,具体步骤如下:
3 {, H: _) w. F
4 h0 G1 C+ K8 J' C& y7 O% [+ Y. h这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
9 l; ~5 Z* V7 |, X& Q# @* Y0 { _+ i4 h4 J8 w& h
1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
& T# D/ m# {! h. U( K2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
5 i5 v4 `8 U, w: G2 z% \ y3 [* ^+ Z3:把D:\temp\XPins\boot下的loader.bin移到D:\temp" n F+ ~ I" l5 I+ w. @
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
) C8 N$ L4 k3 J5 W5 @! h: p5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件9 ~( P: E U: Q: N
是你要的,不用的可以删除,脚本可以参照下面的范例
4 f; @9 S2 s7 `3 D: c7 ?: t! R6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像. r1 P' u" Z/ V/ v( n8 X
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso" O7 G8 T' ?2 _6 C
7:burn it, have fun!7 [: G% C! Z! B+ e7 {% U
+ ~: f; n# P7 u' r: u- u3 Y# b/ c/ G我的cdshell.ini:
6 U* q* D0 e9 W5 [2 D4 |# g7 Q###########################################################################
b6 q0 O& ]0 r! `" F( rstart:7 F7 e: ^- w A! ]
set c_1 = $textColor #get the default color
" k6 ~2 L4 H+ Q" zhere
6 F' L; m, b5 E7 B( z2 Vset c_2 = color[brightblue on black]; h1 i) b5 x- y
set c_3 = color[brightgreen on black]
* k0 Z# _7 \; @( P$ ]" Fset c_4 = color[brightred on black]7 D4 K: w4 U; j% O
set c_5 = color[white on black]5 u2 a/ I# h; O6 y$ S4 q1 t
w. v/ `) t* E
cls: u& Z2 J; j. U
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version( u3 Z' T' s( k) E) s1 Y% g
\c($c_3)Aug 4th,2004\c($c_1)\n"; i+ t& X8 L( n
print r "\c($c_5)Powered by CDshell.org\c($c_1)"' s4 ~0 m& C/ R5 \" L! z3 a8 ~
print "\n"0 f8 z) N7 i3 p# N; B
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
$ x$ D7 ^) A& g$ I" c. ]/ F7 F( Dflasher etc)\n"
9 i$ z' Z$ J' T1 b/ I1 Iprint l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"+ Q4 S3 x5 @* T/ w
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n", W0 l' G0 u% a. P* D0 p P
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
( J2 ?2 l- U$ i3 y/ Q1 `. n. hprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition" D/ j/ V! i0 ~/ T0 k" _, p
(Linux 2.2.10)\n": l% P4 V' I$ H8 y) t
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"* E7 ^- x8 ~2 }. {* c: u$ J1 i1 u
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA# p3 h) @0 C; @! j ]
RAID floppy emulation\n"
" g% u `: z/ Yprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
- A0 e$ t$ G6 d4 C) lRAID floppy emulation\n\n") O) T% g- r! a8 f1 }, @8 w) V
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot% R9 D4 t5 u! ~8 c! m. N/ ]
1st HDD\n\n"
) {& P3 b& p* c. H8 oprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
! M Z" y& G Z8 M" @6 Y+ v) `8 jprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"% y2 W |4 [7 J* A
2 b6 E( ~8 v% Fmainkey:
3 r1 |+ u! D1 `( ?7 W# [getkey 30 set lastKey = key[esc]" Y" N' v; U( e& w
if $lastKey == key[1];then goto ms710cln8 ?! u- V& S5 _& ?" I
if $lastKey == key[2];then goto ms710std/ a1 E; b( Q5 e& J9 O2 C! T( \
if $lastKey == key[3];then goto ms710spr/ `/ ~$ n5 D4 R+ S5 \
if $lastKey == key[4];then goto pc710
% y8 ^% s) g6 pif $lastKey == key[5];then goto toms- \7 h. n( E. `4 f
if $lastKey == key[6];then goto xpins
% W6 A5 |: s9 [: xif $lastKey == key[7];then goto xpinsvia7 M' w- ^# f7 T+ ~. g
if $lastKey == key[8];then goto xpinsintel6 S9 ~, Q' @0 s y8 Q! P: Z
if $lastKey == key[f];then goto floppy; x! h1 I7 o4 F9 C) ]" f& F; E/ G
if $lastKey == key[esc];then goto hdd07 x+ Z/ w! U! T# ^1 f& x/ G
if $lastKey == key[c];then goto exit$ X- X! ?0 ^7 {$ a! @+ w% ]% ~
goto mainkey9 K/ E( ~9 S D) C
) x7 \/ R" F4 o4 t
ms710cln:
# f. b$ l! J2 U ]0 k+ C% Ocls: t, V) O8 f0 j. X) t; L
diskemu images\MS710CLN.IMG# X' l3 T* ?$ ]9 a; H/ F
getkey
& Z7 N U7 [% U; N3 A/ z/ Wgoto start
# f0 L4 S) N& e$ j! a% G+ h4 [% _ ^ h4 V Q! u9 ~- v5 `* H
ms710std:
X4 Z6 W; {( {- c/ |( ycls, l2 F! }# Z! }3 j/ t
diskemu images\MS710STD.IMG! S! n. x3 e) h" `
getkey
7 u" j; t$ w6 B5 {goto start
; L' _2 `6 Y4 [* V4 P8 r) a% ?/ K) }
ms710spr:+ f# ?! z: x0 S ?6 _. E' V
cls
" r$ i j- Y, Cdiskemu images\MS710SPR.IMG! }' x7 k/ T! ^5 t$ N4 h
getkey
% ?* _5 ]- l: T# Igoto start
& F! ?# F6 N! E& b3 b
4 a- c6 L) u3 e- G4 U! Fpc710:$ v1 O$ c' B: j
cls, X- t0 z' k) e% q9 D
diskemu images\PCDOS710.IMG
1 C: Q& _. J9 o9 ?; m3 Pgetkey6 B6 ~$ q3 g) Y& z
goto start
h1 c! s2 k1 d- Z4 P* Z. t) p, Y4 _. _ T
toms:/ M2 r3 V' s' o7 G/ r# p
cls2 [( A, n; z p
diskemu images\tomsrtbt.img
5 q6 R0 f" ~' }getkey1 U! n8 n) X O( u, v7 h0 m
goto start$ u2 {7 u8 b( ]' e- s
1 O( s m0 v: w6 C
xpins:
. C0 W. L" b+ g, K1 Lcls6 r1 _- q1 l; x; L* \) Z. P1 Y+ B/ a/ `
chain images\MSXPVLK1.etr' i" v) X1 k0 [& O
getkey: H E2 M! x4 m- K+ G; g0 O9 w5 W
goto start* ~( l% d4 F" c1 J9 z
( t/ P7 z! _$ D" W
xpinsvia:* b0 r) v1 Z8 L2 i; V4 R8 V! i* U6 ^
cls
8 H3 v; L G% g3 V) cdiskemu images\viaRAID.IMA noboot3 {3 g7 n* W+ d" b6 U0 B, b+ V
chain images\MSXPVLK1.etr
6 @8 W2 G3 P; J7 N4 p0 Wgetkey
" a' W5 K5 a' ygoto start
, b, r. h% m* a( I+ d$ K- T; _: Y: X4 ]" d) {2 W) n1 n2 x
xpinsintel:! x% l5 _" c, W# [; E- V# R; z
cls. Q& R5 m1 G1 N: ^6 r7 N! m2 ?
diskemu images\intRAID.IMA noboot
! |( i, ~. N" {% X! ^6 @. E+ Vchain images\MSXPVLK1.etr5 A% F6 L$ c9 r) O4 M
getkey
1 T0 n* {3 k# n& \9 Rgoto start
$ n. b4 z5 m% ?6 m( z- e4 M! t3 r
1 D7 F# E0 f, g5 I/ lfloppy:! M) U. A5 J* g- k9 a
cls
) Y+ r' h/ Z1 O; O0 i H, ^5 K. dboot 0x00/ h g' @# r6 t% d/ ~, B4 [
getkey+ d6 O# k- ^ _, K6 j, D8 ^ V& X
goto start
, B2 |1 S9 h0 E- g% W+ N4 o7 z, n' r" r1 w# x
hdd0:
+ l. Q* I$ p- r8 mcls
& p4 y; _# Q3 Z! S' aboot 0x80
9 ^" H; @; r7 ~8 b$ ]getkey/ L/ G# n% ~0 E* a1 x6 b( w: ]
goto start: m g1 D% f! Q- W3 U
2 X$ L$ U- K+ s, k. w( ?& I/ G) F* yexit:
5 x b1 K% N+ |, [# K# E6 p" Q! @1 fcls- U* C* r( x; r2 m2 K
help! R( M& n/ ?! p N0 D1 D
end
: ?5 i6 P, V- v( @###########################################################################
! Y% d2 s' ^5 F/ K$ \) ?
( B7 C" U; Y4 R/ ?* f- _% }4 W我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己) _1 [1 s( M( l' Q
经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带% W. \8 O/ r" e* ^: o0 ~/ W+ D
来方便,不胜荣幸.
- q0 s7 n2 O+ f, @$ \' H; W; V+ X9 z* P: _# u5 V/ K* K
5 H4 R" ]" _! J* _: k0 c+ O
JimmyZ于2004.08.04晨. S _0 c5 Q0 B" C
+ \# n1 {6 E4 K# ^$ Y9 E
# v5 k3 s$ s( T) h6 D+ J感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
7 C) w, ^% x6 U1 e7 f$ ?6 v8 d0 K更加好用更加完善的cdshell' V' L. x8 E5 K, b' ]" y! H! \
--' u% ]4 ]) ^/ k3 K2 C9 x: \/ B
Fake Wings
5 A9 ]& e$ g* d! [+ I* Mshine , bright morning light , now in the air the spring is coming
- _5 k7 r. {8 l0 D+ Esweet blowing wind , singing down the hills and valleys1 A( O/ o" p. `1 `8 j' a: o5 _
keep your eyes on me , now we`re on the edge of hell
; T+ O: R; P7 D: @" xdear my love , sweet morning light j ^( _7 o6 m7 H* Z- o+ F, i
wait for me you`ve gone much farther , too far: e( y3 x7 _! m, S* `: J. D7 c4 x3 \
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
8 V/ w$ L( Q; x7 L※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|