TA的每日心情 | 奋斗 11 小时前 |
---|
签到天数: 2385 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把. e/ L) M1 G% ?" T: |
SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装6 a$ P7 ]5 ^$ [1 m r0 R b
新系统.6 j* v6 |8 s; H( J. p
! D* h% T% q- M2 D& S: m: m
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘9 h% ?& `1 N6 ~ ]
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就- F4 ?- I% v) q* _
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
b4 H) E' Z0 n9 ]! G0 q述.* C+ v7 G% o& ?
, f6 Q8 V8 `" g9 ]0 H5 j这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
) [. P, z* O& p3 {) O驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一$ ] O* G7 p& g# | Q1 x
点,厂商一旦发布新的驱动,更新的话就要重新修改.
$ n2 \5 W" e/ `5 x, h' n( k5 k; N0 j5 q1 X0 K$ h# F; t, P
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
3 q7 ?. {# u* E8 m"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
# L" | K0 l' W s# k" K具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
" N q6 o" }3 w# q' ?6 U
. D j! q% J' S" r大致介绍一下cdshell:
+ v& ]8 C4 ~* C9 }2 }: e2 A& Ncdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell( F0 K* `) ~( o6 ]5 u
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
) Q: N+ d6 e( g- u5 U致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd. C0 f& U" K0 O1 q g
isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大$ p+ ]5 R; e5 \+ ]2 P6 a) ~
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动; \/ f0 H, d7 z, z5 y: L0 z
盘基本就是用它或其前身来完成的.: l) s% }: K- M0 R
g0 K9 Y! V q: `$ \在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
7 p' W; |: \5 Z# Z/ Y% {# h+ a软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!( |- \0 w. d$ g+ D* N' c: G
3 o2 L9 _3 ^+ f
比如启动一个软盘镜像的命令行是这样的:
2 ]! X3 \* m: w6 Mdiskemu imgfile.img
% s6 o- h$ w2 ?4 h$ y" f3 N7 K) Y启动一个光盘引导记录的命令行是这样的:+ ~- H; {% ]9 d6 k
chain cdrecord.ert
4 E2 g6 P! M4 g( d先虚拟软盘再启动光盘引导记录的命令行就是这样:
9 h0 L3 h; ~ v9 x$ \diskemu imgfile.img noboot
; |% ?, ~# h; }chain cdrecord.ert' n. U) h# Q! z
1 _! ^+ [9 i! X( x" o; e* _) r7 M W
就这么简单,具体步骤如下:" H2 e; f3 _5 {
( u: q, F- w+ r9 `" B" p. G& K这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.$ Z5 Q: B8 }! {
) |/ i6 X! t, c1 k# Q1:把XP安装文件拷到D:\temp\XPins(这个你随意)下" M! q) n: n" @3 a( H
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
/ V5 }* x6 V" {# E o2 g2 F3:把D:\temp\XPins\boot下的loader.bin移到D:\temp( @, |6 H! ]1 j
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
- H: \& q( E! U3 p5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
, G# |2 R4 }# N$ E1 I是你要的,不用的可以删除,脚本可以参照下面的范例
7 y9 H) A; k% p8 P% y' }5 q+ I6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像" i- k# \9 F7 D- y
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
~. i1 J, x- @- P, e% X% n7:burn it, have fun!- Q, w% [) h" ]! w9 p1 j$ e- s) o
, t% q1 K2 Q2 }9 [/ S- q4 P
我的cdshell.ini:- L1 G0 t5 q; U4 k( t8 T
###########################################################################
9 _4 U0 w, i6 O/ z0 t( Lstart:
- I6 |1 R; E! v/ F% B( \1 A, Gset c_1 = $textColor #get the default color* ?, c! f! v! @ p8 C, ]5 g
here0 }& f- Y- ~1 m/ k8 F% J% O
set c_2 = color[brightblue on black]
0 D0 `2 c$ U6 Y! V/ T3 O8 vset c_3 = color[brightgreen on black]
9 w9 X) w$ ]0 A$ Z* Z) tset c_4 = color[brightred on black]* V; H' \, ?3 ~7 j
set c_5 = color[white on black]
3 Q+ d* {, h) x$ f u# E8 u: _4 U1 `3 b t
cls( R5 P6 u! Z! w
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
$ v# k; @* e) W% \" s8 l9 _\c($c_3)Aug 4th,2004\c($c_1)\n"9 `, u6 q. U/ h% h) k4 I
print r "\c($c_5)Powered by CDshell.org\c($c_1)"
5 Z3 ]; ~9 K/ s/ zprint "\n"
0 w; d4 b! j3 A. z8 ]print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
' D- O" F2 e. Y b; l2 X/ Fflasher etc)\n"
% e/ J+ q7 x4 }: f$ p [print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"& m( ^: a, p. H- p! x4 d2 z
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"0 \$ N0 N: C9 }' ]# P6 |4 e$ M* G$ U
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n". K+ Q0 E4 \* o, U; z
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
4 O: J: I @5 ~(Linux 2.2.10)\n"
1 Z1 n5 v) B0 p6 N$ i& bprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
: _; d n, j! \* h& kprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA% e( ~4 g! m: s# Z
RAID floppy emulation\n"
: t) \( `" Y" v$ h4 q( uprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel$ E0 }( H4 c' K2 a$ L J
RAID floppy emulation\n\n"
& g# [6 W E! d8 s! kprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot, K; u$ L( [1 R0 n6 i
1st HDD\n\n"5 e/ M) m% { F+ B. z% l
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
h% i3 V! X8 l4 d0 r1 W1 \4 kprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"$ h$ X* T; `( P+ B8 ]
( [/ x1 J: n# |4 E8 z [* Emainkey:
! X) {" C1 d0 ugetkey 30 set lastKey = key[esc]
2 L. G' P9 F' [if $lastKey == key[1];then goto ms710cln
* e8 M- k% h1 |3 [# s: w$ }& Fif $lastKey == key[2];then goto ms710std
' L T K" v/ P9 D$ Tif $lastKey == key[3];then goto ms710spr
! X$ h4 ~% ^8 u( I( q; ~if $lastKey == key[4];then goto pc7106 y' M8 b+ [* z# s1 d) C& z2 W
if $lastKey == key[5];then goto toms: |- d8 {* K; O& e8 |& ?# O. I
if $lastKey == key[6];then goto xpins7 r7 R: b! o v* ]
if $lastKey == key[7];then goto xpinsvia
5 D, s% W. U: \. rif $lastKey == key[8];then goto xpinsintel
* ]7 D: n! V% l- I4 Y. Z! z; ]1 iif $lastKey == key[f];then goto floppy X* F+ V/ p- W$ q
if $lastKey == key[esc];then goto hdd0# x5 L) d0 @' q3 V$ I$ \! P
if $lastKey == key[c];then goto exit
3 o* n+ @# i) O" h. R" v0 jgoto mainkey
5 m! X$ N: g& r! J7 B
0 v8 W6 d) _+ m0 D( [ms710cln:1 B+ @2 Z& H1 O8 ?8 G! \# K" h
cls6 f6 y! c9 q4 a' y
diskemu images\MS710CLN.IMG
' _% U2 G8 m' ngetkey. u. {" h# H# \/ @& c
goto start
* l$ {% o0 L* U7 S* k# q2 N, v j
: B" T: z0 w. C9 Cms710std:7 L1 M% `% @4 g/ P
cls
. R: k, m) N1 {- S3 _" n. l; Qdiskemu images\MS710STD.IMG8 o B. X$ ?7 N2 D: c) q& F
getkey) r, q3 l. Q6 ~
goto start9 h, b( r7 X; ^3 @( ^7 c
. H/ V4 l' k( z8 s" h* u' Gms710spr:4 A: J+ j# o$ R; y4 n& n# G
cls
0 g$ ~! o2 m I k4 Tdiskemu images\MS710SPR.IMG- z2 j G- H- C2 c$ ~) |" ^
getkey
" @! Z) f3 X5 Qgoto start% ^$ x) s* ?" T3 Z6 i
2 o. x" x& m" g' R
pc710:7 `* A6 f7 l u, B7 Y( S# c
cls; |: k7 l1 N7 w5 I
diskemu images\PCDOS710.IMG
- p5 `* m# w1 f2 s/ zgetkey
0 Q$ J1 }) ~1 e. Ygoto start( ]( ^; l' b* ^! S- U
. ]" d+ p4 v4 @6 N2 {4 h3 j- o9 otoms:
4 E% {9 z3 J0 P X, J7 Wcls$ D. ^8 f1 A- x. l9 {
diskemu images\tomsrtbt.img
O) C( v0 z1 B# H! s- o" N9 |: x" pgetkey' v/ \$ J3 W, A/ h5 @; Q
goto start
! \# B0 Y8 z& R. L5 `1 o2 D# m: ^$ Y( e6 P% x" P7 j
xpins:+ l- z9 i2 Y" Y! ]' p
cls8 i! s9 V) w: I
chain images\MSXPVLK1.etr) `4 U8 ]- F2 \3 k
getkey
! P' W. u6 f, k% l% p% Fgoto start) J G# K7 A3 ]6 ^4 b' C
0 O' Q X. W/ P) expinsvia:
$ w& _1 }) O' K/ }6 Jcls' @5 c. I4 V2 F* K* }1 G( m
diskemu images\viaRAID.IMA noboot
% v) m* t' e0 r( |& G% C, U) S0 i, W0 nchain images\MSXPVLK1.etr: ^ J# O% p% w7 N+ [* J
getkey
' b7 [1 @) [8 U% V# x7 ~goto start# _7 n3 F8 P* a- a
6 ~5 G1 m: F( U( {6 F9 c
xpinsintel:
( a* W& B$ p( r9 T" ecls0 U; v; Z5 \2 j( e N! A. i/ ?$ F$ l
diskemu images\intRAID.IMA noboot6 W6 M" Y$ }; B N8 w+ D
chain images\MSXPVLK1.etr
1 k& T1 S* F, x/ d) f. E6 Ngetkey1 T6 H; z" b* |8 M
goto start, j4 {% e: U2 m; `; H8 U
6 h& o, l- t$ Q! d6 j
floppy:
2 M `2 B- `' V/ C, ucls
1 _/ ?: D- ~! G. q, }5 E7 Jboot 0x00
& |# T9 @6 v+ _7 o$ bgetkey
& f/ {3 ]+ B1 o* C6 Hgoto start
+ T0 g$ m& x, z' S& M! T7 |
. S' X3 r9 K& @' g5 j4 z% Q; {hdd0:
/ T/ W8 @5 U. @9 @$ O* b- @cls
: ^" w* v- H2 {; pboot 0x80! w* H9 b/ Y6 A% t+ P
getkey5 F. C9 j& @. j2 ^2 ^" i8 j
goto start
9 ?2 _+ l) s8 S U! b$ Z" M: ^* ?0 @( A
9 `0 f1 {- z8 h+ bexit:" i" r" g$ M) S; z( h' P. \0 K
cls
# }& r u$ p V2 K' l4 s- ohelp0 l$ E# l+ G3 B
end3 I/ E, M' b5 {
###########################################################################
4 p. G* }, @, J( E* G5 ?/ Z U/ f/ C& a# \
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
' T! b5 N6 F. T( [2 |; H6 K经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带0 i% R0 v8 [' {7 a2 z3 ~
来方便,不胜荣幸.# @9 s5 Z: Z: T. ?. ~+ H
2 N" E7 v% h: f2 p% S
6 x. W& j% V A! p2 a6 \JimmyZ于2004.08.04晨, g$ K! |5 O# a' L- ]; N
4 [7 \# l6 F' |7 H
. e$ ]/ @1 S, l( \4 F5 h- L感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的3 ]! D) U: _ y8 {& u$ n( r/ n7 L
更加好用更加完善的cdshell
1 c6 c7 S) ~) w- w& Q, ]1 u$ X--9 ~/ S) S# Q* c: N: j
Fake Wings+ n4 h8 G8 c7 _; R- p! e
shine , bright morning light , now in the air the spring is coming
' E( N6 c2 R/ Y* e* lsweet blowing wind , singing down the hills and valleys' J, S1 b4 T" X" [8 W5 u; H
keep your eyes on me , now we`re on the edge of hell; n, i0 @! e( m- m
dear my love , sweet morning light
7 k' L" S7 f" k) V5 ]wait for me you`ve gone much farther , too far! J6 j. C5 r7 B% V8 P. W. C
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·# C* w1 |4 Q) x2 k& A: ?
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|