TA的每日心情 | 奋斗 前天 09:20 |
---|
签到天数: 2383 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
8 B* R7 F4 [0 Z9 I& e: O. ^9 TSATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装/ v4 K% W6 _* H
新系统.$ z0 g$ e8 A. j' X
! G; w8 e2 l& b f$ s; Z( m5 j
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘
( W {* y( r) R中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就3 k# D0 B. n8 Z3 v
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘6 Y6 c; G: w% q( e- @
述.. m! [) v8 e# ^* i3 Q
& R ^; \( s3 c8 ]2 q$ g这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
8 c$ A+ f' t; c7 A$ q7 b/ e驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一+ T+ W( g% z4 |& H+ l
点,厂商一旦发布新的驱动,更新的话就要重新修改.
& ]- i- M7 z/ q+ y4 w! o; X8 ^& z, A1 r& U) M
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的& Z* W# t8 T4 w9 d0 P
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工" w9 q4 {1 B! t4 h. W
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org+ O- g% s) ?0 h3 }
* T4 W3 b' w( ?, M0 T- v
大致介绍一下cdshell:
/ D. a3 G& Y# C4 W, a7 t e7 Vcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell+ m0 ]0 B3 K% h* C2 O- K
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极# g1 X% v7 a# O3 ~# `* Z# m4 [8 f
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
+ L$ ~* u$ b1 Y, O% c @isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大9 x4 k* ^; H6 Z7 j6 y
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动 |5 Z5 O$ F5 r9 x7 [
盘基本就是用它或其前身来完成的.
( o/ T1 Y4 q: H1 I* A5 \( \8 p) p' N1 ^ i) P3 ]6 ]
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载! [* Z" A6 n: X! i6 a. e
软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!
( [( h5 g) R+ P. X L6 @5 P8 @/ M* r- w* c3 C$ v
比如启动一个软盘镜像的命令行是这样的:
% ~* S6 H- S0 Y6 M- D5 |$ ]4 {diskemu imgfile.img6 u! G' l* @- j& O2 V% S- D
启动一个光盘引导记录的命令行是这样的:" g9 X# b0 T0 E; c2 ]. F% v
chain cdrecord.ert3 M# A3 J' b8 l5 q% l
先虚拟软盘再启动光盘引导记录的命令行就是这样:) ^' G/ H! P4 o, R3 L& V: H' b
diskemu imgfile.img noboot
* }5 @- M; Y( q$ G7 D4 Uchain cdrecord.ert$ s7 {2 _6 {5 w7 y
/ Y7 v; J) x# O$ J* g0 T. I: ]就这么简单,具体步骤如下:. y( E; h8 V8 j% u( s* _& l, T
( r$ t; K& [; _/ ^1 Z
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
9 J" T7 E) U ?3 n
' y$ y3 I8 I: j' E) Z$ {: L# f& }1:把XP安装文件拷到D:\temp\XPins(这个你随意)下8 x% V: A2 r7 k
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
" Z$ f% ]. Z, P3:把D:\temp\XPins\boot下的loader.bin移到D:\temp& }3 t+ F9 w+ b6 ^1 M5 g
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
- w ]; \/ R# R4 L8 ~6 U5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件3 |$ s d% \% n, {& R' P! j: r' r
是你要的,不用的可以删除,脚本可以参照下面的范例6 _ J! ~: [( o" [* o8 h
6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像
* a& L& e* A" Q/ L# Q8 Scdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
# o- n# i1 D* ]5 j! d7:burn it, have fun!
1 A o5 o& B: s Z- }1 a0 A5 n, _. C
我的cdshell.ini:' H7 S- }* z7 H0 H" M( |4 s+ I
###########################################################################% ^5 u7 O+ A. y! @8 z& }. y1 M( Z
start:
7 p# w% l& M6 ]set c_1 = $textColor #get the default color O# D* Z+ P* e. o/ B( I
here1 @7 Q" _4 E( P$ g' r3 U3 Z
set c_2 = color[brightblue on black]6 N# O# X' ~2 t# g4 Z3 e- O
set c_3 = color[brightgreen on black]
( O4 ^( O) z N/ Z0 Eset c_4 = color[brightred on black]
7 d/ X9 ?2 E! a3 |6 D2 ^set c_5 = color[white on black]) F( c0 P' S0 v. [3 O9 K$ h
) C- I7 W$ n" k7 z7 D
cls
4 l) e0 }4 H% s7 dprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
) z% M9 z$ b- y2 B- C\c($c_3)Aug 4th,2004\c($c_1)\n"
& f" l: r# N9 ]' Sprint r "\c($c_5)Powered by CDshell.org\c($c_1)"5 ]/ k) x' R' I8 v3 j9 @
print "\n" x. w2 p6 w0 ]0 l9 F
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
) b3 i6 Y% P0 D/ B9 d! tflasher etc)\n"* y( Q0 G; {/ L: E- E4 C; [' h
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"% C4 |; k% s+ ]
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"5 ?* B% A) I5 _* J# r8 i
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
. t# F" B9 @) L% `$ f, iprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition5 @- J: H% p4 u, [( c" H2 P3 `2 F& \
(Linux 2.2.10)\n"' K& @1 n' A4 ~
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"5 Z" D8 P' ?8 ?8 u$ ]
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
- V% C! n$ z7 t8 B" m7 H' SRAID floppy emulation\n"; m$ P. ~! q1 @9 e: ^) m; q3 R
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel# X* c! i/ D0 C; |- i* s
RAID floppy emulation\n\n"
* Z" S9 [5 ?4 D8 n* d1 j# P0 ]( oprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
8 I1 } ?3 D5 u& v1st HDD\n\n"" M/ h! U0 R7 s
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"2 p: x) _; v, c# D+ Y
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
$ v; V# R+ Y8 t! h; D% a6 f. E0 Z, Y: A' _4 I! ]' M( l, @ ^
mainkey:
8 v' j1 O7 D4 L* O- g: |getkey 30 set lastKey = key[esc]' W& _3 ]4 e6 }4 [$ v
if $lastKey == key[1];then goto ms710cln+ W) {' m) z! s7 T/ {% t) _# u
if $lastKey == key[2];then goto ms710std" ^9 n; ^8 e: U8 x
if $lastKey == key[3];then goto ms710spr, F& k( W; i1 L# ^- Z2 S
if $lastKey == key[4];then goto pc710+ b1 S/ l! b. r7 d% C9 k+ ^) F9 y# c
if $lastKey == key[5];then goto toms- m, }5 R7 u# ~1 [( I8 j
if $lastKey == key[6];then goto xpins
0 T- B6 W- A! u# o0 L cif $lastKey == key[7];then goto xpinsvia& D! P6 q; h7 s$ U7 E; t: g
if $lastKey == key[8];then goto xpinsintel
! b$ B' P, g4 h6 e w' C7 Q. l, X9 @if $lastKey == key[f];then goto floppy c# \" j+ t- M+ s6 Q G0 _
if $lastKey == key[esc];then goto hdd07 n z& x/ b4 d1 K
if $lastKey == key[c];then goto exit4 u$ q" \- ]4 U+ s
goto mainkey
5 @: N' x- h+ t$ G9 \4 q. b9 J6 N9 ^% l1 _
ms710cln:
" a. P2 B1 ~' y6 s+ J5 b; ]" m9 r- acls
! Y4 [! M* r: N* hdiskemu images\MS710CLN.IMG# O0 z" n/ T# [+ D
getkey
; C& J3 B8 h" l# B" ygoto start
2 y# K' K! ^$ S6 h+ c6 w' n
p3 i: U- d# hms710std:( y9 Q! w6 J$ g3 a- ^) a, `
cls0 P- p8 O( f% n5 L; V% R
diskemu images\MS710STD.IMG
. S1 O {; L; t# r+ N$ `$ N2 N5 agetkey
$ N! s& I. ]) q$ L Jgoto start
, y X' B' }9 Q( C/ O" b% [0 _; ~8 D. g5 V( _2 _
ms710spr:- j3 m' ^; M& T) J* I: |/ O
cls5 ]5 Z, o& ] N5 [, Y- E
diskemu images\MS710SPR.IMG
3 V3 S3 i' u( }3 C! Vgetkey
2 M; @2 L! j' M* V5 Z! F/ Egoto start
' n0 A2 ^: Q+ ?7 `& i: @- @
2 W* I4 m7 Q1 @7 j0 t" {' {pc710:
8 z8 A9 w$ N$ J; j0 S6 m. {cls
' V+ P/ O6 Q; ?2 t! z$ Ydiskemu images\PCDOS710.IMG" L2 z! g- Z' T2 a
getkey# N4 E, E1 a" E) T5 G1 R! Y
goto start- ]& f% k o4 @$ Y1 \! k
) J5 M8 `% s/ j* P0 U( y% Ntoms:. ^" E) }+ ^, ?) m1 q
cls9 Z- Q7 S5 a* o8 I+ m. u: w
diskemu images\tomsrtbt.img
5 d, w' B1 l# f* M. _getkey
. \4 Z) v- c" G2 Z2 `% {* Ugoto start% S! ?( m9 v! e/ s" U) W$ U0 {- E
3 p: d' p& v# F( \% u2 u. s7 h* lxpins:
7 D0 n" b7 r1 ^; S: Ccls
f$ z6 L r) z8 M! \; mchain images\MSXPVLK1.etr& J. [7 A2 e, @: L
getkey- I6 _, S1 F g9 e
goto start
2 ~) R4 i4 B: a2 O8 n3 v. R- |* F! l6 m2 q
xpinsvia: t3 Z; f5 [" @ b
cls9 ?' j1 {3 h9 z& b7 }
diskemu images\viaRAID.IMA noboot
4 b7 z5 X' X3 Qchain images\MSXPVLK1.etr! B) S* _4 G# Z6 B+ o* G
getkey* E* D/ k4 ]7 b: x% S
goto start3 {- o, W) l5 _% Y2 @
( G$ f6 j0 u9 h$ n
xpinsintel:
- d% r4 j! \( D8 W0 Ocls1 L, G0 h) k. R
diskemu images\intRAID.IMA noboot
, p# k+ F. @) ]/ y$ C, fchain images\MSXPVLK1.etr
" d; Y) b" R- A. p2 G# x5 @getkey5 H, v& x# | @# F' G' K2 S! w
goto start$ Z& ]5 z; y, u2 b6 \$ A. a* U
' ` O, d) o7 R( {% T/ S, Wfloppy:6 r( q- x& a% V! K/ j- i7 b4 v
cls7 d8 I4 U; A! w& G4 |; s
boot 0x00
4 g1 \& [5 [. v& t( w$ Rgetkey
4 w: H# n2 n/ ~4 O1 Fgoto start
9 B5 G! F8 i$ @, i( A+ ^ j& H( m+ |% F; D
hdd0:& z) j5 V* B g0 d/ N8 @) y
cls2 s6 L+ A3 H7 H1 }# {" y
boot 0x802 x' R3 o# ^3 [; K# y( O U3 P
getkey3 W& D. A, c+ ~
goto start
% z' ^3 {; j U4 g. ^0 I% @4 @7 W n& ?" z% c
exit:7 c B" m M2 V6 E$ w0 b
cls
6 M2 g1 ^4 s' a4 @7 Khelp: I; Z, n: w# U: m9 u4 ~5 p
end1 r7 D7 t4 F% Z
###########################################################################2 k: v: a8 x6 c
( h+ Z! e8 R, c$ D
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
! ?: K! y U3 ]: o% D8 [% a经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带) I0 R/ C* G% O
来方便,不胜荣幸.* j5 v6 z6 I" x6 O: U0 n
6 d4 G* _& p+ _6 i1 y; K2 d2 k7 l9 r$ |: \$ m
JimmyZ于2004.08.04晨+ V% f& I' r7 X/ e5 [
9 e! e" L. e; R& W; K3 U# ^- z. d9 e
感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的
' }0 d7 l6 {. T1 ^* R更加好用更加完善的cdshell4 C: o+ x0 }' k5 r9 Q
--/ ]9 j# o9 O# e9 t$ X0 r
Fake Wings
6 B7 l/ j7 ?# G& Ashine , bright morning light , now in the air the spring is coming. x* s( S' }3 j" D7 I+ Z( }
sweet blowing wind , singing down the hills and valleys
/ W1 \0 ^9 B$ a, Z- `, g( c0 rkeep your eyes on me , now we`re on the edge of hell- a8 n, T0 e# y0 Q
dear my love , sweet morning light
9 V6 G/ l1 @1 ywait for me you`ve gone much farther , too far' \- |! x* t' e+ b
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·
3 ^7 b& ?8 D) p. G※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|