发信人: Wwashington()
整理人: jiaxu2000(2004-03-30 09:36:52), 站内信件
|
发信人: Wwashington (Jacky), 信区: WinNT 标 题: OS Loader 的应用心得(维护篇) 发信站: BBS 水木清华站 (Tue Oct 13 08:50:32 1998)
版权声明: =====> 为促进技术交流, 也为了杜绝抄袭, 特声明如下, 本文 属非赢利技术交流, 任何人可以在不修改原文以及保留 清华的文件头(包括原作的出处--水木清华,作者信息及 发文时间)的情况下自由转载. 作者 Wwashington @ 水木清华站. 一些 Ntldr (中文版 NT4) 的参数开关含义 [01]. /Win95 , 可以自动 Rename, 如果检查到有 Winboot.sys, 就 就会自动把它们 Rename 回到Win 下的名字, 所做的修改等价于 REN IO.SYS IO.DOS REN WINBOOT.SYS IO.SYS REN MSDOS.SYS MSDOS.DOS REN MSDOS.W40 MSDOS.SYS REN COMMAND.COM COMMAND.DOS REN COMMAND.W40 COMMAND.COM 如果满足启动条件, BOOT 成功. 启动 Win98 当然是用后缀名为 w98 的 Bootsect 文件啦. [02]. /WIN95DOS , 可以自动 RENAME, 如果检查到 IO.DOS + MSDOS.DOS 就会自动把它们 RENAME 回到DOS 下的名字, 所做的修改等价于 REN IO.SYS WINBOOT.SYS REN IO.DOS IO.SYS REN MSDOS.SYS MSDOS.W40 REN MSDOS.DOS MSDOS.SYS REN COMMAND.COM COMMAND.W40 REN COMMAND.DOS COMMAND.COM 然后控制权交给 Bootsect, 如果满足启动条件, Boot 成功, 启动 Dos62 当然是用后缀名为 msd 的 Bootsect 文件啦.
[03]. 以上参数都是 Ntldr 运行时的开关, 据说对 NT3.51 及以上有效, 偶只试过 NT4 和 NT5 Beta2 的, 很好用呀 ... 出现启动失败的情况, 如何修复 ? [01]. 如果Jo.sys 变成乐 Winboot.sys, 则 Win98 的 启动失败.此时的 Win98 启动文件是 Winboot.sys, 1. 在 OS Loader 选 Win98 (/Win95 参数) 再 按 F8 启动到 Dos71 或 Dos62,列目录一看 系统文件全部恢复正常.这是 Ntldr 加载乐 /Win95 这个开关的结果. 2. 从软盘启动, 然后手工将其恢复. 3. 修改 Ntldr. 用 Ultra Edit32 去打开 Ntldr, 以文本方式搜索 winboot , 改为 jo .sys 注意 jo 的位置在 (wi) 的位置上, 其他的则到 Text Mode 里面用空格填满, 才可以正确读写. Hex Mode 里用 20 填满, (nboot) 是 5 个 20. 酱紫就可以啦, 没甚摸大不了的 ... 这个方法最彻底, 从根本上解决乐问题, 呵呵. 因为原来的 Ntldr 的设计是针对英文版的 98 的, 所以对英文 Win98 本来就用 Winboot.sys 这个状况非常的吻合, 基本不用做任何改动. 这个改动对 Win98 下意义不是太大, 也就是可以 省略 Win98 (/Win95) 里面的那个参数 /Win95, 但是对于 Win97 却是有着深远的意义, 具体的 情况大家去看青蛙大学的 Win9x 版关于 Win95 的 OEM Release 2 的引导方面的文章, 由于时间 和精力关系, 偶就不一一列举了.
泥可以这样去做个测试: Boot to Dos62 (/Win95DOS) , Reboot Boot to Win98 系统没有反应, 一片黑屏, Boot By Floppy dir c: /a /p 可以看见本来 DOS62 下的 JO.sys 成乐 Winboot.sys, 其他文件名则仍按 DOS62 下的分配, 由于没有 JO.sys, Bootsect.w98 无法自动对它们 Rename 然后 Boot. 只要泥想办法让系统先出现 JO.SYS + IO.SYS 或者 IO.SYS + IO.DOS , Win98 的引导程序一定会成功的. 这也就是曾困惑不少人, 但是又非常浅显的道理. 只要 花上个把钟头做个测试, 就可以发现世上真理何其多也! [02]. 如果 DOS 启动文件 IO.DOS, MSDOS.DOS 不是位于 根目录的第一和第二项, 那么泥可以用启动菜单里 的 Win98 (/Win95) 进去, 然后运行 Lsort.bat 不论在 Win98, Dos71 还是 Dos62, 我们都要确保 这两个文件的根目录位置排列, IO.DOS 是第一个, 而 MSDOS.DOS 是第二个, 否则 Boot 必定失败. 泥可以这样去做个测试: Boot to Dos71 c: cd c:\ attrib -h -r -s *.* lfnsort n c:\ Reboot 现在 C: 盘根目录的文件分布已经不合规格, 是绝 对不能启动 DOS 的, 所以不管选 DOS 62 DOS 62 (/Win95DOS) 这两个中任一个都会报错的, Non System Disk. [03]. 如果 DOS 启动文件 IO.DOS, MSDOS.DOS 确实位于 根目录的第一和第二项, 却仍无法启动, 那是因为 当前的 Bootsect 是 DOS 且没有用 /Win95DOS 开 关, 一个正常的 Bootsect.msd 是读位于根目录的 前两位的 IO.SYS 和 MSDOS.SYS 的 , 如果泥上次 启动系统到 Dos71 或 Win98 的 GUI, 那么它在根 目录必定是留下 IO.DOS, MSDOS.DOS, 这两个文件 直接交给 Bootsect.msd 是无法处理的, 所以要在 OS Loader 的开关加上 /Win95DOS, 好让系统自动 恢复到 DOS 下启动应该有的名字 , 在交给下一个 处理步骤-->Bootsect.msd, 从而正确的引导 DOS. 泥可以这样去做个测试: Boot to Dos71 or Win98, Reboot Boot to Dos62 系统提示 Non System Disk Boot By Floppy dir c: /a /p 现在 C: 盘根目录的文件分布已经符合规格, 所以 如果选 DOS 62 这个项目会报错的, Non System Disk. 只有选 DOS 62 (/Win95DOS) Win 98 (/Win95) 才会成功, 但从 DOS 62 (/Win95DOS) 会产生 Winboot.sys, 下次不可以直接进 Win98, 而是 进到 Win98 (/Win95) 才正确.修补方法见本节 关于故障修复的第一种情况.
-- ※ 来源:.广州网易 BBS bbs.nease.net.[FROM: sst.guangzhou.g]
|
|