无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 14029|回复: 43
打印 上一主题 下一主题

[求助] ipxe转grub4dos启动后map失败,谁来看看?

[复制链接]
跳转到指定楼层
1#
发表于 2020-3-23 00:13:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
看图:



没有map成功,什么原因???
2#
发表于 2020-3-23 08:28:25 | 只看该作者
map --mem /images/openwrt.img (hd30)之后,需要map --hook
然后ls dev才能看到(hd30)吧。

点评

[attachimg]414177[/attachimg] 实测map --hook之后用ls和find也是查不到的,但用geometry可以 另外我发现网启的情况下(pd)里的文件不能用dd命令直接调用,正因为这样我才先把映像map到虚拟磁盘,然后再dd到目标磁  详情 回复 发表于 2020-3-23 10:40
回复

使用道具 举报

3#
发表于 2020-3-23 10:08:48 | 只看该作者
map命令在boot之后才会生效,需要map --hook
回复

使用道具 举报

4#
 楼主| 发表于 2020-3-23 10:40:12 | 只看该作者
liuzhaoyzz 发表于 2020-3-23 08:28
map --mem /images/openwrt.img (hd30)之后,需要map --hook
然后ls dev才能看到(hd30)吧。


实测map --hook之后用ls和find也是查不到的,但用geometry可以

另外我发现网启的情况下(pd)里的文件不能用dd命令直接调用,正因为这样我才先把映像map到虚拟磁盘,然后再dd到目标磁盘


回复

使用道具 举报

5#
发表于 2020-3-23 10:49:46 | 只看该作者
不点大说过,
find 不搜索 pd 设备(除非 pd 是当前设备)。

你的hd30是从(pd)映射过去的,是不是与这个有关?

点评

[attachimg]414183[/attachimg] 如果map到(hd),也就是最后一个硬盘之后的硬盘,用ls和find是都能找到的  详情 回复 发表于 2020-3-23 11:00
回复

使用道具 举报

6#
 楼主| 发表于 2020-3-23 11:00:42 | 只看该作者
liuzhaoyzz 发表于 2020-3-23 10:49
不点大说过,
你的hd30是从(pd)映射过去的,是不是与这个有关?


如果map到(hd),也就是最后一个硬盘之后的硬盘,用ls和find是都能找到的
回复

使用道具 举报

7#
发表于 2020-3-23 11:03:58 | 只看该作者
        (hd30)是不是被认为是光盘什么的啊?为啥你map --mem (hd)就可以找到?好奇怪。是不是ls和find的逻辑是查找到最后一个找到的硬盘号之后,如果下一个没有,就不再查找了,所以(hd30)找不到?

点评

[attachimg]414198[/attachimg] 不排除这个可能,我试了map到(hd5)也是这样的情况  详情 回复 发表于 2020-3-23 14:35
回复

使用道具 举报

8#
 楼主| 发表于 2020-3-23 14:35:26 | 只看该作者
liuzhaoyzz 发表于 2020-3-23 11:03
(hd30)是不是被认为是光盘什么的啊?为啥你map --mem (hd)就可以找到?好奇怪。是不是ls和find的逻 ...


不排除这个可能,我试了map到(hd5)也是这样的情况
回复

使用道具 举报

9#
 楼主| 发表于 2020-3-23 14:39:55 | 只看该作者

尝试map成光盘,也搜索不到,可能程序设计的逻辑就是这样的

在测试中我还发现,用map xx.img (hd0)命令可以直接把映像写到硬盘里去,是我测试多了糊涂了,还是程序设计map本身就有这个功能呢?
回复

使用道具 举报

10#
发表于 2020-3-24 13:06:33 | 只看该作者
hd 和 fd 需要连续的才会被find查找到

map xxx.img (hd0) 只是把 xxx.img虚拟为(hd0)

并不是写到入(hd0),

map hook之后后续对(hd0)的操作实际就是对xxx.img的操作。


点评

1.应该是驱动器号必需连续才行吧 2.假如(hd0)是物理驱动器呢,map何解?  详情 回复 发表于 2020-3-24 13:38
回复

使用道具 举报

11#
 楼主| 发表于 2020-3-24 13:38:46 | 只看该作者
chenall 发表于 2020-3-24 13:06
hd 和 fd 需要连续的才会被find查找到

map xxx.img (hd0) 只是把 xxx.img虚拟为(hd0)

1.应该是驱动器号必需连续才行吧
2.假如(hd0)是物理驱动器呢,map何解?
回复

使用道具 举报

12#
发表于 2020-3-24 13:45:34 | 只看该作者
1是的。

2.不管(hd0)是否存在,只要你使用了 map xxx.img (hd0)
hook生效后对(hd0)的操作都是操作xxx.img。
PS: 现在学习grub4dos是不是有点晚了。。^_^

点评

pxe启动grldr时能用configfile命令指定使用内置菜单么,启动时还搜索menu.lst感觉没这必要...  详情 回复 发表于 2020-3-24 19:59
刚试了,的确是这样,map并不会改变硬盘驱动器的内容... 我只想使用其中几个小功能而已,另外我发现dd if=(pd)/xxxx.img of=(hd1)这样会出现错误,是不能这样用么?[attachimg]414317[/attachimg] 我现在是先把映像  详情 回复 发表于 2020-3-24 15:26
回复

