|
只加载 U 盘上的 bootmgr——嗯——这个好像不难。如果要加载硬盘上的 bootmgr,那就有点费事了(主要是得确定硬盘的盘号)。
当 BIOS 从 U 盘启动时,U 盘通常是 (hd0)。既然 bootmgr 在 U 盘上,那就可以直接这样做:
find --set-root /bootmgr
chainloader /bootmgr
这个方法有个问题,就是,当 U 盘被 BIOS 认成软盘 (fd0) 时,将优先找到硬盘上的 bootmgr。
所以,应该找一个更合适的方法。
分析你的具体情况。你是按照固定方式来对 U 盘进行分区、格式化的。因此,U 盘上的各个分区,其分区号是固定不变的。比如说,EFI 分区总是分区号 4,即,逻辑分区的第一分区。这只是举例,你实际的 EFI 分区号也许是 5,6,等,甚至也有可能是主分区,0,1,2,3,取决于你是如何分区、格式化的。只要你 U 盘分区结构确定了,你的 EFI 分区的分区号也就确定了。你可以把它的分区号猜出来。这里假定它就是分区号 5 吧。
root (,5)
chainloader /bootmgr
就是说,不用 find 了,直接把当前盘的分区号 5 作为 root。
好的,我说的是个思路,具体行不行,还得试验一下。
尤其是,当你用 UD 结构时,当前 root 可能是 (ud),这会带来麻烦。【补充】应该不会有麻烦,Changelog_chenall.txt 中有如下说明:
2010-12-15
1.还原2010-12-10对0000:82A4的改变.
2.为了方便使用当使用fbinst启动时有如下调整
boot_drive (bd) 为FB_DRIVE(ud)
默认root(saved_drive) 为可见分区.
也就是说,针对 ud 启动的情况,从 2010年12月15日开始,当前默认 root 已经调整为可见分区,而不是 ud 分区。
所以,以上所说的方法应该没问题。 |
评分
-
查看全部评分
|