TA的每日心情 | 奋斗 前天 14:14 |
---|
签到天数: 2401 天 [LV.Master]伴坛终老
|
现在新主板越来越多的支持了SATA,但是要在SATA硬盘上安装XP等操作系统,需要把0 C9 T* v) p7 R" x
SATA驱动放在软盘中,XP安装启动时按F6加载SATA驱动才可以正常在SATA硬盘上安装
. B* |5 H; F |# Z- ~新系统.
- x6 y( v$ w, a7 ?% y4 Y+ G K. S; L: U' S# K! p
这个问题很搞笑,因为装SATA的新机器多半不会装软驱了吧.好在有办法在XP安装盘) {4 a0 v* H8 ?
中集成SATA驱动,具体方法在google上以XP SATA driver F6 integration搜一下就# D0 ?3 c3 b0 X9 r
有了,大体方法是修改驱动的inf文件加入到XP安装文件中使其自动加载,这里不在赘
, T8 a4 g0 m4 D. \( Z/ X* S F述.
. ]/ q" X9 {6 f& o5 f7 z
- I( G- F( f5 X" F这种方法的缺点在于修改麻烦,一般修改简单的驱动还行,可是像VIA现在发布的SATA
( Z' J9 z: S. `8 d8 b驱动是非常麻烦的,修改起来不是那么简单(我就是因为这个放弃了这种方法).另一
, \* m2 C2 d, g2 d E% E点,厂商一旦发布新的驱动,更新的话就要重新修改.
+ f+ |" z5 z n+ c" I r0 I1 x& W: I# u3 }
我要说的是用cdshell来虚拟软驱,完成没有软驱的情况下加载软盘中的SATA驱动的
6 n7 j R9 G% l0 d7 j1 t"不可能任务".cdshell是一个光盘引导管理程序,非常强大,关于它以及这个强大工
7 ~: Q8 T6 Z8 `具从diskemu -> Boot Scripter ->CDShell的演化历程,请至www.cdshell.org& K. P3 i; e" h# V
% X8 ?7 E. V/ |# S5 Y0 W" m0 l
大致介绍一下cdshell:# _! e5 @/ l8 }1 K6 \
cdshell的引导程序loader.bin被写在光盘的eltorito引导区,然后它会加载cdshell
& Z$ ?$ @! s7 V的主程序并加载各功能模块(其中就包括之前bart所作的著名的把软盘模拟发展到极
. \, a. R, K% J% |) [9 [致的diskemu).然后它可以引导光盘上的软盘镜像(通过diskemu或是另一个组件memd
: O3 a2 N* G( k* [1 gisk)/另一个光盘引导记录/另外一个光盘iso(2.0.13b之后),并且提供了一个很强大6 X/ K6 E' K9 Y2 M
的脚本系统,可以实现用户交互(2.0.15b之后甚至可以用鼠标了).常见的N合一启动1 J# N9 N4 R! F' c* K0 V
盘基本就是用它或其前身来完成的.
9 r& Z7 b/ ]8 P% R
1 h+ `- }5 W. Y; C' A, k) o在2.0.12b中cdshell加入了一个非常有用的功能:它的diskemu组件现在可以只加载
5 R. c1 z$ `9 h/ B' z软盘镜像,而不启动它,在这之后我们可以再启动一个光盘镜像.这就是我们要的功能!* T1 ?: \+ K' p& ?( W3 u; A) N/ e
" N& m% D1 Z1 I3 ] v比如启动一个软盘镜像的命令行是这样的:
/ N) x+ \, W4 p$ x4 H Wdiskemu imgfile.img3 D: x. @5 x0 j) T
启动一个光盘引导记录的命令行是这样的:
# }; j- @5 }; p) zchain cdrecord.ert+ {4 b& d( ~3 j6 A3 U' r: l% l
先虚拟软盘再启动光盘引导记录的命令行就是这样:
' j0 [3 D& J# g9 O. C4 |+ E) vdiskemu imgfile.img noboot0 i5 {3 @7 G# q1 g2 V
chain cdrecord.ert% m. Q2 ~, a% y, ^( T
: |' L$ \6 Q7 d! d3 `. f8 C; ^
就这么简单,具体步骤如下:
! r) j9 X! ]3 o+ L# ? {
8 Y- S4 k' M& _/ G这里使用cdimage来创建可启动镜像,也可以使用mkisofs代替.
7 y: k; I$ P9 E [! W9 P0 j' z8 {; \- C
1:把XP安装文件拷到D:\temp\XPins(这个你随意)下
0 Q' _: X ~. y' [- R3 c2:把cdshell的bin包里的boot目录整个拷贝到D:\temp\XPins6 V5 p0 @& F) n# g6 o7 d
3:把D:\temp\XPins\boot下的loader.bin移到D:\temp% n& k9 R$ L+ H2 r: ^ P
4:准备你要用的SATA驱动的软盘镜像(可以使用WinImage创建),放在boot下/ S# C/ V. o9 n3 Q
5:按需修改cdshell.ini这个脚本文件,有兴趣的话,看一下cdshell的说明,看看哪些组件
5 F! ], s8 z* {/ ` k是你要的,不用的可以删除,脚本可以参照下面的范例
& k( S$ W& e# n5 `6:把cdimage.exe放到D:\temp\,运行下面的命令创建镜像7 Z# j6 Y7 s0 v% m( M8 q% b; {
cdimage -lXPinsSATA -h -n -bloader.bin D:\temp\XPins D:\temp\XP.iso8 J, L; k# g k- k: }2 x1 A
7:burn it, have fun!
0 X1 y$ o1 \4 I; k: p7 a5 K8 P I2 ?7 m6 Q
我的cdshell.ini:2 H" z; t& T; M5 r# \+ M! G
###########################################################################
: p) H: }' Y" _0 a$ Q" ~start:6 g$ |: _8 S6 g1 }1 `) Q @6 l; b+ |
set c_1 = $textColor #get the default color
2 b1 K4 S" w4 v- G) chere0 a5 f/ q/ c$ I4 D& N
set c_2 = color[brightblue on black]
9 n. Q; U# n5 C$ Fset c_3 = color[brightgreen on black]
' x7 y0 e6 S0 X E8 U6 Tset c_4 = color[brightred on black]
6 G4 A& {, C9 D. ]2 ]7 O" Nset c_5 = color[white on black]& y: ]6 w0 F4 a$ M& b" t
! _2 K7 z# M6 O0 |9 C- v) _2 e: Icls
* G6 E, }) h) D4 e; g# j/ C2 M( {print c "\nJimmyZ`s XP install with RAID floppy emulation Disk Version
4 S$ A }4 ^- k2 M. {. o9 q) o\c($c_3)Aug 4th,2004\c($c_1)\n"; {# c5 {. ~9 W0 I' ? X
print r "\c($c_5)Powered by CDshell.org\c($c_1)"
8 a* M7 T- H1 {; p. @: a* Bprint "\n"& g) n3 r4 i/ _6 B
print l "\t\c($c_2)1\c($c_1). Boot Extreme Pure MS-DOS 7.10 (for bios/ X5 @2 t) j: H- @: s) g& U
flasher etc)\n"9 Z* ]# y+ e8 a! t$ a
print l "\t\c($c_2)2\c($c_1). Boot Standard MS-DOS 7.10\n"
* W/ Q2 w( d4 K1 M% O0 {print l "\t\c($c_2)3\c($c_1). Boot Super MS-DOS 7.10 by Wengier\n"& T n" }8 @0 G" K, [4 T) ~) O
print l "\t\c($c_2)4\c($c_1). Boot Standard PC-DOS 7.10\n"0 f/ q8 b7 e6 ]* B8 [, Q G+ O
print l "\t\c($c_2)5\c($c_1). Boot tom`s rtbt-2.0.103.Eltorito Edition
! X# v- J0 B o" e5 l3 S5 u7 \9 P; J; z(Linux 2.2.10)\n"% w3 u+ {1 F! F0 ]: W2 \
print l "\t\c($c_2)6\c($c_1). Boot Windows XP VLK SP1 ENG setup\n"
6 w( t: w# q) P" K0 W5 X0 _print l "\t\c($c_2)7\c($c_1). Boot Windows XP VLK SP1 ENG setup with VIA: f! ?/ B% X0 \$ @7 R y
RAID floppy emulation\n"6 s7 o# u) @: I# b! \
print l "\t\c($c_2)8\c($c_1). Boot Windows XP VLK SP1 ENG setup with Intel
% q1 p j: }/ E$ t: jRAID floppy emulation\n\n". b% b: [- m, S& V6 u8 Q* N
print c "\"\c($c_4)F\c($c_1)\" boot Floppy, \"\c($c_4)Esc\c($c_1)\" boot
y* N1 I% ~ n7 j) P1st HDD\n\n": c7 B+ y8 o) B1 D: P6 h6 {
print r "\"\c($c_4)C\c($c_1)\" to CD-Shell Command Prompt"
4 p. C/ K# D8 E) ~$ ]( ^print r "\n.ini written by JimmyZ: \c($c_5)sorceress_92@hotmail.com\c($c_1)"* U. `3 S) b' \& Y- b% g. k
& Y$ j1 q. U: v3 l7 |# {9 R- ]4 K
mainkey:
/ k, }4 [& q+ A7 X1 g1 [getkey 30 set lastKey = key[esc]- @1 I& U( O) x% t8 L
if $lastKey == key[1];then goto ms710cln- J+ v# m& M4 c1 N' q! R' ~
if $lastKey == key[2];then goto ms710std
' s# q) h1 l$ L4 u6 Qif $lastKey == key[3];then goto ms710spr% r5 x2 X0 ^3 R2 G$ `
if $lastKey == key[4];then goto pc710' ?! a! j' A3 e T! i& c) h0 D
if $lastKey == key[5];then goto toms6 G3 O2 Q: F" a3 @4 X5 `2 g* i3 `
if $lastKey == key[6];then goto xpins' e! R2 c# h7 D! j+ x, F( Z
if $lastKey == key[7];then goto xpinsvia
5 Q, O- t$ U% u9 `% Q5 o& `8 t4 E# U3 @0 vif $lastKey == key[8];then goto xpinsintel
" w9 ~* D1 e* x& C) oif $lastKey == key[f];then goto floppy$ x( h0 @1 X! t/ U% b% P- {
if $lastKey == key[esc];then goto hdd06 b: x0 N) k9 d1 ^
if $lastKey == key[c];then goto exit6 _: c% {. |7 D8 G+ Y1 L. s: P% z7 ?
goto mainkey+ P+ N: s0 `! u3 P
1 x7 ^1 h2 [9 j- x% {
ms710cln:
. B. {- D7 k+ V0 Q( T% Ccls
' o# b$ T1 A4 B. z5 Ediskemu images\MS710CLN.IMG
; s6 t2 x4 t F7 N0 ngetkey
$ ]8 ?/ A3 | }/ T; i7 {goto start6 C# @, [2 w* Z# ^
, s. L' F7 q* V. L$ k# i( |! t
ms710std:' \) L! J; m# e4 |3 i G
cls
+ ]# ^3 ]- L. ]) Z+ i+ idiskemu images\MS710STD.IMG: {( z4 x, M* G- T2 ]) a( \! Y& o; u
getkey& | } Q' M$ I1 ]
goto start
9 K. @ x2 L. x! I$ B# Y5 t3 l- ]2 p+ D7 A, _3 o
ms710spr:
" m# b/ X* p, o* Vcls
7 n( Q; \$ C: @2 F/ d& _diskemu images\MS710SPR.IMG# d- Q; a+ k0 O, e5 Z, M
getkey
5 I. C; k8 c+ @5 Qgoto start
: Y1 k4 r' q+ S5 @0 K/ u0 U6 _$ T# h* K# r2 y
pc710:
: K$ i! e0 r- W7 B: Mcls
: `( L4 p7 s4 ~- j" Vdiskemu images\PCDOS710.IMG
/ K7 V2 B8 h3 agetkey
3 T# V/ N; X; w! Q8 \2 ugoto start0 {* N w5 k- E7 O
3 g& f( m: h8 R
toms:$ h! Z3 I% ]9 P( l' ?
cls9 U- J9 p& A2 ]9 _
diskemu images\tomsrtbt.img* d- u! t& c! u
getkey
" l' A6 {, o. ^2 m5 ?1 i8 Vgoto start4 g, Z. y% i; u
- Q5 ^+ ]5 ^0 h: nxpins:# Q: p- e a5 I2 Y& ?+ a3 O
cls9 C' G: E' H2 z% w
chain images\MSXPVLK1.etr7 ?* Y, d H$ }; S
getkey
" I) N% g9 {) j+ igoto start
8 _3 G+ e, Q0 M) H3 h" c6 [
' Y& {, T" w+ h0 \1 ]% Y+ Cxpinsvia:
1 _9 N9 i$ _6 g o& L$ i9 z. i6 ycls6 o0 Q# O1 f! z* y
diskemu images\viaRAID.IMA noboot
! L! c S% y, a; g+ D2 @1 H$ Rchain images\MSXPVLK1.etr0 @+ r% O+ `& f
getkey
' u# h; m; X3 \4 u/ m" G0 W0 ]1 y2 f0 lgoto start
% [+ e+ g3 V' {2 d0 }3 S: M4 [% o. `; ~6 {6 X& H. W' i
xpinsintel:) ~# u/ F! r9 z
cls# e2 B7 c3 w. N! F: ?# E ?
diskemu images\intRAID.IMA noboot# \- L1 E2 @1 k+ ~; s
chain images\MSXPVLK1.etr5 C$ P A; O. G9 z4 n0 f
getkey8 T0 {/ ?+ ~( Y% m- W
goto start
, {8 f7 x% v5 Y9 r, u0 ^6 w1 V% R
& H) T5 ^; |; Pfloppy:/ x) F- J1 \( I5 W+ T7 v' k3 e
cls
3 Y, t& `- `4 L) Q* Z6 }8 Yboot 0x00. I9 ^& A# C& t0 E2 ]
getkey$ R! D7 _3 j: X6 [$ A
goto start+ V# j! N- w& I: d$ [8 E
8 t" w2 N/ v0 [- U3 g1 ihdd0:
. _6 `4 K. a ~' y3 v* [cls+ J* T$ g! F5 w( n6 _) V
boot 0x80
0 g" J$ H. a5 Rgetkey- D! I# m/ e+ B6 G7 j% b
goto start
& {$ F- D8 D5 Q. Q0 }. @1 a4 [5 p" }& n, j
exit: A5 u+ i) d6 j) ?
cls
* l! e: j V9 ^# B# Yhelp. I! d6 k, S! j$ z
end
! M- O. U3 y; \7 {2 K1 W* c###########################################################################
9 m% Y1 }# b+ D5 Y( x2 E. p/ |6 L( b5 o; g5 l
我做这个的主要原因是想装的新机器想用SATA的硬盘也不想装软驱,所以做了这个,己0 h, j6 ~2 t- _# U$ p2 S
经试验过XP安装程序的确可以正常加载虚拟软驱中的驱动.如果大家觉得这个方法带
' q1 r% H2 q* }来方便,不胜荣幸.* n2 E! x, l1 J6 ^7 e2 h
- D+ o; x% x9 M) }+ @* i }4 G# S
JimmyZ于2004.08.04晨
6 @' e6 Q# |& [6 O# l V2 ~7 o; Y2 Q; z
6 z! f; I! X' C" p+ ]" i2 A. a+ s
感谢Gary Tong和Bart Lagerweij的堪称伟大的diskemu,感谢Michael K. Ter Louw的+ v8 `7 q. T' M1 ~$ C) i) g$ n
更加好用更加完善的cdshell
# h" R. w& I5 L c--: O; m5 b& y6 t6 Y- ]4 Y5 t
Fake Wings
d1 N& j0 a5 ?* bshine , bright morning light , now in the air the spring is coming
, p/ T$ j- i5 @2 }% R; [sweet blowing wind , singing down the hills and valleys, X, \; P7 R' _6 ^ b; s
keep your eyes on me , now we`re on the edge of hell; l( s5 Z( z9 s1 Q6 j! ]
dear my love , sweet morning light
" n* \" h# `! ?) u. a, w+ J; @6 b# ?wait for me you`ve gone much farther , too far
: B1 f F) M4 h※ 修改:·JimmyZ 於 08月04日02:03:07 修改本文·; I m6 }1 _/ n% @
※ 来源:·瀚海星云 bbs.ustc.edu.cn· |
|