无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2590|回复: 4
打印 上一主题 下一主题

[求助] 为什么这条命令要重复两遍?

[复制链接]
跳转到指定楼层
1#
发表于 2014-4-7 10:19:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
map (hd0) (hd1)
map (hd1) (hd0)

作用是交换硬盘,但是只写一遍不行么,非要再写一次?
2#
发表于 2014-4-7 10:54:42 | 只看该作者
两条命令作用不同  第一条是准备将现在的hd0映射为hd1  第二条是准备将现在的hd1映射为hd0  这两条命令会在执行map --hook后生效

点评

多谢版主 这样理解 hdo->hd1 然后 hd1->hd0 ... 那岂不是 hd0还是回到hd0了?  详情 回复 发表于 2014-4-15 10:03
多谢版主,我得好好去理解理解'map'  详情 回复 发表于 2014-4-7 11:04
回复

使用道具 举报

3#
 楼主| 发表于 2014-4-7 11:04:36 | 只看该作者
sratlf 发表于 2014-4-7 10:54
两条命令作用不同  第一条是准备将现在的hd0映射为hd1  第二条是准备将现在的hd1映射为hd0  这两条命令会在 ...

多谢版主,我得好好去理解理解'map'
回复

使用道具 举报

4#
发表于 2014-4-15 10:03:10 | 只看该作者
sratlf 发表于 2014-4-7 10:54
两条命令作用不同  第一条是准备将现在的hd0映射为hd1  第二条是准备将现在的hd1映射为hd0  这两条命令会在 ...

多谢版主  这样理解 hdo->hd1   然后 hd1->hd0 ... 那岂不是 hd0还是回到hd0了?
回复

使用道具 举报

5#
发表于 2014-4-15 13:46:40 | 只看该作者
map (hd0) (hd1)
map (hd1) (hd0)

关于虚拟盘的理解。

在未虚拟之前,假定 BIOS 里面存在两个盘:(hd0) 和 (hd1)

现在执行 map (hd0) (hd1),意思是准备创建虚拟盘 (hd1),它将要把机器固有的 (hd0) 当成虚拟盘 (hd1)。注意,由于还没有执行 map --hook,所以,这个虚拟盘并未真正建立。一旦执行 map --hook,那么,虚拟盘 (hd1) 就建立起来了,它的扇区内容与机器固有的 (hd0) 相同,或者说,它的扇区数据来源于 (hd0)。虚拟盘的盘号是 (hd1),当 map --hook 执行之后,你只要访问 (hd1) 的扇区,那就会访问 (hd0) 的扇区。所谓仿真,那就是欺骗,弄假成真。它把 (hd0) 装扮成 (hd1)。此时,你机器上原来固有的那个 (hd1) 已经无法访问了。

要想让机器原有的 (hd1) 不至于被虚拟的 (hd1) 覆盖掉,你需要事先将 (hd1) “备份” 起来,比如说,

map (hd1) (hd0)

这条命令执行的时候,(hd1) 虚拟盘应该不存在才对;如果此时 (hd1) 已经是虚拟盘了,那么就不是你想要达到的目的了。

总结一下,就是这样:

map (hd0) (hd1)
map (hd1) (hd0)
map --hook

第一条命令准备创建虚拟盘 (hd1),它的扇区数据来源于真实的硬盘 (hd0)。
第二条命令准备创建虚拟盘 (hd0),它的扇区数据来源于真实的硬盘 (hd1)。
但都未真正起作用。

直到第三条命令 map --hook 执行之后,以上两个虚拟盘才同时建立起来。

虚拟盘 (hd1) 的扇区数据来源于真实盘 (hd0),而虚拟盘 (hd0) 的扇区数据来源于真实盘 (hd1)。

这就起到了交换磁盘的作用,达到了目的。

对比一下,下面的做法是错误的:

map (hd0) (hd1)
map --hook
map (hd1) (hd0)
map --hook

当 map (hd0) (hd1) 和 map --hook 执行之后,(hd1) 已经是虚拟盘了,它的扇区内容与真实盘 (hd0) 相同。
因此,接下来执行的 map (hd1) (hd0) 就是准备以虚拟盘 (hd1) 为基础来建立虚拟盘 (hd0),map --hook 之后,起作用了。那实际上是以真实盘 (hd0) 为基础来建立虚拟盘 (hd0),所以,等于互相抵消了,回到原地,虚拟盘 (hd0) 与真实盘 (hd0) 的扇区内容相同,等于说,虚拟盘 (hd0) 不存在,它就是真实盘 (hd0)。

所以,以上四条命令等价于以下两条命令:

map (hd0) (hd1)
map --hook



map (hd1) (hd0)
map --hook

等价于 “什么工作也没做”。其原因就在于,此时 (hd1) 已经是虚拟盘了。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-22 10:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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