TA的每日心情 | 擦汗 昨天 10:42 |
---|
签到天数: 2365 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把" Q; {/ a0 {# I
SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装& {3 [4 P& i0 C2 ? v+ z8 g" r9 c
新系统.
- a4 t- W) e1 g& Z, u$ J) |0 t9 P+ c8 {; W* _4 X
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘$ S2 S' w# j5 V, ^# r' I2 y: T
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就* D/ N* r" v0 L% Y$ U
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
8 N- C# Z) s5 x6 \ Y6 r述.3 A |. Z! D7 C6 r
0 }- h, B* L' H& ^5 f* w+ j
这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
# m+ M2 A; c5 Q3 [% q$ \4 `% C驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一" G. r3 g/ [3 }: i; h( C
点,厂商一旦发布新的驱动,更新的话就要重新修改.
0 U3 T2 m9 D3 Y6 [0 B# d% p8 d) b9 K& f" L$ R$ v
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
5 m1 F5 P/ J m8 ~$ F"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工1 h8 r/ V0 q& v: J' q
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
# o- r* {# q4 f1 @# A. [9 U/ F7 l
大致介绍一下cdshell:2 O' R9 R; k: s# T) j5 v. G) {
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell: Q5 r! R* Y7 b5 {
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极& y: w8 O0 p# Q& M
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
8 O5 I: Y' R% [5 Z h7 [* Oisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
. t% L$ t* D& q k" K7 z* t的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
7 I. u, G2 C5 s+ |盘基本就是用它或其前身来完成的.
" R+ A) |3 O! {7 Z4 c
! I6 v, V+ m1 P1 P/ ~ [在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载+ b4 z( H V- p1 C/ a& C
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!% n* N- q1 Z. H/ C0 d4 ~
% u5 ^: a3 T& z9 w5 p比如启动一个软盘镜像的命令行是这样的:
5 x9 y2 s9 {( e3 Rdiskemu imgfile.img! Y9 f( _8 G* r5 E+ j p6 e" \
启动一个光盘引导记录的命令行是这样的:' t7 \: ~* c" m8 k# I
chain cdrecord.ert
* r' R; x" ? y: q先虚拟软盘再启动光盘引导记录的命令行就是这样:. T0 W; m' ?8 A7 V
diskemu imgfile.img noboot
* y6 Y" U3 g" t% X0 Lchain cdrecord.ert1 B, e, ?5 p2 o! Y2 v4 i( t$ A
' N' {2 j" |' |/ ]
就这么简单,具体步骤如下:
' y% p5 b" H3 W' G+ F# m4 d. B# W* R* Z& b0 m0 I9 x
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
3 F" J3 p1 m+ }9 K) E) f% c" h2 e2 i- v" ?, _! X) E
1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
3 h0 s* q2 c: r3 z+ ]6 F* t2 t+ g2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins7 w) r! o4 z( q J' v0 z
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
3 e( }" M5 n Q/ j4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
2 y6 G( T4 ]. d7 z* ]6 J. z5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件& c) k; E2 `+ ]& R% _% _5 i
是你要的,不用的可以删除,脚本可以参照下面的范例
2 y5 e9 V8 L' d3 P6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
* z1 ~: d+ X6 c H& k3 H; Y: D) xcdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso. z5 Y6 l7 }& {/ @7 M- q( Z7 R
7:burn it, have fun!
4 l3 |3 x& _ H
; N0 d( W8 |; w: ]% _我的cdshell.ini:
9 y! ^ P9 k7 C* h9 F7 p###########################################################################
) `$ `* c/ j4 Dstart:
5 x. a3 l% F; o' E* q% \set c_1 = $textColor #get the default color
4 @5 j& R9 v. dhere
2 `4 v; j# T9 ]& }9 A5 B2 @7 V" `set c_2 = color[brightblue on black]
9 T( V0 d# L0 x: ~$ |! ^set c_3 = color[brightgreen on black]
0 o- D( H. a: p2 \8 Cset c_4 = color[brightred on black]
$ a2 c$ [6 s& w7 dset c_5 = color[white on black]
" T( v9 u0 H. j3 t+ Q2 `3 T( X0 E# n; ~+ R
cls
( E; B5 ^( N1 v" L+ {% F" zprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version/ a7 z$ [2 G" c3 ` e! I+ l9 E
\c($c_3)Aug 4th,2004\c($c_1)\n"* l, t9 s4 B, O; {
print r "\c($c_5)Powered by CDshell.org\c($c_1)"/ S$ z2 d- ~6 R. }. b; I( G
print "\n"' K/ m! c/ \# X% V4 n2 T/ O8 x) `
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
" o" w, O4 S3 d+ q! c" c v& rflasher etc)\n"* J6 u5 }4 }% p3 @' I6 Q
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n": d& Z. j# T7 t4 ^2 r) E! h
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
, B! _$ o; Z; A% X+ vprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
/ o: s% Q- a. e/ [9 ]print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition: R1 U7 E3 [! [$ L
(Linux 2.2.10)\n"& }- i9 q# ?, v7 c2 w% \ x. P
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
, K: C+ x' W, L+ n' V$ Rprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA0 n: S2 z; |' V* q
RAID floppy emulation\n"/ u0 N. f* p: C& u# }8 J' A
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
" W" y" J8 q0 {RAID floppy emulation\n\n"
' \: W( U8 i2 \+ K0 e: N# cprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
( Z. b3 C# N8 Z/ @! N" p1st HDD\n\n"
; a+ u+ I/ T/ z: Sprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
# ?4 Y0 P9 d0 W: ~1 H5 h* F2 ]& p! Uprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
( ^6 q& P0 b) W$ T9 l9 J- z! v n2 G" m# [1 \/ h' B0 Y0 |4 Z
mainkey:/ y7 [! C- A. H% h5 @: X
getkey 30 set lastKey = key[esc]) L; ]# ~1 p* ?. [! x
if $lastKey == key[1];then goto ms710cln
- O- D5 v$ k5 X7 ?3 K) iif $lastKey == key[2];then goto ms710std
$ [& ^& y+ J+ [0 l# m6 Pif $lastKey == key[3];then goto ms710spr/ {% Q; F# \/ j8 r
if $lastKey == key[4];then goto pc7104 b4 p: U7 w4 d% g/ r1 R: ]& Q
if $lastKey == key[5];then goto toms
, o. V5 W3 \% dif $lastKey == key[6];then goto xpins
0 m x3 H/ o6 {8 U7 t' o8 v$ r' Iif $lastKey == key[7];then goto xpinsvia3 m( k, }& g! K7 T
if $lastKey == key[8];then goto xpinsintel
" b; U' [. ^" z4 s& ?if $lastKey == key[f];then goto floppy
" d# q( p1 h9 {6 e0 @if $lastKey == key[esc];then goto hdd01 k& l: O3 s) a$ C- c1 u
if $lastKey == key[c];then goto exit
* j, i/ n) H1 B! fgoto mainkey
+ ~/ e$ ]* q: _3 v5 T: Z
5 f* k* `) f* \2 v3 vms710cln:
" S/ S0 k# U8 z2 Tcls# s ~. O7 C: c& Z- E9 Y
diskemu images\MS710CLN.IMG, l& |; C" @2 e% p" V
getkey
7 K4 s8 r' J( A! Hgoto start3 t y4 u5 s6 n1 q, k
9 o9 C+ u* R. ]* `+ i& Qms710std:
& ?3 w& p: A0 m0 O' g: Kcls
) Q9 O: o$ s, O: Gdiskemu images\MS710STD.IMG
4 I: W- B6 d! A! e3 ggetkey
5 ^- ^9 z9 }0 T5 s# ~: Mgoto start
; t: x/ i' V9 Y* T& c9 A
+ _- `6 E. A) _. pms710spr:5 j+ S* I% M( P# [3 r R$ z
cls; \2 L. m1 `; V- t U; A
diskemu images\MS710SPR.IMG3 V+ f. J8 ~2 ?/ J
getkey# C$ v# g! T- ?9 Z& t8 _9 P0 d
goto start
4 a1 R% X3 W/ s5 [( i+ }2 m4 ~, l& F% k" K
pc710:% I _0 _( |7 k2 o
cls6 S1 D$ \6 A9 k/ z' N1 Q
diskemu images\PCDOS710.IMG* j8 A# u& o# Z
getkey5 q2 c7 \# I, I) R& a4 j! \/ K
goto start+ y- G2 X1 U7 ^
' G* Y! `' c7 T9 p/ _+ p2 xtoms:: y- ^# ^+ f+ O6 \& `9 r
cls! o1 X4 E+ A' s, I; ], Q) t! L" I
diskemu images\tomsrtbt.img! l! J0 R Y1 Q$ o- B
getkey1 d9 g: D# o# k
goto start- o. L8 v7 V8 h3 C4 Z8 f
( c6 N/ t `- h8 q. V
xpins:0 P: L p! Z [
cls# n X" ]/ J' O; y5 C5 R! \
chain images\MSXPVLK1.etr
3 v# _ x6 @5 E$ A% Z ygetkey
4 p% K0 o0 ?) N. T1 w Sgoto start
& v O- Z$ W1 [1 H% |. _6 l) s6 m, Y8 R' S- q1 O- m
xpinsvia:$ g! K6 ^( B% G( p4 _
cls* B! m" a# C% I& e% n
diskemu images\viaRAID.IMA noboot
5 l/ a) [# o( B& }1 Hchain images\MSXPVLK1.etr
- v8 [8 x# }0 }* Q" P; Bgetkey
9 d+ i% |" F' |& u& Q1 o$ Vgoto start
& v0 \ D$ b5 V0 z9 V( n9 ~/ B" A6 @, ^ T8 f7 r) A1 A
xpinsintel:
+ j1 G/ S+ c/ Lcls
; L8 c/ w3 U$ d, q( j# O2 [& Idiskemu images\intRAID.IMA noboot
8 x% I: m; l/ z: t8 m; {) g/ a6 [9 wchain images\MSXPVLK1.etr# A. ?9 j# v2 i, [: G2 l6 R8 ~
getkey( I$ F3 `' E" _! w o2 m
goto start$ i% S) ^& w ]! k% t! T/ m
; c( t3 k6 C5 D9 gfloppy:
+ Y+ E1 T" M' N) O1 fcls. t% P# f* g* D* V
boot 0x00
' ~) c. |+ R* ygetkey9 B F2 A5 Q( Q- n: ]! `; T
goto start
. e- g+ d3 _* W2 b8 P9 k9 H* D6 b
1 N. d' \7 C# T4 R3 Rhdd0:: b- n: \* h, [. @/ ^- B6 A
cls9 O# n. e5 R# g2 e- ^ ?% Y% C
boot 0x80 x5 d* I" V0 Z3 e9 g5 Z
getkey1 M; S6 {5 ~. z: s9 u, |
goto start( D) b* P3 f( i y# r" Y
, U7 G# X( N! R0 ^exit:8 o6 n J9 U/ _& s) Q2 @
cls
& M2 E0 v' u0 L! e; h, \4 zhelp s/ H( I: X. S
end
4 Y O' m8 K( W###########################################################################7 \+ \+ Q0 j+ X1 t% f7 O0 Z1 d; {- A
- V) X: r2 Q8 P0 h3 {( k3 k6 f' {
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
1 l2 a# ]9 l/ ]$ G, {) A+ T经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
8 x- q, t; x# Y& _ e* N7 P) |) F来方便,不胜荣幸.
: I: ?1 l" n) K2 P
8 M; {/ q* O6 M1 m& c y0 ?4 C
JimmyZ于2004.08.04晨% p: D5 \' }1 O% S2 Y
- l9 H- {! F4 V! ^4 G
& a3 _8 g$ ~! j' g感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
D; t9 H# F* L- j- E, E更加好用更加完善的cdshell
4 q# z5 x* b$ C--
$ c1 h0 z) ^0 v. @) T9 D. XFake Wings5 i7 G! K- {2 q0 j) \
shine , bright morning light , now in the air the spring is coming
" q( {8 i1 w( W& jsweet blowing wind , singing down the hills and valleys1 _) T- a# a) g6 ?) B
keep your eyes on me , now we`re on the edge of hell
9 }& e0 |3 S% E1 L5 y cdear my love , sweet morning light
* f5 Z0 K# X3 G5 ?$ |wait for me you`ve gone much farther , too far
0 j6 s7 I8 `1 J; C※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·1 s# a+ t( p+ u6 x2 O! p; n* V
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|