|
在很多地方看到这样的写法:
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 编辑 ] |
|