TA的每日心情 | 奋斗 昨天 11:26 |
---|
签到天数: 2397 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把
_8 [* @0 S) ISATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
/ P ?3 b: J' U4 n新系统.
: I$ x0 H# H, r; V9 D' W1 a) z& ~; w% {* K" w! p7 s
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘4 H) s8 \7 b# V% L; L7 }
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就
% F, B9 P& s7 Z& X: i有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
7 Q: K0 W- m+ y述.: c4 p9 m8 |) e. ^
0 S# d8 J V# y+ l9 F, k+ @) s这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
. Z8 ~6 a" f9 `0 a驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
2 V- ?4 Y( B( d点,厂商一旦发布新的驱动,更新的话就要重新修改.* V. p; u( d' U$ Q' l' C
6 R3 p @8 F: S; K% O我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的; g7 m' A* d a4 S6 s: t
"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工8 L1 T3 C9 g; ^4 x
具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org
/ W1 M4 a* w7 X* v5 E
8 \( `* y8 ]3 t- N' \; a- h大致介绍一下cdshell:5 l0 p$ N+ }1 Q( Z3 ^
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
- c5 @7 \% n! x2 r6 Q7 M" N的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极& ^- `0 C+ B! i+ k5 ^% d: [
致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd7 w9 I( \% h9 w' B
isk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大
3 \& y0 Q1 N+ p) m7 s& u' A的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动
& Y0 j! V0 I" S+ l# M盘基本就是用它或其前身来完成的.- u3 t3 r. f: g4 P
! P8 V' W2 r* ^- t/ F: S
在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
, T: s4 }/ ?+ o- r: x3 d7 x( w; @0 e) h软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!$ y# R/ r; N! V/ e/ W. K
{7 P* O+ ~9 r Q3 Z' b6 w/ _. k比如启动一个软盘镜像的命令行是这样的:+ Y; M# P, I7 X Y1 J
diskemu imgfile.img5 G/ | P o- {4 w: H$ g; s3 k
启动一个光盘引导记录的命令行是这样的:
% u$ X1 a$ R7 s) S ?0 V1 `0 H: Qchain cdrecord.ert
0 G" z" t# C# U+ X先虚拟软盘再启动光盘引导记录的命令行就是这样:
K" W; F9 @! Adiskemu imgfile.img noboot( F+ ~5 ]! J9 z3 D9 v4 ?( Z( ~- k
chain cdrecord.ert( T4 j/ l9 ]+ P0 N% @; t
& p5 Q/ n. T! h8 @- m( U8 a5 i就这么简单,具体步骤如下:% |9 E, e: n9 x# f
4 I, }( b9 i; d) { G0 m
这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
, h0 b! p. F2 T' }/ Z- @1 V- Y6 ~
" m0 e: g, L* r$ |( N1:把XP安装文件拷到D:\temp\XPins(这个你随意)下( ~: L5 v0 i3 W5 K9 x% Z
2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins8 K5 ^* u6 e F) U8 r Z0 c
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp1 q3 K# P) l8 l, S. `! Z
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下
5 o' O8 T3 Z6 P6 Z8 A5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件/ k4 V' F. k: d
是你要的,不用的可以删除,脚本可以参照下面的范例& W6 {3 O. ~! {: ^1 A
6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像4 s" M3 a- A8 d7 d- c
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso
# i" @8 I8 ]3 Y0 m2 I' R7:burn it, have fun!
. b4 ?9 Z& }4 n3 i% F/ X6 Y
" n8 `% _8 p; Y' `* V$ S6 {我的cdshell.ini:2 E( q$ n) l6 q. q4 z% `1 ^' V6 \
###########################################################################; h, r& F5 T7 T- F# _2 l% n
start:
8 x: c4 h7 X- [: S9 K p0 v, pset c_1 = $textColor #get the default color7 w8 M) M0 ]7 c4 \
here6 O# O* ~: P) [. i
set c_2 = color[brightblue on black]
! `! P. F; A" C' Zset c_3 = color[brightgreen on black]; N( y' r: N2 f
set c_4 = color[brightred on black]0 c; T* K! h0 c0 [
set c_5 = color[white on black]# a& y9 F) g6 Q9 V, a. e0 z
7 U4 {0 y8 R+ X. Q& r' {$ v
cls
" S' c' Y4 o, H! z+ G; tprint c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
6 \8 K, f- R/ y5 }1 `\c($c_3)Aug 4th,2004\c($c_1)\n"3 v, F# l$ N: e! x- k
print r "\c($c_5)Powered by CDshell.org\c($c_1)"$ P- ?! N- g3 k$ E
print "\n"
4 ]' U$ o% ^# q7 `print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios
" r% u4 ^' N8 K% p9 z- T% {flasher etc)\n", U3 s: m2 J2 _
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"/ B" X! O. q+ n- h
print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"( s$ `) c, J- h
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n") F+ m" j9 y7 y
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition/ D" o p7 Y! W& H
(Linux 2.2.10)\n"
h8 \5 w8 |6 l5 f6 d+ n5 bprint l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"! k4 S; [, ^$ `* Q; V: |) a1 G
print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA
/ t! S+ ]* B8 Z7 u( f4 \" GRAID floppy emulation\n"
" [9 N% N7 ^& f5 ~- a( ]1 Zprint l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
4 E: A+ x5 U; g$ O2 V' jRAID floppy emulation\n\n"' U4 A, B' l/ s4 A, K# Y! |6 L# b0 H
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot5 n* Y% d% w$ R0 q2 j
1st HDD\n\n") d1 s# U& A: Y9 Z
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"" \) {( g- x/ V8 _# E' V
print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"
+ K) m6 f" R1 \7 a Q; B; G7 s0 w y6 H8 {& \: r
mainkey:# s0 b' r; i5 A' S
getkey 30 set lastKey = key[esc]. y! H% P$ Y1 Q1 G& ?8 B
if $lastKey == key[1];then goto ms710cln' E, A5 B( y% k" ?( p* H
if $lastKey == key[2];then goto ms710std2 ?3 [" j) e6 [8 F
if $lastKey == key[3];then goto ms710spr
( S6 r* d$ @' [( G tif $lastKey == key[4];then goto pc710
# E% I& O) A$ }if $lastKey == key[5];then goto toms* N) G& B) {& f4 E' H; v& S$ H
if $lastKey == key[6];then goto xpins/ |' Y" q# Q$ U* s
if $lastKey == key[7];then goto xpinsvia
6 G" x$ ?- _# n y# I: E+ Kif $lastKey == key[8];then goto xpinsintel
% E6 F8 i. m6 z& j8 E1 K2 N+ Sif $lastKey == key[f];then goto floppy- p h+ K, r8 A5 V* y- a/ G, u" K
if $lastKey == key[esc];then goto hdd04 z1 V4 c! D: P; D: x- V. t
if $lastKey == key[c];then goto exit
/ _5 v' r. D0 X; L9 Tgoto mainkey$ n! ?9 b; j' c& n
6 X6 ?9 x2 t$ i' {+ v
ms710cln:. B+ r* I& @9 k1 a4 R) D
cls
% U3 Y# {7 H2 |( `, b4 Mdiskemu images\MS710CLN.IMG
5 M( `2 x7 d, l6 V7 q0 f9 ^getkey
w1 ?% O! l8 n7 igoto start
; p4 ] u( ?+ V/ N/ q, C- t" V/ e( N, h8 l. }) z
ms710std:5 @1 f8 M7 W& e3 W3 P2 _
cls
5 d. q* c; r, s( p) x& Odiskemu images\MS710STD.IMG
) h G& ]9 k6 \& rgetkey3 J8 W1 z/ i6 B9 i
goto start
* N, O, q3 I# j7 c. S/ f. |( s; v; d( z* W( f* S
ms710spr:1 g- L8 n2 f. J# a
cls
8 M! r3 a6 O4 p" H' E1 kdiskemu images\MS710SPR.IMG7 j) H& T, v1 Z1 U5 @
getkey
! Y/ @4 p0 Q% W7 g) K+ ggoto start* J# t& I+ H1 S, a
& o, W" s8 f+ ^; l+ y' f6 V' apc710:! \; V0 Z/ J& J+ ]6 [9 ^, e# p
cls
. ^8 e5 o1 S* e8 D1 r$ Cdiskemu images\PCDOS710.IMG
1 k. E: @5 U/ f* Q3 X3 T) U* Z' O( G& Ygetkey
1 y! x7 \7 u* e1 z) }/ [goto start
7 V3 l4 ]/ B. E( E, Y5 z8 M" v' ?; ? h. I* M! R$ V
toms:; K) Z- X/ O0 M
cls2 y, K! F1 z7 @) V
diskemu images\tomsrtbt.img
1 D( P: G8 x( H% sgetkey
, |) V0 q0 z0 N: }6 d0 Jgoto start6 t( D6 ~% \6 N
, k' [8 C6 j% R j% Uxpins:
# g% |; [/ j; g Mcls
; @$ q3 s# I& \' }1 {0 Y1 y# Achain images\MSXPVLK1.etr% g M, _3 i4 u' G
getkey6 U. |; A+ c/ _- d
goto start
" k) T" m8 ~3 ]
! E$ Q- g; V. _: [xpinsvia:# K( A+ z2 H2 K9 u1 W
cls9 l: t6 c+ e8 ~! o, X
diskemu images\viaRAID.IMA noboot
6 v. |- c ]1 y! H& S7 gchain images\MSXPVLK1.etr
3 D3 G* q+ x' w N; u' h! ugetkey
- F9 @# U4 }3 X, K4 s, D, Agoto start3 Z$ _4 C4 E' x; Z2 Q2 M0 }
. n7 F$ w5 b* ?/ B5 o
xpinsintel:# Z6 E0 N' g5 R7 S- T% K" L8 H
cls8 m, n; s: ?/ j% ?. U# x
diskemu images\intRAID.IMA noboot
4 k7 S* u" c( ~) E3 V# Y$ ^" pchain images\MSXPVLK1.etr
4 u2 v& Z( ?3 Q: v- Agetkey
7 p$ X8 S; v" v* q+ Vgoto start
# k+ v6 a( O) y G( N: l6 A/ r: Y
" j2 h% Y$ ^2 M) H+ v& n6 bfloppy:/ }; ?% l! G6 A+ N
cls5 p: P) t; s6 S# `
boot 0x00
0 p; L4 {; L; wgetkey, {; p* O" Q4 L
goto start% H" s; J' C o
8 h6 _& Z- E: m2 T$ dhdd0:# b9 B5 A, ^4 o/ v% d4 A# ?5 f
cls
Y3 k8 i9 S1 A" c% L0 F6 xboot 0x80
) s% Q+ ]$ n5 f0 sgetkey
/ q0 {3 U6 Q( c( Bgoto start# a7 c! [( U! M
: r2 G% h' j$ k2 F4 Y' vexit:3 V9 E- `( z" r8 Y3 M
cls% a8 T* @: c: }
help
- E) m+ m' k$ h& P8 A9 d6 aend
' m, w* g0 {7 J p# A& x###########################################################################
2 Q% G9 D7 {+ i. z" r8 t1 I
3 r6 ~2 |7 h8 U5 t$ `4 ^我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己; v7 d3 ^4 k. b
经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带7 [: j0 F6 t# {+ l) m
来方便,不胜荣幸.+ K' _: j* |3 Z& f
) `/ B0 k }' M2 p) r; L! |9 _: w G! w/ W1 q% U+ j# R( B) u
JimmyZ于2004.08.04晨
& |5 N7 s2 B4 G. `# h' }, \6 G! Z( O5 }# k
$ q k$ j9 k3 Y- I
感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的7 v6 R# g, ]2 p0 s* V& W
更加好用更加完善的cdshell
. G8 k/ W; B) v3 Y; h* Y" I--
3 t2 {# N/ z5 GFake Wings. A" A* j; E/ H) ]0 Q
shine , bright morning light , now in the air the spring is coming
9 l5 J/ F( I7 U7 t R- j* T- e. wsweet blowing wind , singing down the hills and valleys
, ~6 f% c# ~! \* c# @# ykeep your eyes on me , now we`re on the edge of hell
! c+ v6 U- `, j5 z( qdear my love , sweet morning light
4 @! T) t$ G+ @# zwait for me you`ve gone much farther , too far. [' ~( e' D- P+ }
※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·6 y4 ^. [6 b W3 A+ i
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|