使用道具 举报

13#
 楼主| 发表于 2020-3-24 15:26:11 | 只看该作者
chenall 发表于 2020-3-24 13:45
1是的。

2.不管(hd0)是否存在,只要你使用了 map xxx.img (hd0)

刚试了,的确是这样,map并不会改变硬盘驱动器的内容...

我只想使用其中几个小功能而已,另外我发现dd if=(pd)/xxxx.img of=(hd1)这样会出现错误,是不能这样用么?

我现在是先把映像map到(hd30),然后把(hd30)全盘DD到(hd1),好像没发现什么问题...

点评

我想,你的 (hd1) 的内容已经被覆盖掉了。不过,它只覆盖掉了开头的 0x2B0000 个字节。 你用 dd 来复制 pd 的内容,我不知道 dd 是否支持 pd。它有可能支持,也有可能不支持。在支持的情况下,它有可能会出现 bug  详情 回复 发表于 2020-3-24 16:39
回复

使用道具 举报

14#
发表于 2020-3-24 16:11:07 | 只看该作者
邪恶海盗兄,grub4dos 都要消失了,现在才开始学 grub4dos,有点马后炮的味道。

不过,要学的话,也可以。但是,安全总得是 “第一” 吧?

你用 dd 是不是太 “胆大” 了点?你不怕毁了你的 (hd1) 全盘贵重数据?

我想,无论哪个教程,都会在醒目位置告诉你 dd 的危险性。

哪能随便就用 dd 来在真实机器上胡乱测试呢?


点评

我对于grub4dos也就知道几条常用的命令而已,对于很多命令的参数细节记不住,我最佩服的是pseudo,他对于grub4dos玩的真是好,好不夸张地说,甚至可能超过grub4dos开发者们,他写的代码我看起来简直就是天书  详情 回复 发表于 2020-3-24 17:40
我只是用其中几个命令而已,DD危险不怕,我用虚拟机测试,保证万无一失才上物理机...  详情 回复 发表于 2020-3-24 17:06
回复

使用道具 举报

15#
发表于 2020-3-24 16:39:03 | 只看该作者
邪恶海盗 发表于 2020-3-24 15:26
刚试了,的确是这样,map并不会改变硬盘驱动器的内容...

我只想使用其中几个小功能而已,另外我发现dd if ...

我想,你的 (hd1) 的内容已经被覆盖掉了。不过,它只覆盖掉了开头的 0x2B0000 个字节。

你用 dd 来复制 pd 的内容,我不知道 dd 是否支持 pd。它有可能支持,也有可能不支持。在支持的情况下,它有可能会出现 bug。我的意思是,这种情况,不一定有很多人去测试。

pd 不是一个 “扇区” 式的设备。它是 “字节” 式的。所以,有些命令,对 pd 就可能无效了,或者是不能适应了。

可以把 pd 上的文件先复制到内存里面,再从内存复制到本地硬盘。比如,用 map 之类的命令。

pd 不是扇区设备。程序不能随机地去访问 pd 上某个文件的字节。比如,你要想获取一个 pd 文件上的最后一个字节,你不得不把整个文件从头到尾完整读出来,才能得到最后一个字节。pd 与通常的扇区设备差别很大。

dd 命令可能就是针对“扇区”设备而设计的,可能无法用于 pd。

点评

所以我先MAP到虚拟盘,然后再用... GRUB2我看了,模块化的设计很好,但不如grub4dos一个grldr来得清爽...  详情 回复 发表于 2020-3-24 17:07
回复

使用道具 举报

16#
 楼主| 发表于 2020-3-24 17:06:08 | 只看该作者
不点 发表于 2020-3-24 16:11
邪恶海盗兄,grub4dos 都要消失了,现在才开始学 grub4dos,有点马后炮的味道。

不过,要学的话,也可以 ...

我只是用其中几个命令而已,DD危险不怕,我用虚拟机测试,保证万无一失才上物理机...
回复

使用道具 举报

17#
 楼主| 发表于 2020-3-24 17:07:46 | 只看该作者
不点 发表于 2020-3-24 16:39
我想,你的 (hd1) 的内容已经被覆盖掉了。不过,它只覆盖掉了开头的 0x2B0000 个字节。

你用 dd 来复 ...

所以我先MAP到虚拟盘,然后再用...

GRUB2我看了,模块化的设计很好,但不如grub4dos一个grldr来得清爽...
回复

使用道具 举报

18#
发表于 2020-3-24 17:40:56 来自手机 | 只看该作者
不点 发表于 2020-3-24 16:11
邪恶海盗兄,grub4dos 都要消失了,现在才开始学 grub4dos,有点马后炮的味道。

不过,要学的话,也可以 ...

       我对于grub4dos也就知道几条常用的命令而已,对于很多命令的参数细节记不住,我最佩服的是pseudo,他对于grub4dos玩的真是好,好不夸张地说,甚至可能超过grub4dos开发者们,他写的代码我看起来简直就是天书!

