TA的每日心情 | 擦汗 3 天前 |
---|
签到天数: 2402 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
7 o( E/ b. q* b/ r" Q) s8 I7 DSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
/ L, D/ V1 H0 N. a% T新系统.
% M z* y5 z( G v& w) h! Q
9 h% V" z$ V/ }' I% i9 F2 ~3 Z3 l这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
% C) \: z8 z# p3 ]2 q中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就0 Q# I4 {' T$ r8 [4 x. k9 [
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
' q( Z, P% P+ t+ O/ n4 O' d6 w述.2 I5 C+ m! D& f" |7 y2 z, k
2 `6 n- s O7 \% g- P这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA5 e. W# s# j+ |. z( v5 `- _6 j1 h- q
驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
9 h7 f* a. e) `) F& E" e点,厂商一旦发布新的驱动,更新的话就要重新修改.* m/ u5 q* m% x. C9 E! B, d5 z) M
0 Y& W: J. Y3 W. a
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
% v& D' s& v; p3 O' ~"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工; ~" J2 `" x7 x2 a& t
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
9 s* h3 g# i7 l5 T( N4 p/ W( M ]: ~- [# w+ A3 H3 [
大致介绍一下cdshell:
4 ]* t+ i/ ]1 L$ n' t l8 O9 c. T+ tcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
% l3 W6 W% S( n2 B, v0 s的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
+ r9 q7 {& z6 w8 p* E致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
1 W; G6 R) ?% l; E9 disk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大' I" M7 M6 F9 c5 z8 f, ^" V
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
5 ^* h( o4 L0 T7 q盘基本就是用它或其前身来完成的. u. t$ r$ C D0 r/ c
4 X: F, n5 r7 u/ [! H! u9 K' w在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载7 Y" E/ {. V+ W. S1 W
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!1 ^# m: S. H0 u" s& B" O( @
3 l4 V0 n) p( p# p9 V: \) G+ ]比如启动一个软盘镜像的命令行是这样的:4 V' g3 _' Y9 R0 t
diskemu imgfile.img4 B3 I) `' I, m P+ P9 b2 C' P6 b
启动一个光盘引导记录的命令行是这样的:& ~8 B9 j* ~3 w( ]! _
chain cdrecord.ert* n6 u D$ W0 f/ F
先虚拟软盘再启动光盘引导记录的命令行就是这样:
( b; n$ J* g$ _1 n. W( t8 G! _; Odiskemu imgfile.img noboot
/ I8 e/ O+ M1 d* O4 qchain cdrecord.ert
! M7 M. v9 D6 H0 h/ Q- |1 t1 n4 O
% I! m' R" H5 @& E4 _3 D" }就这么简单,具体步骤如下:
2 k, K; h, x; L" g; k% ]
! S% G7 R0 ^* }5 k' ^3 T8 q这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.$ g8 F+ `7 D- U, z
D+ w3 I# S# Z. ?6 N
1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
1 f; G5 m# T4 s% |+ I& G# O9 g2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins. M- m( R, I( I( i7 j9 q1 {
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp+ K: X. \* c- _/ r! C- Z( K4 C
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下2 P0 s1 U/ V% u9 ]. W9 _$ G) a7 b
5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
" {9 \0 U2 i& Q: }8 I* N是你要的,不用的可以删除,脚本可以参照下面的范例
5 N' c/ E. U: M+ s' E; m& J9 l6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
* K) g" w2 `( b: a9 t8 Ncdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
: Y# k8 _4 ~& |+ X7:burn it, have fun!
$ W+ @3 `/ V S$ S L* J$ e5 ?* C+ P% n0 G
我的cdshell.ini:% J1 `) C( p' @0 K! ^# @- n0 Q; \
###########################################################################
$ b0 ` V D; w7 o1 f, s, ?start:( m7 T& Z9 x! H6 ^% t! l
set c_1 = $textColor #get the default color/ V9 V3 o/ o8 C: l
here
8 M3 g' W! q- x" Z& \% [) [) ]set c_2 = color[brightblue on black]; m& j9 S3 G2 l7 Q! d
set c_3 = color[brightgreen on black]
& a: G& ?" n) e) _' Kset c_4 = color[brightred on black]
% Y' c T+ N0 z& | d Nset c_5 = color[white on black]
; N8 i# c0 d# Q/ y
# G( x4 s( v6 d! U- N/ Z6 hcls% w+ W# l# a7 z' u) v6 J6 C: c& P I
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version# g1 o; S# n- |9 C/ H; U
\c($c_3)Aug 4th,2004\c($c_1)\n"
2 a/ T* S( K. V1 P! H/ ` Kprint r "\c($c_5)Powered by CDshell.org\c($c_1)"% p1 W" N! F N0 E8 h
print "\n"% }- S& {5 J& s4 V5 F
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
/ a. b: x9 S. |" ] Y* Xflasher etc)\n"" c2 w" P( ]* y
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"+ z! m5 P+ ~6 H4 Z0 f
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
" x, X4 t2 `: t8 p# P$ K) ~# w# iprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"& J9 L- w1 |3 Z- \% T
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition" {# U: T Y6 d; e8 d/ g* H# W
(Linux 2.2.10)\n"
2 ^4 `8 o5 j [print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"6 V2 r& }9 ~! @9 E
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
! |7 ?9 u/ J* d wRAID floppy emulation\n"
, K( @& c/ \0 A3 M' r- N. Mprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel5 V. x" m7 T8 |$ }( M! G
RAID floppy emulation\n\n"* l$ N v3 M5 k1 R* w7 S5 K
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot) e( z+ Q4 j+ e4 V0 o% l
1st HDD\n\n"
0 k8 A+ x) ^% j& \print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt" C* H3 [7 d8 x2 L" {5 X2 B
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"+ X8 A$ }" |3 @4 w7 M
8 r& j R$ C6 \/ H/ C4 {: u4 f" l
mainkey:; w- @2 C' S3 q* i( V& S( `& Q
getkey 30 set lastKey = key[esc]
" C9 a- l" I, |8 ^: q8 kif $lastKey == key[1];then goto ms710cln
6 S) ]. n" G' ]. Eif $lastKey == key[2];then goto ms710std
2 K N( H% q6 i9 `7 j9 k0 Fif $lastKey == key[3];then goto ms710spr/ a6 N1 s. u' q. i: ~! E
if $lastKey == key[4];then goto pc7102 M6 f2 U8 _4 V
if $lastKey == key[5];then goto toms
) ^: X! @' ^- d2 B# H, zif $lastKey == key[6];then goto xpins+ ^' b7 _& Q5 P& }1 J
if $lastKey == key[7];then goto xpinsvia
8 I) n' P( v, g$ Cif $lastKey == key[8];then goto xpinsintel- g$ b& W4 x# \( H% b
if $lastKey == key[f];then goto floppy
% Q r! x# T. ^/ U- q0 J8 Nif $lastKey == key[esc];then goto hdd0" B$ x" e3 t9 S: e
if $lastKey == key[c];then goto exit
& p- I2 q8 ?6 X( X( }goto mainkey3 B% R- C2 @2 I" t5 Y+ M5 _) s- O* Q
4 ]6 n( r# g, S* O3 o; _
ms710cln:
! p, U8 l) y8 ^$ J" ocls$ x8 E5 d- ?" ]# Q! u
diskemu images\MS710CLN.IMG
0 f) N/ g$ M' ]6 l ngetkey
8 u5 ~* w, J" d: F5 ^goto start8 c- V% t2 h4 R+ H% y
0 ]: i; k* \4 d! yms710std:
0 _4 R2 Y9 z- z, V7 R* y4 Acls, v) J" f+ j- f5 R+ `0 \5 }8 P
diskemu images\MS710STD.IMG
1 Q5 }6 q( F4 ?% ~% D: sgetkey' g, M9 d2 `0 f7 Z, P4 m; i
goto start$ e" d+ Z! Q! Y) o# c. _
. m" ?7 G3 r8 O# \8 K: @/ ums710spr:
2 E" l" a/ S6 |* c* r; e$ J$ g5 W+ Qcls) S. n* Q: `# N* `$ m$ \" `+ q- |( P
diskemu images\MS710SPR.IMG4 Q; v7 I* E1 q2 {, K
getkey
6 |0 K3 O! C, {; \5 egoto start% d! ]6 _, U* T9 D- ^, L
* E# w4 |' O6 H# z
pc710:# Y7 c) i, N' |
cls/ ^# f7 u; w& H3 Y; v ]
diskemu images\PCDOS710.IMG
* O0 A) q6 `) x3 I& C8 y& Xgetkey3 d( O2 o- q# J1 c: j
goto start$ l, y+ N5 G; d/ ]! C8 z
6 C$ i" v* g( W& N5 C7 J, c2 N, Htoms:
+ r7 G( Z; T% r- v' l/ v5 Acls X5 N+ {4 b% {
diskemu images\tomsrtbt.img6 L: a: ^! `( I$ e. y' d# Q
getkey
- X( T& E3 p0 l7 W# z1 H$ i7 U( Dgoto start
6 _( W* ]2 B) o6 O0 J" j
) P- Q) D$ E1 |7 h ^+ Sxpins:* j2 c; {$ V& l* j+ O# u
cls5 t/ ]4 e+ m5 A# A" s; m; I! D4 e1 u
chain images\MSXPVLK1.etr7 c' P8 o1 n; U. K8 r
getkey- Y9 X0 B8 o) N6 G6 j. y/ ?! N
goto start. c/ D( h! w# D O
$ q" v6 R. T+ B3 c$ E
xpinsvia:( c. a' @8 S) a" @
cls0 r' J- q2 A4 q+ ` Y
diskemu images\viaRAID.IMA noboot* L7 x9 e L' U! Z/ Z
chain images\MSXPVLK1.etr
% u) W7 l! ]: t; y ], L# n/ Y- J8 q; ggetkey2 [( g, g1 G( j. X
goto start5 T9 u1 V1 A) U9 f1 l3 g
0 i. r* ~3 W/ x$ u% R! A# O- o* M" ixpinsintel:# `4 O+ ]: k2 Q: D: h( x7 B$ T) r
cls
z: {6 j& `9 a: ~: ~9 I) udiskemu images\intRAID.IMA noboot
, z: S) k& d: |; s4 D; qchain images\MSXPVLK1.etr- N7 y5 Y0 U0 X- Z; o; K, Q4 @
getkey6 [2 g+ `6 W8 |! t) \6 Z% g/ R* t
goto start* a: ]( q* [# C4 I ^2 Y
8 Q. I! ^6 v- q; T; Z
floppy:
3 |7 L: p1 u6 i4 Pcls: I' B) [( N* |
boot 0x00
. S/ L o0 e7 o( Y- `) ygetkey
, ?" O! V) X$ e8 [4 Q n5 Hgoto start6 M& m3 w3 B' c
( w- N1 K( F: V8 `8 d* l0 n( ^
hdd0:- Z2 I/ A( ~+ L t
cls
# N! R( Z: ?$ _7 S8 e* l# k; S& rboot 0x80( l5 k0 a' [$ N- \/ V: W0 r
getkey
$ d, X1 A" O! d2 c' n: f. Rgoto start
' ]/ p9 |3 [; g) f! L' O8 P; Z g6 i* t5 W
exit:
9 L7 d3 p; j4 |) ?6 b' N% icls8 \% d) k7 ?- J* L# K4 J
help
/ B+ {& U, ^" p8 cend8 y7 j7 G1 } W7 F _* J
###########################################################################
4 D2 W& M) b5 Z% J6 S$ C# A# P' ]$ v
0 u0 L! y/ z0 @! @ w9 e我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
, L" M& ~" f R( o% l/ `! q1 A经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
2 |. d% ?) U0 U' c! }7 l4 o% @来方便,不胜荣幸.
8 x! A# N7 R1 f2 R7 E1 v* g8 l$ U" o, [9 `6 f3 S; e/ U" }
) z r" D v6 ^JimmyZ于2004.08.04晨
4 C& Z/ n8 S! m) K3 D8 K; p& B( n5 Y p# {; Y, q
& s2 h! T- d+ Y* `0 _% j! k感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的6 x: J* m% K9 Y( n1 x
更加好用更加完善的cdshell3 f' Y( Q1 S6 Y5 }# ]
--
+ K3 F. }/ g" M- |' j! ]7 s7 XFake Wings
* Z% P$ w# m; H$ n" G5 @* Fshine , bright morning light , now in the air the spring is coming
. a$ ~; d# T( [% _sweet blowing wind , singing down the hills and valleys
7 U# m" t0 T8 v2 ckeep your eyes on me , now we`re on the edge of hell
& `. F# x, C1 x% N/ p" W: R( k6 m* Odear my love , sweet morning light( E: q( Z! t/ f. J8 I
wait for me you`ve gone much farther , too far. z% w* \- v6 A4 T h2 n: j
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·' y# l% _9 a( A5 Z0 p. m; b" S0 r
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|