TA的每日心情 | 奋斗 前天 11:21 |
---|
签到天数: 2393 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
: T# W. i5 T) |% ~: W# ^, q {# f( qSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装6 K% l9 h2 z1 B8 y. Q# Y! O
新系统.7 i4 b! f& [5 v1 l5 s9 \! }. u( J
8 h3 q+ u! g( B* U0 j' h! W4 s1 C这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
: D6 z9 c) T ?! e6 e! d' I中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就7 r7 Q' T( G4 L) J8 c
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
. |# \* P& X$ m' r- {8 }述.
, ` ^2 ]: u/ V+ b0 a" Y; u5 {5 B/ O' @
这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
0 k7 J7 i* I c* j* s+ p G驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一8 {( E. C b% g& Y. I; V
点,厂商一旦发布新的驱动,更新的话就要重新修改.
) Q+ Y9 y. c1 h e6 p6 U' X& g5 h2 N$ Z. [, @
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
, T+ n' R8 A( y& ?. X2 A2 i g"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工3 C1 f0 z1 G( P* I! A
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org4 F u, q o: F5 K- B L9 I
0 A; P' M/ @0 D; n大致介绍一下cdshell:( z2 [5 j. `! B
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell% D( [+ C! |+ w Z
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极( l/ W, n( F1 n. H+ T! u. M
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
5 @4 F9 m# g9 R& disk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
+ e5 ~$ B9 o4 Y7 E6 R* Q+ R! m的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
) k. l$ w2 I4 w0 B; h1 m" C盘基本就是用它或其前身来完成的.
' q9 Q' c$ T E' D0 M, q
& i r# H; G2 J6 F- k- V& j在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载) ^; {2 h! Y2 Y9 I% J9 N" I2 h ~; I
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!
, g5 \, t3 P9 @( L: n5 ]( b2 w0 K( ]% ?9 D# y
比如启动一个软盘镜像的命令行是这样的:
4 z+ K- c7 w0 _+ Z' ~1 R" {1 fdiskemu imgfile.img* K9 l8 I8 K! m! p3 u8 E
启动一个光盘引导记录的命令行是这样的:
" w i; C+ n: W( u- pchain cdrecord.ert
7 _1 R3 v+ _: h先虚拟软盘再启动光盘引导记录的命令行就是这样:
* S: k7 C6 h5 C. b* Rdiskemu imgfile.img noboot
* B. @1 U& S8 m1 V: L" u0 Hchain cdrecord.ert0 _$ c" ]3 H: B" L1 y3 A
, @; d+ o5 L8 @) f* V就这么简单,具体步骤如下:" q+ Z9 q. L4 V3 y
$ W2 @' B+ T* l; }1 K
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.: H5 U, L! H( k! v2 a
. [/ _! L; a3 U ~1:把XP安装文件拷到D:\temp\XPins(这个你随意)下) X+ Z' l4 }6 d1 |6 D+ o. k" @- j
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins" w5 |3 F+ ~2 t- S/ n7 H! x
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
8 F" D& B o1 x2 p4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
; i$ |1 ^8 L% R1 ^6 j/ s5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件6 s* v- A1 ]5 A x7 M! j, q
是你要的,不用的可以删除,脚本可以参照下面的范例
9 u' m! ]9 F3 f8 m) c6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
9 E$ ~$ u& |% z9 Y4 K4 [ acdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
& k% |/ l7 u/ N) L4 q! B7:burn it, have fun!7 U9 r9 @0 u0 b2 G+ ?6 W* u+ s( R9 F
- z) O& s7 }4 N; `0 X* p) j
我的cdshell.ini:4 x) T- X: Y) f- g; V' V# M: @& ]
###########################################################################
1 b* H* i8 d- c, e* Ystart:0 G; p5 E+ w. S# p/ K
set c_1 = $textColor #get the default color7 f2 K3 g2 W5 m* z; u( K
here/ x/ ]/ K* v- x
set c_2 = color[brightblue on black]3 I0 ~/ Z* p7 r6 t. V
set c_3 = color[brightgreen on black]6 l, x2 l0 X2 K1 S
set c_4 = color[brightred on black]
; `5 _" A1 E( l' ? \set c_5 = color[white on black]1 E$ j& O7 I7 B7 X1 z
& b9 U- G4 K5 f; \& `cls
$ H. e) S% T! Y( c2 v ?, jprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
3 z8 L2 |2 K% q* U& H1 z5 f\c($c_3)Aug 4th,2004\c($c_1)\n"/ v: ?6 u0 e# ?- n) y9 C: E
print r "\c($c_5)Powered by CDshell.org\c($c_1)"4 y" Y( C- {5 c- Z9 R2 q X( b
print "\n"3 X. U# h, _, o. U* H# W
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios& a* |/ R! A1 D) {: S
flasher etc)\n"$ @ j' v% ` P$ M" B0 p) r
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"7 V0 s6 Q$ _" x* O3 f
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"' h% e2 i7 n$ x2 r9 H9 {
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n": g4 U$ a+ k# ?4 a; H) X4 m/ e
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
$ O8 B4 q& V0 I" f(Linux 2.2.10)\n"
6 w. Z4 v- q2 M# @, m0 l4 t5 Tprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n". k9 u. J- v0 M& |" N
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA! Z& C* t& R+ ]% i; {+ A
RAID floppy emulation\n"
$ E1 c5 \( c2 s7 A0 I: ]print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
: t- z% j7 R/ O7 yRAID floppy emulation\n\n"
. E* ~2 f4 i! m8 v8 yprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
' B. s) F7 H5 J' C) E! ?; T7 w1st HDD\n\n"5 w- D5 V' H8 a# }6 ~
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt", j3 f% N, D/ m6 H0 f! o' \3 E
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
- W# J! ^% D) D2 {+ s0 \, j7 O1 D" I7 Y, \
mainkey:
L n; _9 F- s, E b# P/ p, h9 Egetkey 30 set lastKey = key[esc]" x' [0 d1 w( U3 Y, ^% P! y# F
if $lastKey == key[1];then goto ms710cln# [0 U" `3 X! y! O; n/ W% y; ?( `6 s2 `
if $lastKey == key[2];then goto ms710std
# Q I, v/ Y7 l, D" [& e5 |if $lastKey == key[3];then goto ms710spr
, Y8 _3 `: c, q: mif $lastKey == key[4];then goto pc710
9 k. E, Y% Z6 G7 B( q, eif $lastKey == key[5];then goto toms4 I+ Z% x' l" S5 F& Q/ b
if $lastKey == key[6];then goto xpins
; a s: H3 ?$ P9 X% G3 x/ K* dif $lastKey == key[7];then goto xpinsvia
5 \3 P0 k5 t, y5 Q* Tif $lastKey == key[8];then goto xpinsintel% t7 c8 q; B X
if $lastKey == key[f];then goto floppy
. e# `5 Y4 H) m0 W0 D M7 v+ Oif $lastKey == key[esc];then goto hdd0
. H8 N' H% R; p: K* V( B3 dif $lastKey == key[c];then goto exit
7 k7 @9 W0 K) p1 V2 N Z3 o) ngoto mainkey
# k, @4 B. k* P6 _9 o( v9 h# t
ms710cln:8 ]! a6 U9 o' d. b$ ^
cls
; S8 I9 V: I6 T' n4 T2 cdiskemu images\MS710CLN.IMG. p# _. v/ |# U* m% b. I) K
getkey( R0 m) d7 C4 y) ~5 f. C" z
goto start. i! e/ A& F! v5 _4 M# C
' v9 T7 R6 J/ x' |* {
ms710std:
! |7 I: R7 \1 d& j+ L- R/ bcls
8 Y' q- v" P0 _diskemu images\MS710STD.IMG% Z; K' G: q3 \
getkey
+ N1 R7 \. T' S4 H* tgoto start. |" e, A* F# r, s7 p
) w* `9 y. R, R- A, W5 G6 |3 b0 f/ v
ms710spr:
8 b# n1 H+ }* A! f3 ]& u3 Pcls
% w! g# p* b d5 Q adiskemu images\MS710SPR.IMG, M% o" u) i2 v$ t
getkey
# J( k) i* f# i) agoto start' Y% D, }. X1 G G
( R- }5 {5 ^2 _- bpc710:+ \7 v: v7 Z- { i! o
cls
1 y' D: b# J6 C# ndiskemu images\PCDOS710.IMG
4 ]# u: s1 p* ggetkey
( s7 n9 S& P' C0 i& U4 Y. B$ Fgoto start6 N- l9 {" G9 v% ^% r3 {+ H
" h3 A5 B) w1 F9 t/ L9 m0 _toms:
4 |. p7 J! ^! U- f) `cls
9 m' S" y# p, N+ vdiskemu images\tomsrtbt.img
! O8 b4 U+ W: h# y3 C; q0 Tgetkey+ ^- O! c; ? R9 D5 X2 K1 P
goto start+ P- j# N4 j* t( R# p
' Z8 k; T4 \# H; q) F R
xpins:) R; d) I# M7 p5 a$ m
cls8 z5 t0 z% ^6 |, K3 e
chain images\MSXPVLK1.etr, \& [5 c+ K( l( {0 ^; z$ t
getkey
- t# M; x8 n/ h; dgoto start0 X9 l) r) R) ^( `# t1 @$ K$ t
2 u. L" _ w, ]. W" g( I
xpinsvia:
4 ], A: H! G* q0 Ecls
$ x, ]" M2 w7 p7 n8 Cdiskemu images\viaRAID.IMA noboot
% _8 E$ k( g; L# |4 W1 B1 Rchain images\MSXPVLK1.etr0 W- z/ Q" t, {! b. |
getkey5 \6 C4 u$ s9 ]1 s* o
goto start: P- H9 i3 p; e5 N( ~0 `! G/ N& X
7 p! X8 r) M) o3 E
xpinsintel:: R3 G$ N: r- f
cls( E. d- `1 a+ T2 ]
diskemu images\intRAID.IMA noboot5 R( T7 e: H4 {) l! V n, K
chain images\MSXPVLK1.etr8 b- A3 h# z( d# Y
getkey
y' j7 \1 S4 @goto start3 d( z7 @* ^( |9 S5 X
/ l. z& q- l: ~: h; cfloppy:* E1 X( Z' @' O6 z
cls
6 D7 P7 ^, w& Fboot 0x009 y& E* ~) Y+ L& r
getkey
% s6 |: u r( J! zgoto start; r! O( j+ u: Q9 i( U$ c
; M/ s8 \7 V" ?" k
hdd0:) W5 b: U8 h% T% G' m. a
cls. B# _" U- ]! a$ h: x. s$ m
boot 0x80
2 Z& u- l J5 Ogetkey p# K4 d, {# m5 o$ q% {
goto start
! ?; F* m9 Q1 C7 x7 t0 _. @3 O: P3 Y% \% J
exit:7 w8 C2 o: ?& f3 U8 k `* ^
cls' g5 W; }/ c$ D0 d4 E' F0 P1 M
help: Z3 t# e. T9 H5 B; y
end
, S3 R& ]- b [; R) Z$ M###########################################################################
+ _4 A6 v3 o, a0 i* P, i# B# `! x/ t* i
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
7 @3 ?# Q4 e( z: \! o7 J4 v1 A" D经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
* {6 o* a- ]) l; i来方便,不胜荣幸.
4 b/ L3 a9 H8 c E* \; P8 C; r% b8 B4 ^
5 v' r1 H3 Y/ {% M8 R: QJimmyZ于2004.08.04晨
1 l. W* K; x, Z+ C. Q, o2 @, \& ]0 s9 m6 R! T2 B4 X# f
& M. I' T7 s. | Z9 X' i: Z感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
0 M& R) T2 ~! J% {" g更加好用更加完善的cdshell! I3 ^# W2 d# _! C6 T7 W
--/ T/ V6 ?, B. _& ~" e" X2 y, }
Fake Wings
. d, R: j( R5 j& k' H% z8 wshine , bright morning light , now in the air the spring is coming
' g- _5 W* g% b8 t6 @: x2 d/ ]sweet blowing wind , singing down the hills and valleys
' R. ~7 T5 I! B+ G a" mkeep your eyes on me , now we`re on the edge of hell8 r3 ]# V/ e8 Q9 M
dear my love , sweet morning light" P6 d6 t3 \- k
wait for me you`ve gone much farther , too far
3 S1 b" u6 H, G6 a8 s. H* Y※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
* {( \- q" ^% e※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|