点评

我看过,抄都不会抄...  详情 回复 发表于 2020-3-24 18:02
回复

使用道具 举报

19#
 楼主| 发表于 2020-3-24 18:02:08 | 只看该作者
liuzhaoyzz 发表于 2020-3-24 17:40
我对于grub4dos也就知道几条常用的命令而已,对于很多命令的参数细节记不住,我最佩服的是pseudo ...

我看过,抄都不会抄...
回复

使用道具 举报

20#
 楼主| 发表于 2020-3-24 19:59:15 | 只看该作者
chenall 发表于 2020-3-24 13:45
1是的。

2.不管(hd0)是否存在,只要你使用了 map xxx.img (hd0)

pxe启动grldr时能用configfile命令指定使用内置菜单么,启动时还搜索menu.lst感觉没这必要...

点评

pxe启动grldr,启动搜索menu.lst很有必要啊!menu.lst外置,可以很方便地编辑菜单,菜单内置到grldr不方便。  详情 回复 发表于 2020-3-25 07:49
回复

使用道具 举报

21#
发表于 2020-3-25 07:49:54 | 只看该作者
邪恶海盗 发表于 2020-3-24 19:59
pxe启动grldr时能用configfile命令指定使用内置菜单么,启动时还搜索menu.lst感觉没这必要...

pxe启动grldr,启动搜索menu.lst很有必要啊!menu.lst外置,可以很方便地编辑菜单,菜单内置到grldr不方便。

点评

我已经内置了,不想弄外置...  详情 回复 发表于 2020-3-25 19:11
回复

使用道具 举报

22#
 楼主| 发表于 2020-3-25 19:11:58 | 只看该作者
liuzhaoyzz 发表于 2020-3-25 07:49
pxe启动grldr,启动搜索menu.lst很有必要啊!menu.lst外置,可以很方便地编辑菜单,菜单内置到grldr不方 ...

我已经内置了,不想弄外置...
回复

使用道具 举报

23#
发表于 2020-3-26 19:50:15 | 只看该作者
网络dd安装openwrt? ,如果是我,一般把openwrt.img再塞进另一个img (fd)里,然后map成fd,再用dd

点评

硬盘映像能map成(fd)么?  详情 回复 发表于 2020-3-26 20:02
回复

使用道具 举报

24#
 楼主| 发表于 2020-3-26 20:02:54 | 只看该作者
江南一根葱 发表于 2020-3-26 19:50
网络dd安装openwrt? ,如果是我,一般把openwrt.img再塞进另一个img (fd)里,然后map成fd,再用dd

硬盘映像能map成(fd)么?
回复

使用道具 举报

25#
发表于 2020-3-26 20:54:57 来自手机 | 只看该作者
好像不用那么麻烦,直接map 到rd 再dd if=(rd)+1 of=(hd0)

点评

map到(rd)跟(hd30)有什么区别么? 那个configfile参数能不能指定使用内置菜单?  详情 回复 发表于 2020-3-26 21:04
回复

使用道具 举报

26#
 楼主| 发表于 2020-3-26 21:04:37 | 只看该作者
chenall 发表于 2020-3-26 20:54
好像不用那么麻烦,直接map 到rd 再dd if=(rd)+1 of=(hd0)

map到(rd)跟(hd30)有什么区别么?

那个configfile参数能不能指定使用内置菜单?

点评

configfile 用法: configfile FILE 描述: 将指定文件作为配置文件予以加载。 configfile 命令执行后,boot device 和 root device 将同时更新为 FILE 文件所在的设备。 如果在预置菜单(内置菜单)的初始化  详情 回复 发表于 2020-3-27 09:13
回复

使用道具 举报

27#
发表于 2020-3-26 21:38:25 来自手机 | 只看该作者
rd是临时内存盘,不占用虚拟磁盘号

点评

然后我又想到一个问题,map到(hd30)有个弊端,假如不是硬盘硬像,是不是会map失败???  详情 回复 发表于 2020-3-27 15:07
那没事,反正正常情况下也没人上30个物理硬盘...  详情 回复 发表于 2020-3-26 22:44
回复

使用道具 举报

28#
发表于 2020-3-26 21:38:59 来自手机 | 只看该作者
已经内置菜单乐,还要configfile指定内置菜单?

点评

启动时有个搜索menu.lst的过程,不能去掉???  详情 回复 发表于 2020-3-26 22:44
回复

使用道具 举报

29#
 楼主| 发表于 2020-3-26 22:44:00 | 只看该作者
chenall 发表于 2020-3-26 21:38
rd是临时内存盘,不占用虚拟磁盘号

那没事,反正正常情况下也没人上30个物理硬盘...
回复

使用道具 举报

30#
 楼主| 发表于 2020-3-26 22:44:27 | 只看该作者
chenall 发表于 2020-3-26 21:38
已经内置菜单乐,还要configfile指定内置菜单?

启动时有个搜索menu.lst的过程,不能去掉???

点评

当然能去掉,不用内置菜单也可以吧,G4D的内置菜单只是G4D先执行它而已  详情 回复 发表于 2020-3-27 08:29
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 19:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表