|  | 
 
| 在很多地方看到这样的写法: 
 title [1] 搜索并启动硬盘上的 NT6 系统\n(Windows 8/7/Vista/2012/2008)
 find --set-root --devices=h /bootmgr
 map () (hd0)
 map (hd0) ()
 map --rehook
 find --set-root --devices=h /bootmgr
 chainloader /bootmgr
 
 
 红颜色部分的3行不是很理解。
 
 1.
 第一个地方的第一行,
 map () (hd0)
 是将找到 /bootmgr 文件的分区映射成了整个硬盘 hd0,为什么要这样做?为什么不在 find --set-root 之后直接 chainloader /bootmgr?我在命令行下试过了是可以的,bootmgr放在深一点的目录里面也没有问题,比如放到 /boot/bootmgr,然后在 find --set-root 之后直接 chainloader /boot/bootmgr 也是可以启动系统的。那么为什么还需要下面一直到 chainloader 中间的命令?它们有什么作用?
 
 2.
 第一个地方的第二行,
 map (hd0) ()
 前面一行已经将当前 root 映射成了 hd0,这时候 () 和 (hd0) 应该是一样的,为什么还要加这一句?有什么作用?
 
 3.
 第二个地方,第二次 find --set-root,这个也不明白,前面第一次 find --set-root 已经把 root 设置到目标分区了,为什么还要设置一次?难道中间的 3 个 map 调用会更改当前 root?
 
 [ 本帖最后由 2010qaqz111 于 2013-3-21 19:38 编辑 ]
 | 
 |