Linux Remote-Boot mini-HOWTO(10)
2008-02-23 07:23:09来源:互联网 阅读 ()
4.3 BPCLEAN
此 boot image 将重新写入硬碟的 master boot record, 包含硬碟的分割表. 此外, 它可以快速格式化 DOS (FAT16) 资料分割区 (但无法使它可开机). 因为版权的关系, 我们必须重新规划我们的 master boot record 与 FAT16 开机磁区, 除了一些远端开机的讯息外, 它们与标准的分割区大致上是一样的. 为了使这个程式能工作, 您或许需要关掉 BIOS 对 master boot record 的保护 (因为每次开机都更新一遍).
这个程式下载与这个程式同样主档名的分割表叙述档其副档名为 .tab. 这个档案可以包含空行, 注解由记号开始但不得超过 512 个字元.
前四个不含空白及注解的几行应该包含四个硬碟分割区的叙述. 第五个不含空白及注解的那一行应包含下一个要载入的开机影像档名称.
分割区的叙述行由由空格或 tab 键来分割, 必须如下这三种格式:
--------------------------------------------------------------------------------
type boot? 1st-cyl 1st-head 1st-sect last-cyl last-head last-sect
type boot? 1st-cyl 1st-head 1st-sect relative-size
type boot? relative-size
--------------------------------------------------------------------------------
第一种格式, 给予精确的分割区叙述.
第二种格式, 第一个 sector 位置有定义但分割区的结束位置是依要求的分割区大小自动计算.
第三种格式, 第一个 sector 依照前一个分割区的结束位置自动推算且分割区的结束位置是靠所要求的分割区大小自动计算. 这种格式是完全决定於硬碟的大小.
所有的数字都假设十进制, 除非字首有出现钱字号, 这样才会被设定为十六进制.
分割区的 type DOS 分割区小於 32 Mb 为 4, DOS 分割区在 32Mb 到 500Mb 之间为 6 . 其他的值可以在使用 Linux fdisk help 找到例子.
如果可开机分割区 boot? 这一段应该设定成 Y 而其它分割区设定成 N . 这个旗标是给主要开机纪录 (master boot record) 所使用.
1st-cyl, 1st-head 及 1st-sect 是关系著这个分割区的第一个磁区. 千万别忘记,磁柱及磁头是从 0 开始, 而磁区是从 1 开始.
last-cyl, last-head 及 last-sect 是关系著 这个分割区的最後一个磁区. 分割区通常结束在磁柱的边界.
分割区所占的 大小比例 可以下列的方法表示:
10 Mb 是指分割区至少要有 10 Mb (即 2048 磁区);
- 100 Mb 是指分割区必须预留至少 100 Mb (即 20480 磁区) 可用的空间给下一个分割区;
30 % 是指分割区必须在目前的位置, 占住至少 30 perceny 的空间;
- 70 % 是指分割区应留下至少 70 percent 的空间在目前的位置给下一个分割区.
以大小比例定义分割区时通常会在磁柱的边界结束, 并且除非第一个分磁区的位置是正确的, 才会从磁头的边界处开始. 以我们所知, 这是为了符合标准的使用.
当一个标签附加在一个分割区叙述句之後, 相对应的分割区会被格式化成 DOS FAT16 的分割区,无论原本是哪种格式. 分割区形式 4 跟 6 是相容的, 而且它在清理学生所使用的电脑时相当有用的. 这种快速格式化只要花几十秒.
预设值, bpclean 是编译成支援 LBA (不超过 1024 个磁柱, 但可达 256 个磁头). 某些奇怪的 BIOS 及某些奇怪的作业系统较喜欢另一种 NORMAL 模式 (可达 4096 个磁柱, 但不能超过 64 个磁头); 如果您需要这种模式, 那麽把 LBA 的定义从原始程式里改成注解然後重新编译一遍.
Assembler 语法的原始程式码在 这.
4.4 MRZIP, MRUNZIP and BPUNZIP
MrZip 是一个在 DOS 下执行的程式, 用来建立压缩的 DOS FAT 16分割区. 第一步, 先分析磁碟机的使用状况, 它然後只对有使用到的资料做压缩, 接著用相当快的 (并不是最有效率的) 统计的压缩演算法则来压缩资料. 已经支援 Windows 95 的长档名, 但是副档名为 .SWP 的档案并不会储存. 在各式不同的档案类型中,已经包含许多 magic numbers, 且已跟原始资料做过检查的 处理. 当档案容量的高位序号数字增大时, 这个检查码储存在档案的容量的低位序号数字中 . 如果您在建立压缩影像档前把您硬碟的序号归零, 则您可以使用这个数字来 追踪您影像档的更新次数.
因为 MrZip 会使用直接磁碟存取, 建议您在执行前先把磁碟机快取区的资料回存. Windows 95 似乎是对做一制性的管理直接磁碟存取□
MrUnzip 是一个在 DOS 下执行的程式,用来解压缩磁碟影像档到硬碟机中, 使用直接磁碟存取. 不要跟任何具有快取功能的程式一起使用, 因为光是这个程式就已经快把 DOS 给折磨死了... 不管怎样, 如果您要恢复一个无法开机的机器那麽它会是将很有用的.
BpUnzip 是一个开机影像用来管理压缩硬碟的影像档. 粗略的来说, 它将由硬碟机的影像来开机并用同样的名称, 副档名为 .imz.
首先, 它会先读取分割区表并检查
第一个 DOS 分割区, 磁碟影像档回存的地方
分割区中最後一个磁柱, 以後将储存压缩硬碟影像.
接著它会读取第一个未用到的磁柱的第一个磁区并检查是否已经有一个影像表. 如果不是这样, 或者影像表内容有点矛盾, 或者两个 shift 键都被按下时 (一种特别的 general-cleaning 信号), 这个影像表将会被清除.
如果影像表还没有包含所需的影像, 它会透过 TFTP 通讯协定载入并加在影像表内. 如果在前面所载入的影像之後, 没有足够的空间来存放旧的影像资料时, 则旧的影像档会被砍掉. 如果影像档已经存在影像表中, 最新的开机影像磁区 (包含检查码) 将会透过 TFTP 通讯协定载入并且与目前得影像档做比较. 如果它们不完全一致, 则压缩影像会再重新载入一次.
这个影像接著会被解压缩, 所有的 magic numbers 都再确认, 并检查解压缩後的资料. 如果解压缩失败, 或者检查结果与最新的开机磁区不吻合, 则影像档将会重新载入并修正一次. 否则, 程式会把控制权交给开机磁区, 作业系统就会启动.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
