TA的每日心情 | 擦汗 3 小时前 |
---|
签到天数: 2402 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
1 Z; {* v9 s6 E7 `$ |' ?SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
! ~% i6 I! t. h g. W! m新系统.+ e* R) W% W2 h. B. T3 u
- G& L% {$ R! V$ d% C$ s这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘, y% ]& Z! _' e6 N+ ]$ ]/ [4 Z
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
) a1 e- N8 X# t) z! A4 r有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘2 z4 t( A& J$ ]5 ]0 f; {0 t3 b
述.
( _9 e; P4 |' L# `) C
" u* w9 j8 i+ o& Z! N- j这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
# ~$ a8 G& s% N: d4 b/ g驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一. V# Y9 u9 ]: D9 _' R3 I. i0 Q
点,厂商一旦发布新的驱动,更新的话就要重新修改.
2 ^" X U4 o- o7 K6 v7 O
* u5 r- y% ^$ N" K D我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
6 N) y: c1 M( D+ N"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工& [) d! B' O7 `* z [5 P+ e8 h
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org: X. g6 u$ B! G+ _
8 [, O2 |/ W2 @' G大致介绍一下cdshell:, m. T, H4 {( C# |) z6 h U
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell3 R# w1 I+ T8 J$ h& G- w
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
# g' d2 q4 l* Q+ Y致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd0 \- p- R0 l$ S) Y' Z
isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
: B; i* _; C6 Q1 H的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
2 H" F! Q% b# q6 E6 n/ V, r盘基本就是用它或其前身来完成的.$ o" T6 W4 T. b, d# R
6 g& k+ ?* q0 b3 P, W
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载* S2 e! \$ c- R% k! `
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!
2 r4 H4 o, p( u- u; m% T3 e4 N2 _- K0 O% b4 E) ^
比如启动一个软盘镜像的命令行是这样的:0 ?( U; N& D3 t5 @
diskemu imgfile.img' O7 ^2 [: F+ S2 Y
启动一个光盘引导记录的命令行是这样的:$ _- i) w' d* a: A; j3 I! e0 d
chain cdrecord.ert
; U& e5 W# D% C/ M9 o先虚拟软盘再启动光盘引导记录的命令行就是这样:
/ \) s( d5 r! {0 l7 Z4 qdiskemu imgfile.img noboot
. v- R* R* U. B9 D$ T4 fchain cdrecord.ert
, V3 W5 @9 o; O8 _6 b
& ]' k, `' _9 e" E; o* I就这么简单,具体步骤如下:8 ~/ L. G/ a9 L/ Q: T
) K: o7 f: A" m" ^' C! ?
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.9 u" p& Q& Y# Q8 d- G9 |' D" o6 d% \5 N
! [ F) R6 _9 Y2 D& ]1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
) u2 G5 ^/ P+ [2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins9 g5 R5 `6 v' }
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
1 v+ ]; G! u' u+ e4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下1 F3 ?$ l* u; [& ]+ d5 F! A
5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件! b% S5 `: r# D# K7 E! Z7 |
是你要的,不用的可以删除,脚本可以参照下面的范例
# Y+ ?4 V; R; N: \0 h! @' K: ^6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
" T: R& k5 y5 K' r- B) pcdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
k+ {# u1 h. m, N- W7:burn it, have fun!
) P Q3 q W1 s6 q% F' s3 a! o; S- e& x: g* i
我的cdshell.ini:- ^: ~5 Q0 v4 C( |$ X
###########################################################################/ l* \! A" X- r8 X' g4 {
start:
6 @/ G- C4 S1 d: X/ V5 p* q/ Z( p# d% cset c_1 = $textColor #get the default color
5 _3 X4 b% ~0 u: D& T8 |here& t6 x2 \% q) z% A7 A# ?
set c_2 = color[brightblue on black]$ k( t5 n+ G) ^) r1 C
set c_3 = color[brightgreen on black]
4 D: k! ?: S9 wset c_4 = color[brightred on black]% \4 U1 x* p+ Y5 w/ p4 ~/ |
set c_5 = color[white on black], J$ C/ ?+ d1 n% @& A6 e* B
* g2 d7 g1 p& H9 Q8 qcls
# c5 H1 g- V8 K2 A, H }print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version6 Q3 [, o {, }, v1 Z: `
\c($c_3)Aug 4th,2004\c($c_1)\n"; n4 ^7 ?5 _9 `& t s" u' q
print r "\c($c_5)Powered by CDshell.org\c($c_1)"/ O$ F1 Z' m$ A+ [
print "\n"
2 o. D" q9 Q C/ O( Uprint l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios& Z9 n8 U D( b, C
flasher etc)\n"9 |% e' k- ]$ {
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"8 n( [& C3 X+ ?( }! s3 ?
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
# _/ X3 ^: d$ \. a( _. ?print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
" N6 V& q" O% ~' _8 mprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
* F1 z1 l+ z# C* \ q# S(Linux 2.2.10)\n"( k1 z# o! T' E6 @3 y- f+ w
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
; t) b+ L6 s* j, K1 z8 uprint l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA0 f8 D2 P5 H- ~6 y3 `5 b
RAID floppy emulation\n"/ \% t* c& z' ?
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel9 V6 I0 E2 ?, G
RAID floppy emulation\n\n"! r( ?" U+ Q" X' x# c
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot' } ?1 a- r. \7 e
1st HDD\n\n"$ b6 o' v( B9 ^& U5 N- j4 L
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
$ W" @# _) ~7 u3 r( n8 Gprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
7 h4 `# I7 a& m* {. g2 C4 J# s
mainkey:
/ W+ P7 d& ^3 X O; e) h; }1 Rgetkey 30 set lastKey = key[esc]
* W9 N: F" d* X+ W5 H* xif $lastKey == key[1];then goto ms710cln& B2 }5 K6 \% i# L
if $lastKey == key[2];then goto ms710std8 s6 A/ y0 I$ I& l8 b; t1 _
if $lastKey == key[3];then goto ms710spr
) i! k" L E( l: l9 d$ b* T' G3 R. [; vif $lastKey == key[4];then goto pc710/ S* D) L3 \7 g) }5 d/ L+ ^
if $lastKey == key[5];then goto toms5 K2 r" ?* ?$ [2 E) g1 z$ i! i7 Z
if $lastKey == key[6];then goto xpins
, H# ~9 T5 }4 I1 G, x4 I1 }if $lastKey == key[7];then goto xpinsvia; l/ \) R- Z* u3 [
if $lastKey == key[8];then goto xpinsintel
? b/ a5 \1 P1 G( r" S' c, oif $lastKey == key[f];then goto floppy
! c0 ]& h: U; _1 I2 n! oif $lastKey == key[esc];then goto hdd0
0 k% u; N7 L3 ]! T* sif $lastKey == key[c];then goto exit
3 |: f9 x: t- [% ]4 z* Jgoto mainkey
; `. U. N1 ~- v5 U
* h" i; e4 L, ~# m; q0 hms710cln:+ ?/ L6 y9 `8 q8 L
cls' n& n' B6 I1 u$ |: D
diskemu images\MS710CLN.IMG" U# a2 K* s9 _! g
getkey
+ \8 S0 K$ I% s& X- H/ {5 agoto start
) [# u/ h1 p X5 L7 K& b
! |' C |: F1 z1 ~1 ~ms710std:
% P* M0 T2 K$ vcls8 X% I( P1 \ i- z$ V5 ]; v
diskemu images\MS710STD.IMG
; D; s! J u' |3 kgetkey+ G, [8 ]' b, m0 [8 h
goto start
8 r$ }7 p; T1 l X( O! J |' Z1 p$ I# c, m1 D. \8 M
ms710spr:+ C6 L& c+ w+ A5 N5 U i* ]& u8 ?
cls
$ F0 }9 p* }% ]& [/ L. x5 X/ {/ Pdiskemu images\MS710SPR.IMG6 l5 l" ^) b( k9 r2 _' ~
getkey1 ~) D! L' F) C. t0 R8 P9 B
goto start
# X, S: z4 k' {! r4 O9 S7 x2 w% E8 ~* m% ~5 C
pc710:
& Z8 Z8 p( z6 p) ?: acls
/ u J5 v' T( d# A8 M# ]diskemu images\PCDOS710.IMG
1 E6 G2 R9 m4 ^" V5 mgetkey. j$ v: Y; F9 ^# _- O
goto start- ]0 Z, ^$ D" H9 H# m9 y
x) X/ b5 ~: g# W9 E
toms:
! Q1 y9 N ~. G4 G' j) wcls& C" R8 S0 X* U3 T4 h
diskemu images\tomsrtbt.img, z/ J3 y0 k2 A
getkey7 i' F z) m' r8 s8 l3 `
goto start
3 r$ e6 [, C+ c' h
( \6 P: x& S) y. I: Bxpins:( @8 V8 [7 s& b4 O% h) m; H
cls
& S2 P& L* D% vchain images\MSXPVLK1.etr
; \3 ]4 f1 ]: s% T! P1 Xgetkey
9 i' J$ ^5 Z" n# _$ C9 rgoto start
4 S$ e/ B" L8 i
; P' H5 P1 M9 M3 @xpinsvia: |- t& Z3 I3 K: r, J( P/ B
cls
) Z. b8 Q4 }( Sdiskemu images\viaRAID.IMA noboot
5 j8 H6 p. S/ B) J2 i0 Nchain images\MSXPVLK1.etr9 u* y/ b1 O9 C3 {6 I# Y$ T0 b1 |
getkey
l, T* C: S! ygoto start3 T: o( P2 `& Y% x
5 d/ ~2 o& ]+ V0 [xpinsintel:
, ~6 x' x0 u1 K& K' ~- Kcls
" N7 ~' t) o, @3 y+ u2 g, pdiskemu images\intRAID.IMA noboot( N" X/ O9 B" v/ d
chain images\MSXPVLK1.etr+ s+ G5 i+ K9 J
getkey
) ]) q4 c7 i/ sgoto start
" |# _0 E [2 l; p$ q
7 P; }2 c( _: L$ xfloppy:4 Y/ n4 g) C( B5 W2 l$ o
cls( I8 v4 h: j! r( F& S' v- \' S
boot 0x00
& u1 m$ ` `+ \getkey
! T; E q( K- n' cgoto start
1 S; ]* D" o! X) F. a& M; T6 x6 u
0 S6 O- Q2 c, A0 e( O' p$ m- ~hdd0:
0 {% h- [) E7 t) Qcls" q2 v. X0 E3 w) s# U" h( O! e
boot 0x80* m' q) L: o" [' x2 t( z
getkey
2 \- p: Y% L# X. i8 @goto start/ j/ N7 `8 k( h; a( e& @
+ d% K: S8 ~ v R9 E+ D, xexit:* e% U: }4 p# q1 v* I
cls
+ F' T. M% ^8 F$ ?help
; L6 n9 t( y. y( E7 y; m L" Jend
1 S: z1 |) v- [0 Q ~3 i6 R- o2 c###########################################################################: S* w9 ~5 r, N+ o ^/ h n/ j
8 `4 t& [8 H. k7 e% R% a3 m
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己# D/ U7 U! Z2 I4 ~$ u1 N
经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带/ Y& j1 K/ Q! D2 o: [6 E- q
来方便,不胜荣幸.8 v! ]% z* R7 `# C5 q
9 Y/ `2 y; V A" Y9 Y% v9 ]0 ?% C
- G8 T: e2 ^3 n3 ?/ nJimmyZ于2004.08.04晨
# O; |4 ?0 v `- w4 @
# N6 h' {9 r/ V% o: Z4 b* v
( G3 O3 R1 x- N' a9 V感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
( N" u# g3 q) F a更加好用更加完善的cdshell
# Y8 m, r0 u" w8 Q--
: K9 i& N: u0 s' `6 D1 OFake Wings6 f ?4 s5 c) b" B! g. m2 E1 Y$ T
shine , bright morning light , now in the air the spring is coming) \$ c, G* k7 b& T
sweet blowing wind , singing down the hills and valleys% R \2 g T' B% p
keep your eyes on me , now we`re on the edge of hell
% g7 [6 S& _4 o8 l% E( T2 Z$ d jdear my love , sweet morning light
( U. s4 f6 a9 q( D' u2 ]9 pwait for me you`ve gone much farther , too far% z, r$ k# x; ~3 a: |: q
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·1 ?7 ^# D$ J( I: b5 O
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|