|
交换磁盘盘号,是 grub4dos 在 BIOS 下的一个 “奇技淫巧”。其实,这是最基本的操作了,就连原始的 gnu grub legacy 都具有 “交换盘号”的功能。因此,这属于“必须掌握”的知识,而且要熟练。
真正的“奇技淫巧”,是 (fd0,0)、(fd0,1) 等“软盘分区”的概念,以及 (hd0)/path/to/file 的用法。
前者是软盘 00 带有分区表的情况,此时 grub4dos 就可以访问软盘各个分区下的文件。比如 (fd0,0)/path/to/file。
后者是硬盘不含分区表的情况,就像软盘那样。正是由于 hd0 不含 MBR 扇区(分区表),因此就不能使用 (hd0,0)、(hd0,1) 之类的设备表达法。
wuwuzz 描述的情况,可能是这样的:BIOS 把软盘的第一扇区(扇区号 0)定位在 U 盘第一分区的第一扇区,MBR 磁道不可见。因此,ud 和 Ventoy 就“不存在”了。直接把 00 仿真为硬盘 80h 没有用,因为 MBR 磁道是“不存在”的(总不可能是负的扇区号吧?比如扇区号为 (-63)?)。
运行 usb --init 之后,新的虚拟软盘 00 的首扇区(扇区号 0)是从 U 盘的 MBR 开始的,也就是说,此时 MBR 磁道是可见的、存在的,而不是被屏蔽掉的;那么此时软盘 00 就含有分区表了。既然这样,就可以用 (fd0,0)、(fd0,1) 等来访问软盘上的分区“卷”了。 当然,如果用 map 把 fd0 映射为 hd0,在 map --hook 以后,就可以用 (hd0,0)、(hd0,1) 等等来访问虚拟硬盘上的分区“卷”了。
|
|