📄 remote-boot-3.html
字号:
</UL>
因此几个月前我们放弃这份错误百出的资料 (您仍然可在这找到
<A HREF="win95old/win95old.html">http://cuiwww.unige.ch/info/pc/remote-boot/win95old/win95old.html</A>) 然後换到我们这个新的 disk-based 远端
启动的概念. 基本上, 这种 Windows 95 安装方法就跟安装 DOS一样容易.
<P>
<H3>建立一台独立的客户端</H3>
<P>在客户端用 DOS 开机, 如果您已经设定好 DOS/Windows 3.1 那就随便由开机选项中选一个, 或者用
一个软碟开机 (按 space 键可以跳过 BootPROM). 使用第一种方法的优点是你已经有一台可使用网路
的客户端, 并且只需要把 Windows 95 的安装磁片放到您的伺服器上的某个地方.
<P>如果您由软碟开机, 您的第一步是安装作业系统, 方法是格式化您硬碟机的 DOS 分割区并用 <CODE>/S</CODE> 的选
项. 如果您使用 DOS/Windows 3.1 的组态, 那麽首先您要清除一些您安装 Windows 95 时不需要的档
案以及一些在您最後的开机影像中不需要的档案 (例如, <CODE>WINDOWS</CODE> 这个目录).
<P>开始安装 Windows 95, 照著步骤把它装在 <B>local</B> . 安装最後, 程式会重新启动您的客户端电脑, 做一些
设定并再重新启动一次. 这几次的重新开机, 您必须再您的开机选单选择 <EM>Boot from local hard-disk</EM> 选
项. 等到您设定好您所需要的驱动程式後, 您可以执行 <CODE>defrag</CODE> 做完整的硬碟重组 (包含重组未使用得
磁碟空间).
<P>您或许也想要使用 BootPROM 所占掉的记忆体, 只要在 <CODE>config.sys</CODE> 第一行加上 :
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
device=\util\bputil.sys -r
</PRE>
<HR>
</CODE></BLOCKQUOTE>
(<CODE>bputil</CODE> 是放在 TCP/IP Bootprom 工具磁片中). 不同於 DOS, 您避需避免在 Windows 95 中使用 <CODE>EMM386</CODE> .
<P>如果您要使用 Windows 95 OSR2 (或叫 MSWIN 4.1, 或者 Windows 95 service pack 1, 或者 Windows 95
with Internet Explorer), 您要在 <CODE>MSDOS.SYS</CODE> 中的 <CODE>[Options]</CODE> 段加一行 (没错它是文字档):
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
AUTOSCAN=0
</PRE>
<HR>
</CODE></BLOCKQUOTE>
这样可以使 Windows 知道您开机时不自动启动 ScanDisk .
<P>当所有的软体都放在伺服器时, 如果您要减轻网路及伺服器的负担 (这将增进您的系统效率) , 您可
以考虑安装这套相当不错的 Shared LAN Cache,由 Measurement Techniques, Inc 生产的 (参考
<A HREF="http://www.lancache.com">http://www.lancache.com</A>). 这套软体在每台客户端电脑执行, 它会对所有从网路上取得的资料放在区
域性的硬碟中快取. 即使像 MS-Office 在您第二次执行时也会更快... 您的每台客户端电脑都要有一
份版权, 不是它还不是很贵, 这家公司对於大专院校有特惠价格. 更好的是您可以到他们的网页下载
免费的评估版.
<P>
<P>
<H3>把设定档移到伺服器</H3>
<P>伺服器端, 如果您目前还没有建一个名为 <CODE>admin</CODE> 的目录, 那就建一个. 这将放一些系统管理要用的东
西. 如果伺服器是 Unix 的机器, 现在把 <CODE>admin</CODE> 目录用 softlink 到 <CODE>/tftpboot</CODE> 子目录下, 这样您可以由客户端
直接把影像档放到这. 在 <CODE>admin</CODE> 目录内, 建立一个 <CODE>/utils</CODE> 子目录并把下列工具放进去:
<UL>
<LI><CODE>
<A HREF="soft/dos/bin/mrzip.exe">mrzip.exe</A></CODE>,
一个用来产生您客户端硬碟机压缩影像的程式. </LI>
<LI><CODE>
<A HREF="soft/dos/bin/mrunzip.exe">mrunzip.exe</A></CODE>,
一个用来把压缩影像档从伺服器回存到您客户端硬碟的程式. </LI>
</UL>
<P>在您的客户端开个 MS-DOS 视窗, 可以把您的 <CODE>admin</CODE> 用网路磁碟机挂在 <CODE>L:</CODE> 并执行下列的指令 (不一
定要使用绝对路径, 多打几个字无害啦 :-)
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
L:\util\mrzip L:\tftpboot\win95
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>这将在伺服器的 <CODE>/tftpboot</CODE> 子目录下, 产生两个新档案, 名为 <CODE>win95.imz</CODE>, 一个您客户端硬碟机的压缩影像
及 win95.chk, 检查用的档案 (其实内容是把开机分割区做些许的变动). 真正的目录, 只要建个名为
<CODE>win95.P</CODE> 的符号连结到 <CODE>bpunzip</CODE> (或者拷背一份) .
<P>现在您的 Windows 95 远端开机组态就完成啦.
<P>
<H3>测试远端开机客户端</H3>
<P>现在重新启动您的客户端电脑并从开机选单中选择 <I>Windows 95</I> . <CODE>bpunzip</CODE> 程式将给您一些关於它更新
影像表的讯息, 并且从网路下载整个开机影像 (如果它是第一次看到这个开机影像).
这大约会花掉两分钟. 接著它将解压缩这个影像档到 DOS 分割区, 并启动它.
就这样, 您的远端开机客户端就序啦!
下一次您重新开机, 它只会解开这个影像档, 大概会花 40 秒.
<P>
<H3>转换为其它分身的设定</H3>
<P>Windows 95 与 Windows 3.1 最大的不同是加入了即插即用的程式码, 即自动侦测您的硬体设备. 它本
身无舍坏处, 但问题是出在它太过灵敏, 而且有时後会出□.
<P>如果您试著用同样的开机影像去启动另一台客户端机器, 您将在收到一堆 Windows 侦测
到新的硬体
设备的讯息: 一片新的音效卡, 一棵新的硬碟机, 一片新的网路卡, 或者一只新的滑鼠... 会这样的原
因有二:
<P>
<UL>
<LI>这些设备可能使用不同的硬体资源 (比如, 滑鼠不是接在相同的连接埠, 音效卡不是接在同样的
扩充槽 - 没错, 这会被侦测到)</LI>
<LI>这些设备可能通知 Windows 95 它们的序号 (比如, 每台跑 Windows 95 的网路卡, 从最基础的乙
太网路位址就每台都不一样了)</LI>
</UL>
事实上 , 如果 Windows 95 的即插即用功能可以正常工作的话, 自动侦测变更的硬体设备并不会出问
题, 所以如果即插即用功能失效时, 问题就来了. 例如, Windows 95 对上我们的罗技 PS2 滑鼠时就不
能即插即用, 更糟的是滑鼠就消失了. 要解决这类问题方法就是, 尽可能使全部电脑有相同的设备.
<P>您无法避免的问题是每台电脑的网路卡. 很不幸的, 给我们的 SMC EtherEX 使用的即插即用的程式
码会使电脑当机. 唯一的解法是使 Windows 95 相信它已经知道有这片网路卡, 且不需触动即插即用
机制. 这个技巧就是透过开机自动执行档 <CODE>autoexec.bat</CODE> , 自动的把关於这片网路卡的设定值加入
Windows 95 的系统注册资讯. 要注意的是使用 PCI 的网路卡并不需要这个技巧.
<P>到您的客户端电脑, 编辑开机自动执行档 <CODE>autoexec.bat</CODE> 并加入下列几行:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
rem --- 修正 Windows 系统注册资讯以避免即插即用功能侦测
cls
unzipreg c:\lib\smc.reg c:\temp\smc.reg
regedit /L:c:\win95\system.dat /R:c:\win95\user.dat c:\temp\smc.reg
echo.
del c:\temp\smc.reg
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<CODE>regedit</CODE> 是标准 Windows 95 的程式. 如果您在 Windows 95下执行它,它可以帮您流览您的系统登录资讯, 或
者如果您在 DOS 下执行它, 它可以对您的系统登录资讯做一些简单的修正. <CODE>
<A HREF="soft/dos/bin/unzipreg.exe">unzipreg.exe</A></CODE>
是一个自制的小程式, 您可以放在您的路径下的任何地方 (原始程式至在
<A HREF="soft/dos/src/unzipreg.zip">这</A>). 它将读取一个由 <CODE>bpunzip</CODE> 所产生的特别隐藏档案, 名称是 <CODE>BOOTP.ANS</CODE>, 它包含来自伺服器的原始 BOOTP/DHCP 回应资讯.
然後, 它将读取第一个参数的档案(c:\lib\smc.reg), 然後以 BOOTP/DHCP 回应的资料取代档案内所有以 <CODE>UNZIPREG:</CODE><I>tagname</I><CODE>:</CODE> 为格式的内容,
接著写入第二个参数的档案(c:\temp\smc.reg).
<P>在 <CODE>lib</CODE> 子目录下, 我们有个名为 <CODE>
<A HREF="soft/dos/lib/smc.reg">smc.reg</A></CODE> 的档案其内容如下:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
REGEDIT4
[HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0]
"HardwareID"="*SMC8416,ISAPNP\SMC8416"
"HWRevision"="1.0.10"
"DeviceDesc"="SMC EtherEZ (8416)"
"Class"="Net"
"Driver"="Net\\0001"
"CompatibleIDs"="*SMC8416"
"Mfg"="SMC"
"ConfigFlags"=hex:10,00,00,00
[HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0\Bindings]
"MSTCP\\0001"=""
[HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0\LogConfig]
"0000"=hex:00,04,00,00,00,20,00,00,10,00,00,00,04,00,00,00,00,00,00,00,a8,0e,\
00,00,20,00,00,00,02,00,00,00,01,00,0c,00,00,00,00,00,00,00,00,00,e0,ff,20,\
00,40,02,ff,03,00,00,04,03,2c,00,00,00,01,00,00,00,01,00,14,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,e0,ff,ff,00,20,00,00,00,00,0c,00,ff,ff,0f,00,00,\
00,00,00,2c,00,00,00,01,80,00,00,01,00,14,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,e0,ff,ff,00,80,00,00,00,00,0c,00,ff,5f,10,00,00,00,00,00,00,00,00,\
00
[HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1]
"HardwareID"="*SMC8416,ISAPNP\SMC8416"
"HWRevision"="1.0.10"
"DeviceDesc"="SMC EtherEZ (8416)"
"Class"="Net"
"Driver"="Net\\0001"
"CompatibleIDs"="*SMC8416"
"Mfg"="SMC"
"ConfigFlags"=hex:10,00,00,00
[HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1\Bindings]
"MSTCP\\0001"=""
[HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1\LogConfig]
"0000"=hex:00,04,00,00,00,20,00,00,10,00,00,00,04,00,00,00,00,00,00,00,a8,0e,\
00,00,20,00,00,00,02,00,00,00,01,00,0c,00,00,00,00,00,00,00,00,00,e0,ff,20,\
00,40,02,ff,03,00,00,04,03,2c,00,00,00,01,00,00,00,01,00,14,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,e0,ff,ff,00,20,00,00,00,00,0c,00,ff,ff,0f,00,00,\
00,00,00,2c,00,00,00,01,80,00,00,01,00,14,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,e0,ff,ff,00,80,00,00,00,00,0c,00,ff,5f,10,00,00,00,00,00,00,00,00,\
00
</PRE>
<HR>
</CODE></BLOCKQUOTE>
这个档案一开始由 Windows 95 的 <CODE>regedit</CODE> 产生. 我们把关於网路卡的设定部份输出成一个档案 (
<CODE>HKEY_LOCAL_MACHINE/Enum/ISAPNP/SMC8416</CODE>) 然後用 <CODE>UNZIPREG:MACID:</CODE> 记号取代网路卡的硬体位址. 当我
们在这档案中执行 <CODE>unzipreg</CODE> , 它会自动的以网路卡真实的硬体位址值取代我们所设定的记号. 注意这
里有个数字在 MACID 之後的有时是 <CODE>C0</CODE> 有时是 <CODE>C1</CODE>. 即使放一个不存在的网路卡在这个登录档中不
会出□, 我们还是把两项都放进去.
<P>还要一次ㄡ, 这整个技巧对 PCI 网路卡而言并不需要. 顺便一提的是, 我们可以用同样的方法自动的
配置主电脑名称, 当 Windows 95 不能透过 DHCP 取的设定时. 我们只须加入下列几行到我们的
<CODE>smc.reg</CODE> 档案中:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"ComputerName"="UNZIPREG:HOSTNAME:"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
"HostName"="UNZIPREG:HOSTNAME:"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
"ComputerName"="UNZIPREG:HOSTNAME:"
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>您也可以使用同样的机器按照机器的型态跟位置来设定其他的环境. 这个□例, 您一样可以参考
DOS/Windows 3.1 那一段的叙述.
<P>在变更任何客户端机器的设定後, 千万别忘了用 <CODE>mrzip</CODE> 重新建立磁碟影像, 否则您所有的设定都会不
见.
<P>使用这个系统登录资讯的小技巧, 您的设定资讯将可以正常的转移到所有的机器. 如果您无法避免
Windows 去侦测一些机器上的新硬体, 试著由这台机器重新建立磁碟影像档. 包含针对这台机器所
设定的登录资讯也要放入磁碟影像中, 如果顺利的话可以解决这个问题.
<P>当磁碟影像档解压缩时会花一些时间 (通常是 20-30 秒.), 您可以给使用者一些讯息或者就放张漂漂
的图给他们看. 这个工作可以很简单的完成 (看看下一篇文件的 BPUNZIP ).
<P>如果您想得到更多设定 Samba 的资讯与工具给远端开机的电脑使用, 我们还写了另一份文件. 可以
看看 <CODE>
<A HREF="http://cuiwww.unige.ch/info/pc">http://cuiwww.unige.ch/info/pc</A></CODE>.
<P>
<HR>
<A HREF="Remote-Boot-4.html">Next</A>
<A HREF="Remote-Boot-2.html">Previous</A>
<A HREF="Remote-Boot.html#toc3">Contents</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -