|
[求助]关于制作u盘版xpe的相关问题!请高手解答!
[这个贴子最后由khauyeung在 2006/01/24 06:56am 第 4 次编辑]
下面引用由king8462在 2006/01/23 11:20am 发表的内容:
这个方法早就试了,不行!
我先把u盘用usboot做成hdd模式的可启动盘,然后利用mkbt生成一个bootdos.bin,但提示还是那个bootsect.dos加载错误! 我没有使用过usboot, 不过我想原理是大同小异的:
我的U盘 XPE 是建筑在一只 250MB 的 JumpDrive上的. 用 HP 的 USB Disk Storage format Tool 快速格式化之后, U盘会产生一个启动时指向 NTLDR 的 MBR (U盘的首512Byte). 用 MKBT.EXE 把U盘上的 MBR 提取出来,另存为 BOOTSECT.NTL 备用.
这里我们要分清楚几个概念: MBR 是U盘的首512Byte, BOOTSECT.NTL 只是U盘上的一个文件, 指向 NTLDR. U盘启动时总是指向 MBR, 然后由 MBR 指出往那里跑.
本来, BOOTSECT.NTL 这文件对于只要单一启动到XPE的U盘来说是没有用处的, 因为原来产生的 MBR 已经包含了下一步要加载 NTLDR 的讯息了. 不过, 下面我会讨论到如何改变 MBR, 使其先指向 GRLDR, 以便利用 GRUB 多重启动的能力. 在那里, BOOTSECT.NTL 便将成为引导至 NTLDR 然后至 XPE 的路标了.
假如你希望硬盘式启动XPE, 把 XPE 的几个文件夾 (I386, Programs, Documents and Settings) 放到U盘上, 把 I386 改名為 MININT 即可. 如果你使用的是 RamPE, 放到U盘上的就应该是 ntldr(其实是从setupldr.bin转换过来的), ntdetect.com, winnt.sif 和 SDI/ISO 文件. 这些基本的知识不再在这里重复. 也许你会发觉我由始至终都没有提到 BOOT.INI. 不错, BOOT.INI这只启动控制文件是需要配合"真正的" NTLDR使用的, 我们这里用于无分区U盘的 ntldr, 其真正身分应该说是 setupldr.bin, 它是不能配合 BOOT.INI 使用的.
没有了 BOOT.INI, 如果仍然希望U盘能够多重启动, 我们可以利用 GRUB来实现: 先用 WINHEX 或者类似工具(如 debug, tiny-hexer), 把 MBR (U盘的首512Byte)里面的字眼 NTLDR 改為 GRLDR, 然后把 GRUB Loader (GRLDR) 和有关系 GRUB 的控制文件 (menu.lst等等) 加入U盘即可. 启动过程大概是这样的: U盘HDD启动 -> 读取 MBR (U盘的首512Byte) -> MBR内指示要加载 GRLDR 和有关系的文件 -> 读取 menu.lst 作为控制文件 -> menu.lst 1. 指向 BOOTSECT.NTL 然后加载 ntldr, ntdetect.com, winnt.sif, SDI/ISO 等文件用以运行 XPE, 或者 2. 指向U盘上的DOS镜像文件IMG 用以运行 DOS.
我的U盘不单能够启动 RamPE, 还可以使用 GRUB 载入U盘上的多个镜像文件: 超级启动多系统维护盘(SBMSR), CIA Commander 1.0系统工具, SPFDisk 硬盘分割, 深山红叶 DOS 工具箱, Norton PartitionMagic 8.05 和 Acronis True Image Enterprise Server 8.0 等等. 一只小小的 KeyDrive, 可以跑 Windows PE 和 DOS系统维护工具, 十分方便. |
|