|
是你理解不到位引起的吧?当然,那也可能是 grub4dos 的文档含糊不清引起的。
对于无 MBR(即,无分区表) 的分区映像,它本身是一个文件系统(即,volume 卷)。当使用 --mem 把它 map 成一个硬盘时,由于传统的硬盘都是含有分区表的,所以,grub4dos 会自动在其前面添加一个磁道,同时也填写适当的分区表以及 MBR 的代码。此时,这个虚拟的文件系统(卷)将成为 (hdX,0),就是说,它将成为虚拟硬盘的第一个分区。
当不带 --mem 时,不会为其添加含有分区表的 MBR 磁道(因为实现起来很费事;但严格来说,也有可能实现它)。所以,不带 --mem 时,最好把它 map 为软盘,而不要 map 为硬盘。如果你非要把它 map 为硬盘,那么,你要明白,你这个虚拟硬盘就没有分区表了,它完全就是一个 volume,从虚拟硬盘的第一扇区开始,它就是一个文件系统。因此,像你图片中的情况,你用 ls (hd2)/ 应该可以列出这个文件系统中的文件。而
ls (hd2,0)/
ls (hd2,1)/
ls (hd2,2)/
ls (hd2,3)/
等等,都属于错误用法。至于说 ls (hd2,3)/ 能够成功列出文件,那也许是你这个映像的特别设计(映像的第一扇区同时包含有效的分区表和 BPB 表,这样的双重结构),也许是一种巧合。 |
|