无忧启动论坛

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

[求助] UD分区怎样和硬盘交换磁盘

[复制链接]
1#
发表于 2016-6-3 14:24:40 | 显示全部楼层
我觉得是 “胡乱使用交换磁盘的命令”。

map () (hd0)
map (hd0) ()

相当于

map (ud) (hd0)
map (hd0) (ud)

这是胡乱使用。ud 不是 BIOS 盘号,它就像 pd 那样,是一个象征性的盘号,不能用于磁盘交换。

你把这个错误的用法删除掉(即,删除这两条交换命令,也删除 map --hook 命令),就好了。

点评

我原来看到启动UD可见分区的pe命令如下: find --set-root --ignore-floppies --ignore-cd /bootmgr map () (hd0) map (hd0) () map --rehook find --set-root --ignore-floppies --ignore-cd /bootmgr chainl  详情 回复 发表于 2016-6-3 14:41
回复

使用道具 举报

2#
发表于 2016-6-3 14:54:17 | 显示全部楼层
你看 find --set-root --ignore-floppies --ignore-cd /bootmgr 执行之后,当前分区已经变成 bootmgr 所在分区了。也就是说,root 命令返回的不是 ud,而是正常的分区 (hd0,0) 之类的了。这是根本性的差别。当 root 是 ud 的时候,你不可以使用上述交换命令,因为他们交换的是 ud 的盘号,这种交换是没有意义的。

点评

确实是你说的那样,当我把两行find --set-root --ignore-floppies --ignore-cd /bootmgr删除后,执行命令,发现磁盘交换根本没交换成功  详情 回复 发表于 2016-6-3 15:15
回复

使用道具 举报

3#
发表于 2016-6-5 16:40:25 | 显示全部楼层
不用纠结,我来解释一下所发生的现象。

当一个盘上安装了 ud 时,这个 ud 区占用 MBR 的一段空间,最小有 8M,最大可以有几个 G。这部分空间是隐藏的。也就是说,普通的软件看不见这个区域。

你要是知道 MBR 通常保留了 63 个扇区(为隐藏的),你就能够理解这个现象了。这不过就是把 63 扇区扩大到 8M 或几个 G 罢了。

而通常的可见分区,是在分区表上定义的。

在 grub4dos 中,(hd0) 用来代表整个盘,也就是从 MBR 开始直到最后一个物理扇区的整个设备,就是 (hd0)。

当这个盘上安装了 ud 并从 ud 启动时,grub4dos 也认为整个盘 (hd0) 是 ud 系统。注意不要迷糊了,此时仅仅涉及所谓 “隐藏” 的内容(即 ud 区),不影响 (hd0,0) (hd0,1) 之类的通常分区。  

所以你会发现,(ud) 和 (hd0) 都是 ud 区的内容。

至于说 bootmgr 位于 ud 区而被启动,然后这个 ud 区的 bootmgr 又能找到(或不能找到)硬盘上可见分区里面的 boot.ini(或 bcd)文件,那是 bootmgr 自己的事,与 grub4dos 无关。

点评

谢谢回复,以前了解 ud 区占用 MBR 的一段空间和 MBR 通常保留了 63 个扇区(为隐藏的)的知识,但自己有时思考的时候又没想到联系起来分析  详情 回复 发表于 2016-6-5 17:09
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-14 00:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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