[ 本帖最后由 xieliuyun 于 2007-4-7 12:55 AM 编辑 ]作者: sxgpic 时间: 2007-4-7 10:37
我是按在二楼的计划制作安装好PE的可启动的硬盘镜像,用GRUB把它map成hd0来启动。试过之后却总是碰到 File for drive emulation must be in one contiguous disk area 的问题。无论我的pehd.img是通过winimage一次性加入进去的,还是直接一次性安装到硬盘然后硬克隆出来的。按理说这样做出来的镜像里面的文件都是连续存放的。真是郁闷透顶。
grub能map成功的硬盘镜像究竟要怎样做才符合它的苛刻要求?作者: sxgpic 时间: 2007-4-7 11:57
终于明白了。
GRUB for DOS 的磁盘仿真,在没有 --mem 参数的情况下,要求被仿真的文件必须在物理扇区上是连续存放的。也就是说,出现File for drive emulation must be in one contiguous disk area问题根我的pehd.img文件本身没关,跟pehd.img文件在物理磁盘上的存放是否连续有关。pehd.img在物理磁盘上必须要求连续储存,中间不能有断块(碎片)。而Linux的 ext2 和 ext3 格式存储文件的方式很特殊,它们不是以连续方式存放文件的。在 ext2 分区中不可能建立超过 1M 大小的连续文件。所以不加--mem参数想在 ext2 格式的分区中用grub仿真我的170M硬盘镜像是不可能的。