find --set-root (cd)/BOOT/SETUPLDR.BIN
这本来就是一个错误的用法。老版本不报错,但新版本报错。
在 find 命令中,新版本不允许出现 设备名 部分,也就是说,需要把 (cd) 去掉。
你这个菜单中的 find 命令其实一点用都没有,因为你的后续语句 chainloader 中没有省略设备名,所以 find 命令是多余的,应该这样才对:
title 启动WINPE 例子1
chainloader (cd)/BOOT/SETUPLDR.BIN
savedefault --wait=2
或者如果你需要 find 所带来的灵活性,那么应该这样:
title 启动WINPE 例子2
find --set-root /BOOT/SETUPLDR.BIN
chainloader /BOOT/SETUPLDR.BIN
savedefault --wait=2
在这里,find 所确定的 root 设备就是它找到的第一个含有 /BOOT/SETUPLDR.BIN 文件的设备,因此不一定是 (cd) 设备。
如果你希望 chainloader 引导的是 (cd) 上的文件,那么应该使用前者(例子1),而不是后者(例子2)。
find --set-root (cd)/BOOT/SETUPLDR.BIN
This is originally a wrong usage. The old version doesn't report an error, but the new version does.
In the find command, the new version doesn't allow the device name part to appear, that is, you need to remove (cd).
The find command in your menu is actually useless at all, because there is no omitted device name in your subsequent chainloader statement, so the find command is redundant. It should be like this:
title Boot WINPE Example 1
chainloader (cd)/BOOT/SETUPLDR.BIN
savedefault --wait=2
Or if you need the flexibility brought by find, then it should be like this:
title Boot WINPE Example 2
find --set-root /BOOT/SETUPLDR.BIN
chainloader /BOOT/SETUPLDR.BIN
savedefault --wait=2
Here, the root device determined by find is the first device that contains the /BOOT/SETUPLDR.BIN file it finds, so it is not necessarily the (cd) device.
If you want chainloader to boot the file on (cd), then the former (Example 1) should be used, not the latter (Example 2).