TA的每日心情 | 奋斗 11 小时前 |
---|
签到天数: 2385 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
' o8 W/ |" H5 Z2 P, x( v ^SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
' K* B- p( E$ Z I$ H$ q/ D- c新系统.! b% z4 L+ e: [2 e
( i! \. b5 O+ b( N! `% N i4 W. K
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘; {1 `3 |1 l; V+ S3 p8 o
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就( X, ?& d0 l" O; _3 X; N7 A1 G
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
N' }. ^" t- f$ m" m述.* q6 f; q1 P: N# w9 v
# L6 V, E" f* X( q( y/ S$ i+ M5 [这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
& P% g: R" C; s- [驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
. }9 Y7 N/ y1 A+ a) d3 D" c2 J点,厂商一旦发布新的驱动,更新的话就要重新修改.5 ~4 c* h1 I1 A& V4 E
- `9 u8 b' q7 R! ?6 r) c5 S我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的$ ?) X" p) u6 O2 j( @7 i5 Y
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工6 d- q9 c# O) T# n5 C& R% [+ ]+ J* @* o
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org5 I; G2 _1 F+ t1 ^4 y
8 N3 q. Q% m5 I! q+ j! c, g) }$ ?
大致介绍一下cdshell:
- Y4 H, _- c1 g* hcdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell' C2 H* G" |. u. Z8 u) w
的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极1 ~5 d: d* k- X. w2 t/ i# |9 S
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
8 v6 d- s3 k0 K* `6 h4 X4 p. `: o; Nisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
0 N: c, q; W5 e1 t; v的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动3 K: K# R1 d. ~ v' [
盘基本就是用它或其前身来完成的.8 e5 u% F5 V' x. j a
8 w! |' k) Z. I/ C# m( S/ i* `在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
* L% {" U% [ `软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!
- e' z% N+ T' J; m2 D
. w$ Q# v6 J1 P比如启动一个软盘镜像的命令行是这样的:
; [" y1 x- i$ O8 O$ C. ydiskemu imgfile.img
9 y) w1 r5 Y/ ]+ f3 A/ }7 S启动一个光盘引导记录的命令行是这样的:
! c8 m$ g& \( V) S6 ?0 Uchain cdrecord.ert% p/ L+ s/ g! P
先虚拟软盘再启动光盘引导记录的命令行就是这样:
, t% Z: i! X1 A. d. L% Tdiskemu imgfile.img noboot
) w% } d% k9 Q4 [; P! |# J, p; pchain cdrecord.ert2 c' `7 N/ ^4 c- R
5 |5 l1 ?0 L( d就这么简单,具体步骤如下:
, x. k% K; m; N* f/ w8 E7 |: i5 W' L, u5 @9 Q) \" H0 u, V/ w) |
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.$ `9 v- w0 N2 F" P4 ]2 P
K3 T; X, L4 j; c+ U# y; W1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
+ ]/ h" P( p' V! I# v5 M2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins
7 A9 M0 x; |5 T& N4 m1 b) r3:把D:\temp\XPins\boot下的loader.bin移到D:\temp
9 S" U. @& A+ b/ p( V5 c6 o4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
2 y1 a4 H" n# t5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件# A) W: `5 ^' @
是你要的,不用的可以删除,脚本可以参照下面的范例
& ^( z: n; A0 h. ]6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像/ W: l4 {5 C" _1 H
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
' x; i$ }4 ?# v8 G& c+ `7:burn it, have fun!
- C3 Z+ y* c2 I9 m5 n2 m, u
! \! m% y8 p, N* k8 O$ k我的cdshell.ini:
+ D% S1 v M3 I8 V1 p; M###########################################################################
2 S; F: |0 @2 {start:
& M0 D% ]* s" R1 C& A% X2 \set c_1 = $textColor #get the default color' d- Z6 o+ L9 j3 n1 @/ U
here
1 |3 \. l' p* \0 q8 Fset c_2 = color[brightblue on black]
" A! e. L% @* N' f; ^) Uset c_3 = color[brightgreen on black]
0 ] N# ^5 E1 W. w4 Y1 S$ yset c_4 = color[brightred on black]1 f* E+ k5 N, ~3 @
set c_5 = color[white on black]" d5 S0 Z+ _) o. O0 o8 n/ A
% a8 A. t$ o" N+ L& \& s0 W( ?; n
cls( F9 S& b. z9 ]: q* R
print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
" x$ B5 ~3 F3 V\c($c_3)Aug 4th,2004\c($c_1)\n"
* c! S* O N( e0 H5 i+ Gprint r "\c($c_5)Powered by CDshell.org\c($c_1)"
; T6 b3 [# i) ?3 u9 v9 R% Yprint "\n"
% J* d0 d) X* Rprint l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
3 v6 r j$ p4 j% sflasher etc)\n", t! r$ Q% s) L
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
1 s' \2 |, Z0 g$ Q( k# r( c" Fprint l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"
1 P& b9 D$ w# V% b/ aprint l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"
* [6 k" ^ J" O t, fprint l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition! ]$ r/ x, U: q" _1 x# D
(Linux 2.2.10)\n" T4 B( _: Z& L3 _! b: {2 |# @
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"' r4 G) m6 o9 y& g
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
- f2 L# [9 t% U( gRAID floppy emulation\n"& p; q. J& g. _$ v' b. x
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
- h7 L D; r% |RAID floppy emulation\n\n"
" `- \' A B. g9 [8 mprint c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
% y9 W3 O; @4 k1st HDD\n\n"
$ \/ S+ n! m h/ Zprint r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
R5 n+ |% I7 i+ J, X8 uprint r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"3 \( G) g p$ ?
- T# e3 E: o( G# P6 V0 F% Zmainkey:
& H4 u4 V2 K& T' Fgetkey 30 set lastKey = key[esc]
4 G8 c q/ f& |* J/ U4 Hif $lastKey == key[1];then goto ms710cln
* ?4 ~+ g# z S4 ^ \if $lastKey == key[2];then goto ms710std) n, j+ f( o' g& U, Z- L P
if $lastKey == key[3];then goto ms710spr5 ?9 A" o. o# J. e9 o. A
if $lastKey == key[4];then goto pc7109 X9 j, ^ r6 U6 W- |2 _" f
if $lastKey == key[5];then goto toms/ U0 E5 ] t& r' b, v
if $lastKey == key[6];then goto xpins6 p/ Y# v% ?; D, [
if $lastKey == key[7];then goto xpinsvia
, o, e6 W9 c# m1 d! Jif $lastKey == key[8];then goto xpinsintel2 E& s1 E; H, C/ f
if $lastKey == key[f];then goto floppy
# _' K4 w' P' w. C% tif $lastKey == key[esc];then goto hdd0
1 ~. V1 a# N* o1 S- ~; y( x6 xif $lastKey == key[c];then goto exit3 Y( U* B. P7 E7 `9 |2 F: C L3 ]% b
goto mainkey( [6 _3 E: Z; B/ F( H
+ r' B" a0 \5 u, s6 z0 bms710cln:& P1 c1 E9 p! H; [1 c& D, J
cls) M, e7 V: F# q5 ~9 Q2 ^
diskemu images\MS710CLN.IMG! r" `* ~1 H3 V& `* S
getkey
3 R- o8 e1 ?& Y& G. \7 tgoto start2 E2 G( B4 U0 f: O) G' {
' c1 D" n- m, U! b! @$ H3 j+ P9 X. x
ms710std:. a4 T% [: u' W
cls
% M* \+ x# c) U* z, Q# x6 Udiskemu images\MS710STD.IMG! ?1 J6 x7 ]/ V- L S( \% A
getkey
~; t! U) t7 {. _0 C3 Zgoto start# \. P2 d7 k$ E7 [% p) ?
6 Y# l! m- }! s+ E$ l3 I7 Ams710spr:
- D( c' p- V+ S% p( l* V& kcls) [# _1 |+ q2 ?3 G- I
diskemu images\MS710SPR.IMG' i3 V+ ]3 M, {3 H ~
getkey, s/ L% N/ r8 w9 S0 Z3 X4 a
goto start% C( Z. o: u* t# P/ c
\+ j2 c, m: n6 \ x7 n- ]pc710:
: X. {- c. |1 x4 [( Jcls
$ t, x d3 W4 @diskemu images\PCDOS710.IMG& j8 K2 ` Q$ C6 s. A+ \- x* e
getkey& ~8 s5 d. W' R Y h
goto start/ }+ V6 _9 _- V& m) t% u) P
* {) a' k7 O& N# ]6 g! D9 p' Stoms:7 o* U% }" F J3 z
cls
# S- a D# D0 a+ z+ h$ L3 _diskemu images\tomsrtbt.img
x& o+ V5 J$ M$ L" \3 ygetkey
0 L3 A0 H, V( j# G, ogoto start
& g" B/ C x+ N) g( G& y6 V, X w0 d7 U( u
xpins:3 Y H# ]4 h2 p3 v/ U
cls. Q7 Q: b3 A$ ^
chain images\MSXPVLK1.etr
# p$ b0 C- ^" \getkey; q8 a1 l* y7 p5 o4 V5 z
goto start
& m2 @) s5 B2 {2 ]
/ ^; u! N: w& X7 c2 Nxpinsvia:
! m: i2 ?" Z1 w+ V, Zcls& v' W# f/ d. z' I
diskemu images\viaRAID.IMA noboot9 c) P+ X+ Y4 g8 J! ?5 a% _
chain images\MSXPVLK1.etr
* [/ _: \, {; m& j' G. D2 Kgetkey
, n% _3 n2 J: J* Q+ mgoto start; Z6 ?5 G' R9 s3 E2 f
+ v. b7 L% \3 }, }* @6 x/ k
xpinsintel:
; A% n3 p B" T! n2 O# O8 D) Ncls
: x, C, o, d% |% f y, _. Odiskemu images\intRAID.IMA noboot& j5 j+ i* O: ^. V; r- [9 k8 n" Y( o
chain images\MSXPVLK1.etr9 |; N/ [7 m) N# t3 @
getkey
2 g6 r$ S+ w* N- P( F4 qgoto start
0 ^" E8 b9 K1 {9 z+ o/ F" |. O- a& f# Z7 X1 b4 F* s3 C
floppy:: j9 C4 X7 q% |
cls8 L l# q; ~8 S7 D3 k4 X
boot 0x000 \, H0 K% u# m! P# Z+ y
getkey
- e$ {. H' o, Y& r9 w( Q1 L; ^8 Jgoto start' n& p8 s! e$ ?3 l' ~4 d8 }6 E8 h
4 i( n2 x& E7 B+ U8 a9 r Qhdd0:
- m+ A' I) h6 J* |3 l8 e- Scls& j4 b* j0 l, s7 H& K+ g
boot 0x80
?* e/ c* @' l1 L6 V+ hgetkey
F) u: R. G/ E! @goto start
0 S* }9 e- p F: q* z& R5 H
0 f( M5 t3 S: z( @% i: Dexit:
- T# l. i) \+ ucls" ]5 z$ U# |+ ?" [$ [" l* f- X: N
help
( Y% [6 {4 X9 l. {2 t3 Hend- w4 M9 Z* [& k4 B
###########################################################################
6 l7 O% z1 I ^' b5 `+ B$ l& ^& K$ i
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己
+ G1 ~* m+ g, i$ M7 \8 U经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带5 [7 E7 ~2 ^ f0 d
来方便,不胜荣幸.
0 P1 B4 U! }% U2 d3 q
1 W( @7 x) C z/ R8 }
G- F* G q2 j. ]JimmyZ于2004.08.04晨
5 ]) c- x: K8 s, x5 ^3 K* S; a0 O& D. X9 Q% V
; L+ Q( K" q+ j- c6 U# {) |+ m感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的9 r# T3 Q9 m- \5 P0 {
更加好用更加完善的cdshell
1 m3 `) Q- X" D/ m* T6 U--
& R; R; I9 h$ y% l! lFake Wings
0 D6 K0 d+ D4 y1 h+ mshine , bright morning light , now in the air the spring is coming
( v: q5 Z6 ]) {# usweet blowing wind , singing down the hills and valleys }) P) z) r* @) r) N0 m
keep your eyes on me , now we`re on the edge of hell' Q: G& r4 }$ S# U
dear my love , sweet morning light
( V" M/ h* }2 M+ K3 Bwait for me you`ve gone much farther , too far+ C8 c- u" i, w7 Z5 ~
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·4 q& t4 m" x x3 u" }
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|