Linux Remote-Boot mini-HOWTO(11)

2008-02-23 07:23:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折



如果 bpunzip 透过副档名 .P 载入 (如 win95.P), 则它会假设 TFTP 伺服器在 port 59 有加强型的介面 (在正规的 port 69 之外所附加的). BpUnzip 将透过它以较大的封包格式载入影像档, 通常是以 1408 bytes 来取代每个封包 512 bytes (这种转换使用大封包的技巧有点像TCP/IP Bootprom所使用的). 

同理, 如果 bpunzip 是透过副档名 .G 载入 (如 win95.GP), 则它将会先下载一个以同样主档名的 GIF 图档 (如 win95.gif) 并在开机时把它秀在营幕上. 这个程式只能在 800x600, 256 色的模式下工作 (即使 GIF 图档可以更小或者使用更少的颜色). 如果您想要看看开机的流程记录, 则这个标题可以按 ESC 键移除. 如果您的显示卡不是 VESA 相容型, 则这个功能您不能使用. 另外,还要注意的是这个标记的执行完成棒是使用调色盘的 最後十六色来显示. 如果不想使用这个功能, 或者希望修正它. 顺便一提, 如果您不喜欢我们标记的执行完成棒, 您可以自由的改变它 (在 GIFDATA.ASM), 但请保留我们的名字在可以看得到的地方. 

目地分割区不需要完全跟原始的大小相同 ; 它只要有足够的空间来存放分割区中,所有使用到的磁柱. 如果目地分割区小於原始的分割区, 则 档案对硬表 FAT 将会因此而萎缩 (但磁柱大小则不变). 如果目地分割区大小大於原始分割区, 则 档案对应表 FAT 将会尽可能的扩大. 然而, 如果目地分割区比原始分割区大更多, 可能 65518 个磁柱就不够覆盖所有的空间 (因为磁柱大小是无法改变的). 像这种状况, bpunzip 将会产生警告,告诉使用者有一些空间流失掉了. 

预设值, bpunzip 是编译成支援 LBA (不超过 1024 个磁柱, 但可达 256 个磁头). 某些奇怪的 BIOS 及某些奇怪的作业系统较喜欢另一种 NORMAL 模式 (可达 4096 个磁柱, 但不能超过 64 个磁头); 如果您需要这种模式, 那麽把 LBA 的定义从原始程式里改成注解然後重新编译一遍. 

Assembler 语法的原始程式码在 这. 

如果使用 Solaris 2.5 当 TFTP server. 在处理超过 16 Megabytes 时, 会有问题. 这是因为它无法处理超过 32768 packets per file 这是一个已知的臭□, 但直到目前 SUN 仍未提供修正. 我们建议您使用更有效率的加强型 extended TFTP server (它也支援其他作业系统, 就在 TCP/IP Bootprom 工具磁片中). 


4.5 NOBREAK 
Nobreak.sys 相当小 (大概只有 350 bytes ) 的驱动程式, 它将加在您 config.sys 中的开始处. 它的目的是保护开机程序, 直到使用者登入. DOS 为这提供一种设定 (名为 BREAK=OFF), 但它不够暴力, 并且在 autoexec.bat 没舍用. 我们的驱动程式工作原理是当中断要求产生时修改键盘的扫描码, 直接在 BIOS 层工作. 以这方法, 所有的程式在中断未致能前都收不道中断讯息. 

这个驱动程式必须放在 config.sys 档中(或者使用 Undocumented DOS 的 devlod 程式). 接著, 可以透过传送 Yes 到 NOBRK 这个虚拟装置, 并且传送 No 而禁能 (事实上, 只需要第一个字元, Y 或 N 才是最重要的). 

因为这个驱动程式依靠 BIOS, 所以它只能在 DOS 跟 Windows 3.1.下工作 Windows 95 则有它自己的低阶键盘处理机制. 

Assembler 语法的原始程式码在 这. 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

5. 讨论
我们在这将讨论关於这个架构的相关理论性议题. 


5.1 Bootproms 与 硬碟机 
Bootproms 已经出现相当久了, 而通常我们只会把它们使用在无磁碟机的电脑. 但我们主张, Bootproms 用在具有硬碟机的电脑将更有趣, 因为我们得到了双面的利益: 

一个 Bootprom 可以使得您的架构更加稳定, 因为它可以确定电脑必定会以同一个开机步骤开机, 即使是中了病毒或分割表损毁. 还可以这样作, 也就是我们做过的, 在载入作业系统之前先清理您的硬碟 
有硬碟机使得这个组态更加有效率, 因为它可以透过快取而降低网路负载, 并允许更有效率的 swap. 

5.2 使用那一种 Bootprom ? 
个人电脑可用的 Bootproms 相当多. 我们有许多理由选择 Köppen EDV GmbH 的 TCP/IP Bootprom : 


它是以 BOOTP/DHCP 通讯协定为基础, 这些通讯协定已由 RFCs 公开的定义. 它的定义是当 BOOTP/DHCP 伺服器收到未知的客户端的要求讯号, 将不会有任何回应. 这是用来防止有多台伺服器时而互相干扰, 当您苦於 MSD 开机伺服器的体验. 而且, 而且 IP 只能在子网路内广播, 这样比起 IPX 会产生较低的杂讯. 
它可使用多种作业系统. 
技术资料与 API 资料可索取. 
可以自己写开机载入程式 (我们试过) 
开机的程序可以有更多的变化. 特别是, 它可以允许我们在旧式的 AST 电脑关掉软碟的开机, 这在原机器的 BIOS 不包括这项功能. 
提供建立与维护开机选单的工具. 


--------------------------------------------------------------------------------

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:The Linux BootPrompt-HowTo 中译版

下一篇:使用LILO做为Win95 WinNT Linux多重开机 mini-HOWTO