TA的每日心情 | 擦汗 昨天 17:14 |
---|
签到天数: 2366 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
1 Y' o/ }$ K+ P1 e# E" m0 [& _8 V! s5 @SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装8 ~, r& w6 }/ [9 I7 f! q. W: W
新系统.2 M0 R t" ~1 l: G8 o- n
: x& G8 r" x' c' ]+ r7 }% c
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
! r' v( j) N% l* U" l, u中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
6 O# C" k7 \6 Y有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
% c# L' h: N/ B' X述.. w5 L2 {" \/ ?- Z2 z3 z
4 \. E" L3 A4 |. @6 _这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA/ J2 J3 P) e4 ]3 }1 ]% c
驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
! ^2 E: J5 x* y z9 w3 s6 U点,厂商一旦发布新的驱动,更新的话就要重新修改.
4 U) K2 N) L9 A
9 u, g" K4 f3 X, |* Z9 y* e$ k我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的( L8 ^# r( y- \/ U! o% K
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工1 S9 f& H# Y' r d. b
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
# R: x9 w, O, t2 ?/ g+ ?
3 m, ^* I& P7 h0 K; U2 w大致介绍一下cdshell:
1 c( x0 C J( w: U- Pcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
6 i" R$ Q {& W- Y8 ~5 k的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
4 Y9 d) w/ Q' V ?: R致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd3 h G" Z* A# i) Q- W
isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大( D: {8 e5 i' r+ ~) P5 ~& D V' v
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动 |5 y z( J9 ]- a. G n
盘基本就是用它或其前身来完成的.
+ I: z) C+ y) C' W1 e! l3 U+ e' b5 Z8 y& d* k8 e+ Z1 G
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载. ~5 ^# K3 u/ X- R r4 r: M. L
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!; C! l8 I, ^) d4 U: E( f
. {! L) K) z; V, f. r8 T
比如启动一个软盘镜像的命令行是这样的:
, {$ d [/ r: D9 ldiskemu imgfile.img. l* E6 k; t) P* B4 z' K
启动一个光盘引导记录的命令行是这样的:
* O1 T" k& |+ _0 xchain cdrecord.ert8 G# w3 \* p: S- k9 R
先虚拟软盘再启动光盘引导记录的命令行就是这样:# ~; a" g/ i0 ]7 G
diskemu imgfile.img noboot
# b( L8 I, I' V! P. `" D tchain cdrecord.ert
9 U+ P* `: h7 y. q% _* ]2 e7 B! E! v. D) t9 I+ ~
就这么简单,具体步骤如下:% B/ u6 y& Z! C0 f* U: c1 U# |5 X
1 F4 L/ y2 H0 c [8 ?5 Y4 [1 c# K这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.8 l% \4 M* ?6 P* P! M! n' J
, o* O z/ J( K8 J# V4 m1:把XP安装文件拷到D:\temp\XPins(这个你随意)下% M1 g0 y3 s; F/ X( G' C
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins% G6 |) x" H0 g. W& |8 A$ Q3 L0 |
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp" g+ @* n0 `* n5 Q; o }
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
, p4 z' y/ g4 R( x5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
0 p- A: G( J* P& P# k是你要的,不用的可以删除,脚本可以参照下面的范例
* w" r& f, d. U# Z6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
6 _3 Z' P2 ~" [5 N O: r9 A2 mcdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso% r8 x* ~( u$ e, c
7:burn it, have fun!/ F, B! c% I3 E* J& ~# Y; E/ G
$ j# W) }; u" q! U( o, f
我的cdshell.ini:2 y8 ~( r- f* L
###########################################################################
6 s/ I! i- o! @2 [ `+ s! G- }! _start:
! m: A. S" |: M' Qset c_1 = $textColor #get the default color) T3 C2 [6 n, \9 v2 ^
here: k7 c9 J" z; h2 F4 H" C3 Y
set c_2 = color[brightblue on black]
! i+ V; t! `+ ?set c_3 = color[brightgreen on black]
5 c3 y1 A& H* P- Aset c_4 = color[brightred on black]: Q [9 X% P; D( T
set c_5 = color[white on black]
X y# V4 P2 d, p+ T9 E! l1 j) X4 \" [$ Y" m% x
cls# ~8 {5 I) m3 A! F6 {* U: M) [
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version. z! j% O& I2 I q# k
\c($c_3)Aug 4th,2004\c($c_1)\n"
1 ^4 m! s$ G. }- f( @print r "\c($c_5)Powered by CDshell.org\c($c_1)"$ m9 L4 J* M# Y) o& D' ]' _' V
print "\n"0 Q% p5 z" [2 M1 p( c! D9 l2 S
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios; P5 ^! d6 S4 p; L- w, q. L$ e
flasher etc)\n"
5 K+ ^& r0 o/ M' w- A ]# A. Kprint l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
2 V/ Z- i1 |; U+ J! bprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
& \& J. O+ L/ a1 ?4 e$ X7 N( x; Wprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
* u8 g; G: q3 P oprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
4 z7 E/ o- N# r9 H(Linux 2.2.10)\n"
. o1 ?+ r3 g9 _ z6 \print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
' d) F5 a9 h0 m/ {0 A# Gprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
7 I& u/ E% B, @0 L6 K& vRAID floppy emulation\n"8 r2 w4 Q' S' X# o9 `$ G" Z# k
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
- D7 p/ f- @+ C/ A7 K% jRAID floppy emulation\n\n"( E2 K1 i# t+ J% \8 {' j4 c
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot! n! O' o" y+ F/ o! U5 T, a
1st HDD\n\n"* u: l- n3 ?% f9 w1 O" O- F6 f- s' R
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
X7 K$ E* U$ g4 Hprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
" K: Y5 O E) A Z; a& f2 }( g% h7 j* f$ V4 O/ u
mainkey:
7 d4 W/ D; @! B0 h3 k; x( egetkey 30 set lastKey = key[esc]
! x' l0 W' }- U5 Gif $lastKey == key[1];then goto ms710cln
0 s6 i( L0 {/ j3 t+ c1 ]if $lastKey == key[2];then goto ms710std& Z+ ~6 d* v* Q3 ^" X& t _
if $lastKey == key[3];then goto ms710spr4 [! u) \* v y6 }" k
if $lastKey == key[4];then goto pc710+ j6 m4 y, {: u8 |
if $lastKey == key[5];then goto toms
6 m6 a l. S5 p2 b6 p9 u, Fif $lastKey == key[6];then goto xpins
* G/ l! P" H) k% X7 ~, Z- sif $lastKey == key[7];then goto xpinsvia9 D+ s9 }! }% Z( G+ b* K
if $lastKey == key[8];then goto xpinsintel
7 k5 ]* J1 D5 C [$ Rif $lastKey == key[f];then goto floppy* h- y0 N9 {7 S3 x6 w7 @) y
if $lastKey == key[esc];then goto hdd0
* H9 e) X4 E/ u$ ?' mif $lastKey == key[c];then goto exit
( M3 ]- X5 ~( W# Y/ `. B, ~goto mainkey
, v% {" @- u$ a0 c
2 n9 W7 l+ a) h2 gms710cln:
1 D' P; D' A. \& Ecls
4 A9 x! Y: ?) q @. b9 D/ ydiskemu images\MS710CLN.IMG
6 W/ A- n2 u: B" G. b1 a% h* P" rgetkey
$ Z4 L1 a5 f A# X( L& d- Jgoto start9 U; B9 B1 U' w
9 A' ~$ e4 |' D, [( m, e& \4 \+ R4 a5 l6 lms710std:
/ k1 U6 Y! H Mcls
3 ]0 f! Z2 d: w Odiskemu images\MS710STD.IMG
" k2 |4 a, W) e9 }0 K; ~4 f$ ggetkey
' E8 j6 ~7 C6 i* u' ~' ^! Bgoto start
, }2 G3 r& q9 s9 L1 w
: j0 k% L7 U9 ]" @; e; [ms710spr:
1 X* e6 z# s3 G; X( `: Lcls& H' T/ |* Z$ ~- b& j1 j
diskemu images\MS710SPR.IMG
" \9 u$ i2 ?3 H8 ggetkey' N5 ?$ E* w2 f' w
goto start
- y" K7 a; g$ }
& }. z2 X/ y R+ D) U% ?+ U" ~pc710:
( _1 h J8 t% Y! k# D" n# {2 |cls, s D j: L0 g( z
diskemu images\PCDOS710.IMG6 K3 e3 v0 x2 a0 c* Z( W
getkey4 F9 |# y8 q* f( F7 h9 t7 |+ q3 f
goto start' z% \# a4 ?, _2 h) `* o: Q# l
7 h$ P& b8 N8 r
toms:1 v$ @6 y2 i$ @( {. n
cls
9 g. |) a4 B8 n2 fdiskemu images\tomsrtbt.img
! j8 ]: j# |& ?getkey
+ K+ R8 ]8 X8 Egoto start
" @7 \' v% i" q. T) V! E; U" J' ?1 [" N
xpins:% A- @5 r! H5 h: R6 K2 j: f
cls# F n! F3 O4 d! G$ L' r
chain images\MSXPVLK1.etr& R7 ]2 g. m7 b* ~- _8 z
getkey
2 O' X4 `; D4 l0 Z( Dgoto start
$ C$ E: D$ G; X' f$ X5 ]4 g% p: p3 |, }- O
xpinsvia: r% T9 s! Z6 `. u) Z* f1 d
cls; F4 N/ {; |7 A n6 u) W k
diskemu images\viaRAID.IMA noboot
1 B! ^# B Y. p5 l, zchain images\MSXPVLK1.etr4 u* x- }3 c4 p S; e b
getkey- L& |! q2 N/ o; H1 Q% i
goto start
4 N% F3 K3 ?2 _# f4 n( y n1 ^, _: z* L
xpinsintel:
9 H# w2 I$ \& o) K7 ^cls; Z. e; X5 T0 y
diskemu images\intRAID.IMA noboot; {( ^1 I) b3 R0 `% T; x
chain images\MSXPVLK1.etr
* M/ u/ i' a8 m! c& G$ @+ Wgetkey
9 E! g# h) u+ |! qgoto start
; t% a9 k/ r+ x! F! O
* k3 S, j9 _5 x3 n( V) d0 kfloppy:2 V1 u$ z0 w( r- U. a8 a
cls
# t. F& b& \4 t+ sboot 0x007 A/ T- R5 w% Q: X9 n
getkey
% a0 M+ Q- H! z0 |$ b6 qgoto start
) Q4 [8 r4 ~7 l5 Z( e! J" b
1 a0 v; T* a( x6 _hdd0:
) u. o* o; L' S; X. l7 C6 gcls
J8 \1 p% P# z4 fboot 0x80
% r( M% a* }. V/ Tgetkey7 R+ m5 Q+ a* d) {
goto start
) V/ _8 l6 {, i7 |$ [# `8 R0 j& T' V; }( T
exit:
7 L9 _6 U3 ?* C, P+ k' Y+ t. Lcls
7 ]* N n: J5 Zhelp
+ m/ a$ a$ H# c$ K, n+ C" \& Dend
/ n2 _7 b' _. l* }0 d y###########################################################################
; b& B* [) |1 y: j0 U" U `+ ]. ^9 Y' [, ]& k: y
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
+ ]- q% i$ f, m' ~% b经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带2 D8 ?% o+ f! M. N, O/ R* t
来方便,不胜荣幸.
( u$ L9 B6 L" h) h* h' Z) q3 _; i
! Z& Y- {& W7 X2 H# V b& w; j+ U/ ^# C5 _) F2 |) f
JimmyZ于2004.08.04晨+ Q6 X* S" z0 i" ~, [
/ a+ h; ?2 ^% V- d, r, h
" a" E" [1 B C, t感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
5 `; B0 _: z3 E, |6 C更加好用更加完善的cdshell
' \/ |) M( l# O Y+ l: V--
& x5 l# b) W$ {; q- p; fFake Wings0 f4 Z3 \9 n" o/ z/ W
shine , bright morning light , now in the air the spring is coming. m S6 H+ F8 ~8 E& `( i
sweet blowing wind , singing down the hills and valleys3 p2 k6 y! B+ Q$ }" P; W6 d7 O/ p! D- X
keep your eyes on me , now we`re on the edge of hell
; u' C* U/ n/ y+ Z( Z- ~# ]dear my love , sweet morning light
& z' i6 @3 Y+ J1 X& |9 }wait for me you`ve gone much farther , too far; {' L6 ~- j, K- c7 _6 T9 I
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·4 q0 \- G1 [+ O$ `9 `- l- ~$ p
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|