TA的每日心情 | 擦汗 昨天 17:14 |
---|
签到天数: 2366 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
. J! b# A, d |1 j9 p. SSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
% ~ x) J$ x: W( L, P新系统.% ]! e1 i/ z2 E2 t5 ?8 N* L- f
& E) L! a; u# I9 J& W: o+ a) o这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
% d) q, D" m6 B/ e/ B, N中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
+ g9 V: R4 F! y$ U: `3 n有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘1 C( ^4 L. E* f8 E
述.
4 I) u# ?# x: S8 j: c$ K1 d5 s" y/ Y6 n1 v
这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
; X7 z8 Z! X# L驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
. G& ~( }6 f7 B点,厂商一旦发布新的驱动,更新的话就要重新修改.
0 H- `1 a" v: P8 ?/ T6 L0 | |1 `* _ L8 E; D% D/ e
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
) _& Q+ m1 l- q! v! u"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
p6 J6 z# x- g/ k* A2 g9 y具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org) u- G- e3 T/ h8 ~
[& ]3 i9 C! V7 y9 \
大致介绍一下cdshell:
- J& k( E" \% I9 A$ Y) \9 d4 Ucdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell9 C0 i5 M2 Y! G& u6 g
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极( {3 K$ ]2 f' w5 }
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
+ @. b+ O8 G1 b1 Jisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
! p# h- Z6 Z Z0 w- |的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动 s: U5 p0 W9 z* M; r l
盘基本就是用它或其前身来完成的.
* A1 h0 X4 Y+ X- ~( U+ r% z0 |/ `. O9 ]+ e
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
2 H- b8 {& m8 e, I3 B软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!1 b! i1 o, \ P! Y8 K$ g! j
$ u: O# Z! a+ i8 }& R比如启动一个软盘镜像的命令行是这样的:
) ?2 V! }& n! ^diskemu imgfile.img& v9 f9 X# Z& t* {8 Z
启动一个光盘引导记录的命令行是这样的:, z+ q) Q) a3 S+ W* |) B6 |7 k/ f
chain cdrecord.ert; k' ?$ D) R7 C# S% c
先虚拟软盘再启动光盘引导记录的命令行就是这样:+ N6 S9 B, K, h! Z( O" O( C C0 d
diskemu imgfile.img noboot5 o U4 d( H( i
chain cdrecord.ert, ^. j) R$ x1 A! ?& I( w+ b( ^7 G, }
8 T& }+ Q; y4 r8 t2 k( L" p就这么简单,具体步骤如下:5 x! e! [' @' |1 ]6 D* e; ]
5 S4 P0 B3 q+ F
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
7 P8 K8 Y! A6 Y6 ^
1 R% |+ k) D+ R: d" K7 z' J1:把XP安装文件拷到D:\temp\XPins(这个你随意)下% H! d8 w$ h# A2 _0 x
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
: Q' h: W, H! g5 b: y3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
6 i2 k- C2 F6 S( o& h- ?! B4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下1 R2 n9 K& g8 y# o
5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
4 V( Z o; M/ f' y& s是你要的,不用的可以删除,脚本可以参照下面的范例& ?6 K2 i X% I8 j( U. i" q
6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
8 n8 j2 f4 R- u7 V3 F, q# |: gcdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso: B# ~! T* E2 ]4 w" X; N/ k: ~; s
7:burn it, have fun!
# r* V2 r+ T9 m2 ~1 y; d9 d8 ?2 e/ G/ M- l% r
我的cdshell.ini:+ s9 }2 q1 X) j" c6 h! D: x v
###########################################################################5 J( e- V r8 X3 y' z/ i8 A$ X
start:
- A% h. Q7 p; ]set c_1 = $textColor #get the default color. V2 ^/ J# w# b3 H7 {$ K
here
" P' N; q8 V) \+ i. d- L% `8 v& V% h% ]set c_2 = color[brightblue on black]$ J. Y' W! U) a7 m) D
set c_3 = color[brightgreen on black]
& ? n4 o; i' sset c_4 = color[brightred on black]( T0 H8 s( m5 E& n; I' t% O
set c_5 = color[white on black]1 O7 d9 U. h; V. i. F U, ?8 t1 `1 J
9 d! n3 J6 j! y
cls( o1 a, t* z2 b3 L: q$ \
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
: p* |# @+ [) U) d+ H\c($c_3)Aug 4th,2004\c($c_1)\n"
$ j# G* C8 ~, Y6 l3 X/ zprint r "\c($c_5)Powered by CDshell.org\c($c_1)"% m1 X" G7 u" W' K
print "\n"* d; m$ c4 I5 p
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios/ ]6 `( M% C. ~( e/ Z5 d) B0 c
flasher etc)\n"
" T, F+ H# {1 o" R( nprint l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
8 U2 G/ X8 C' Rprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
' b% h5 G% i7 M" k0 _3 Cprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"9 l8 i8 d3 s- [4 d
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition; ~) z' y3 @+ K8 r! b5 Z9 T" B
(Linux 2.2.10)\n"
9 _: f E' Z$ L2 z# i; M; X$ D& I: T Oprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
u9 Y( x9 U" _4 C& T( r: M; Qprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA; ], {; u: z9 s: y7 ^$ B
RAID floppy emulation\n"
0 z9 J) k' v' {. L1 G5 Cprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
! _7 H7 [4 t/ a ^: ~RAID floppy emulation\n\n"* \# d5 c3 D8 R! C- k
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot) L, B& y# F2 S. K
1st HDD\n\n"+ L" M; d% |8 E' Y" Q S( C
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt") l3 |2 H& w8 [: G) d2 h
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
* i6 g: x. l2 a+ L" x3 d7 U6 U$ z: b+ o% W- [
mainkey:
9 S+ l4 d6 {" T' Y; `getkey 30 set lastKey = key[esc]: q" e' X( q7 v- T
if $lastKey == key[1];then goto ms710cln! k7 a1 H1 V& B0 W0 ]
if $lastKey == key[2];then goto ms710std6 [" b. A* Y$ ~' S. v* {7 c2 i
if $lastKey == key[3];then goto ms710spr$ v5 L/ @7 o! K( v# u7 @" b
if $lastKey == key[4];then goto pc710$ d0 K& G: P! v- L% n! t8 e
if $lastKey == key[5];then goto toms* c0 z# S% z B2 }
if $lastKey == key[6];then goto xpins: n7 y I& r9 t2 f, g3 k
if $lastKey == key[7];then goto xpinsvia
! n( q8 R% h, [2 Lif $lastKey == key[8];then goto xpinsintel6 ?& s$ [' ^% O5 z
if $lastKey == key[f];then goto floppy6 b. m0 N5 D- Q5 R4 A
if $lastKey == key[esc];then goto hdd0( X9 T8 h# B$ [" P) ~7 r
if $lastKey == key[c];then goto exit
: u5 b5 V, v3 R0 I( Ugoto mainkey
9 w4 L$ j. [" B' n" B
; R* a$ f6 q& J+ c9 f% fms710cln:9 F6 s5 N7 e. G0 b; h6 x" X- v4 r! [
cls
! i- T# A! l% M/ ydiskemu images\MS710CLN.IMG
. Z7 e0 ]0 E8 l6 v5 Kgetkey
$ o1 K8 [1 G" d6 u, _4 [( c( Vgoto start
1 e( ?& z+ u8 i6 }1 K7 t2 f. z9 S8 ^5 k& m
ms710std:6 P& U3 d- O( D3 W |! F
cls" g& p/ q) Q' H
diskemu images\MS710STD.IMG. @% T- C( n% z( K
getkey8 }0 ~5 _( x7 x( j7 d
goto start
9 `7 n3 D$ E" E1 R6 K1 H) m: g( x5 G0 T# C" F1 R
ms710spr:
5 d9 j8 a/ @ M& pcls
- S0 ?0 u4 t0 b& @' n. w( {& Bdiskemu images\MS710SPR.IMG w' `" K! q# g ?5 [ W; ~8 ?4 o
getkey5 r) Q1 I; d' a- ?% L- _
goto start
; F- @/ [" }8 q/ D+ v4 p% H! C; q- f9 L& ?6 G U0 R
pc710:& q% ]+ j, H8 t1 C; R
cls
* ?+ I- u. B2 `7 ]/ v! {( }6 tdiskemu images\PCDOS710.IMG7 |$ d/ _5 h/ C( s' N [, d0 Z$ d
getkey0 v5 |+ S; f% F" y/ X% C3 u
goto start
1 R( L1 E) _2 T3 j: {) h$ d j; ^' P# k7 {
toms:
: M1 H, e8 C& v9 T& Kcls! Q7 w+ c9 j. j+ v: ]5 D3 G" G
diskemu images\tomsrtbt.img
4 \ U5 G. f' N" F& [/ |5 Pgetkey2 w7 S& s) q$ s. n
goto start+ @) p- q6 K2 L( }. h1 K b' Y
1 W2 i; q8 e5 v/ Xxpins:
$ b8 Q) w) W# T u- scls$ e; [4 c9 T$ ]; F+ K4 r- E1 u8 r
chain images\MSXPVLK1.etr7 `- u* p. G0 f4 Z
getkey' `+ S I& `+ I1 t0 H( T
goto start
7 i! ?: `. g$ b: b5 _1 I& z) ?3 s" A7 z, C! j' o2 g) N$ X
xpinsvia:
9 g, R- s# E8 I/ Gcls
' ^4 y0 n) x3 L# l1 Ndiskemu images\viaRAID.IMA noboot0 v0 {+ M* X8 x4 B/ a( ^
chain images\MSXPVLK1.etr
( z) y% H* ^, B1 q/ Mgetkey. \! B2 w9 B5 R2 p* ^" a
goto start
( e. O. y5 Z: H
- b' ~) v0 A7 Zxpinsintel:
# K" x2 ` \3 ]; O( `! Dcls
0 _' o1 t% M( r- \, ]: Zdiskemu images\intRAID.IMA noboot9 M$ N; F5 h" j6 g2 `0 Z1 ?
chain images\MSXPVLK1.etr
1 S u: m1 M# D- ^' qgetkey( m3 z/ g7 i2 s' g
goto start
8 a! ~# i+ r3 u. ]! h3 e7 C. ]! U( C# J2 T# r4 | \6 E( c- j
floppy:
( d& M3 r$ @0 rcls
' j8 [0 y# \7 j4 t$ @boot 0x00
8 L0 Y% ^3 s, g% G- R% pgetkey* A" F9 H: W% F
goto start+ b0 G# U- n% a6 ]( \9 p1 Z% k% B
8 t M$ \" K# a4 v# N: c$ hhdd0:
9 d) F* [3 q' h- B- D: V) g! l' gcls
% \8 w; S9 Z5 ^" c x" Gboot 0x80
% B3 ]& R3 {; Y: `1 _6 Q0 F) Kgetkey+ ?3 I9 x9 N& A7 `" K
goto start
3 ?5 C" g, g1 Y9 l: X1 c8 i
B2 }( L; q( C" ~. N- Dexit:
8 v9 u, m& n* `cls1 x5 T" K5 A4 L3 q
help4 h8 r( Z# Z( }2 r- r
end
8 i, z9 b2 v' R, i5 @" ?###########################################################################
, ^3 d3 V8 ], S; X' C7 K6 c0 m$ E4 v
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
- a2 B* D: m" N v+ l经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带7 j6 ^& @2 |9 m5 Q% ?7 n* R
来方便,不胜荣幸.
5 x2 s: Q' [& U b9 x! {3 e, ]. G% V- ^5 s, |/ w* E
4 A; s7 u1 q. v! N
JimmyZ于2004.08.04晨
5 `& |: x T3 s1 n& K5 j
' w3 a: m9 s6 ^/ O; ^) h5 O) H, o1 y6 y9 s
感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
( G E. O6 Q. L% G: \7 N3 X2 o更加好用更加完善的cdshell' U' K$ `! G$ b# ?+ `1 f
--5 p- P8 a4 B( P9 {1 c; m( a
Fake Wings
# v% a% {6 N: C+ a2 S. Dshine , bright morning light , now in the air the spring is coming7 I; S. O* C5 x9 l
sweet blowing wind , singing down the hills and valleys, c& \% A1 k7 m
keep your eyes on me , now we`re on the edge of hell
8 s6 j9 \: m$ j; C$ L& t, J- |dear my love , sweet morning light/ l' [) m2 G7 g7 {% C
wait for me you`ve gone much farther , too far
- p# u1 u5 r# s! N* o7 d※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
2 y! F2 @+ x ]5 y※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|