无忧启动论坛

标题: GRUB4DOS 的 map 怎么回事? [打印本页]

作者: yynq    时间: 2012-10-19 08:16
标题: GRUB4DOS 的 map 怎么回事?
如下命令,我觉的没错!
map --mem (ud)/burg/od.img (hd) > nul
map (ud)/burg/pe.img (hd) > nul
map --hook
find --set-root /wxpe/peldr
map () (hd0,0)
map (hd0,0) ()
map --rehook
chainloader /wxpe/peldr
但怎么会每个盘会出现4个分区呢。(见下图)
od.img
pe.img
用ImDisk生成,没有分区。

作者: 不点    时间: 2012-10-19 08:54
你的 ud 是寄宿在 hd0 上(即 U 盘上),你又把 hd0 进行了映射,因此,会出现混乱。后续不可以再试图访问 (ud) 设备了。

至于说 hd0 的分区,这可能是你的硬盘分区,也可能是你的 U 盘分区,你自己应该可以弄明白的,比如说,试试用 ls 命令列出其中的文件。

ls (hd0,0)/
ls (hd0,1)/
ls (hd0,2)/
ls (hd0,3)/

你应该贴出 map --status 的结果,这样可以知道目前 map 的状态。

[ 本帖最后由 不点 于 2012-10-19 08:57 编辑 ]
作者: yynq    时间: 2012-10-19 10:03
改用

map --mem (ud)/burg/od.img (hd) > nul
map (ud)/burg/pe.img (hd) > nul
map --hook
find --set-root /wxpe/peldr
chainloader /wxpe/wldr

故意用chainloader /wxpe/wldr

通过find发现
map (ud)/burg/pe.img (hd) > nul
被map为 (HD2)且有4个分区

首先确定pe.img只有1个区
但map出4个
见图  pe.img  中的文件在(HD2,3)中
 
作者: 不点    时间: 2012-10-19 10:46
明白了。你在试图把一个没有分区表的 IMG 文件,映射为硬盘。

那么,你这个虚拟的 hd2 就不含分区表了。

那么,你就应该用 (hd2)/.... 的方式来访问这个硬盘里的文件,而不是用 (hd2,Y)/...... 的方式。

ls (hd2)/   这样就可以了。

明白了吗?你的虚拟硬盘没有分区表,因此,它没有分区。它显示的分区信息是无意义的,因此你不要当真。你只要不用它便可,只要不使用这些虚假的分区信息便可。

而带有 --mem 的情形,grub4dos 会在内存中自动添加分区表,情况就不一样了。
作者: yynq    时间: 2012-10-19 11:06
理解了, 虚假的分区信息导致PE无法启动。 说明MAP应该有问题,不应该有虚假的分区信息。
作者: 不点    时间: 2012-10-19 11:21
是你有问题,不是 map 有问题。

你把没有分区表的映像映射为应该有分区表的硬盘,这是错误的。

你的错误在先。如果你没有这个错误,那么 map 也就没办法犯下一个错误了。
作者: yynq    时间: 2012-10-19 11:51
刚才试过有分区表的硬盘映像map不能成功映射映像!是否与map为映像在内存中自动添加分区表有关?
作者: 不点    时间: 2012-10-19 11:56
从你的疑问中推测,估计是你还没有了解足够多的相关知识吧。你可以试试先读一些教程。
作者: yynq    时间: 2012-10-19 14:16
你看看这图

作者: 不点    时间: 2012-10-19 15:25
你的图也没啥异常的。

fd 是软盘,但是,显示出软盘分区了。这也没啥。很正常。因为 grub4dos 可以处理软盘分区。
作者: yynq    时间: 2012-10-19 15:39
标题: 回复 #10 不点 的帖子
fd 是软盘 不以--mem 的形式加载 一样有虚假的分区信息。 不以--mem  的形式加载 grub4dos 可否也检测 C H S 然后为映像添加分区表?
作者: 不点    时间: 2012-10-19 15:42
虚假就虚假,这只是在 grub4dos 下认出来的。你的操作系统不会认出这些分区信息的。

就是说,你可以 “视而不见”。
作者: yynq    时间: 2012-10-19 15:55
标题: 回复 #12 不点 的帖子
问题是不以--mem  的形式加载,导致一些引导盘找不着北?

为什么
map (ud)/burg/pe.iso (hd32)

PELDR
可以找见路径


map (ud)/burg/pe.img (hd)
map --hook
find --set-root /PELDR
chainloader PELDR
就不行呢?
作者: zhaohj    时间: 2012-10-19 16:58
原帖由 yynq 于 2012-10-19 15:55 发表

map (ud)/burg/pe.img (hd)
map --hook
find --set-root /PELDR
chainloader PELDR
就不行呢?



map (ud)/burg/pe.img (hd)
map --hook
find --set-root /PELDR
map () (hd0)
map (hd0) ()
map --rehook
find --set-root /PELDR
chainloader /PELDR
-----------------------
或者直接映射为(hd0)
map (ud)/burg/pe.img (hd0)
map --hook
rootnoverify (hd0,0)
chainloader /PELDR
但这样进PE后,对原硬盘的分区操作要小心。读写没问题。建议采用第一种方案。
作者: yynq    时间: 2012-10-20 08:21
标题: 回复 #14 zhaohj 的帖子
O(∩_∩)O谢谢回复

在(ud)中的pe.img 由于u盘被识别为(hd0)

map (ud)/burg/pe.img (hd0)
后续不可以再试图访问 (ud) 设备了
除非加 --MEM 但我又不愿意 --MEM
所以你的方法不行!
作者: xianglang    时间: 2012-10-20 13:48
那就换一个思路:先交换UD设备号,再MAP镜像。
作者: yynq    时间: 2012-10-20 18:56
说的好!!!                                                        有帮助!!                                谢谢!!!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3