UD分区怎样和硬盘交换磁盘
用FbinstTool制作的UD启动U盘,启动后,我想启动硬盘上的grldr,在命令行输入map () (hd0)
map (hd0) ()
errorcheck off
map --hook
errorcheck on
find --set-root /grldr
chainloader /grldr
提示找不到grldr find --set-root /grldr
chainloader /grldr
boot dxvyi 发表于 2016-6-3 11:32
find --set-root /grldr
chainloader /grldr
boot
我输入了boot的,刚才忘了写 yjqd 发表于 2016-6-3 11:52
我输入了boot的,刚才忘了写
我的就是这样写的,没问题呀 dxvyi 发表于 2016-6-3 12:03
我的就是这样写的,没问题呀
你也是用的ud启动盘吗 yjqd 发表于 2016-6-3 12:12
你也是用的ud启动盘吗
是呀。前面这样的:
timeout 30
default 0
gfxmenu (ud)/main || find --set-root /main && gfxmenu /main 设想一下,你UD启动后,如果启动U盘(宿主盘)本身就是被BIOS识别为 hd0 的情形会如何呢?
命令中的 () 和 (hd0) 不就是同一个东东吗?
所以,应该先判断一下。
captain_g 发表于 2016-6-3 12:39
设想一下,你UD启动后,如果启动U盘(宿主盘)本身就是被BIOS识别为 hd0 的情形会如何呢?
命令中的 ()...
UD启动后,我输入root,发现(ud)是当前盘,输入find,出现
(ud)
(hd0)
(hd1)
输入root (hd0),再输入ls,发现和(UD)中的内容一样
不知该怎样交换磁盘了 我觉得是 “胡乱使用交换磁盘的命令”。
map () (hd0)
map (hd0) ()
相当于
map (ud) (hd0)
map (hd0) (ud)
这是胡乱使用。ud 不是 BIOS 盘号,它就像 pd 那样,是一个象征性的盘号,不能用于磁盘交换。
你把这个错误的用法删除掉(即,删除这两条交换命令,也删除 map --hook 命令),就好了。 不点 发表于 2016-6-3 14:24
我觉得是 “胡乱使用交换磁盘的命令”。
map () (hd0)
我原来看到启动UD可见分区的pe命令如下:
find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr
我就以为ud能用于磁盘交换 你看 find --set-root --ignore-floppies --ignore-cd /bootmgr 执行之后,当前分区已经变成 bootmgr 所在分区了。也就是说,root 命令返回的不是 ud,而是正常的分区 (hd0,0) 之类的了。这是根本性的差别。当 root 是 ud 的时候,你不可以使用上述交换命令,因为他们交换的是 ud 的盘号,这种交换是没有意义的。 不点 发表于 2016-6-3 14:54
你看 find --set-root --ignore-floppies --ignore-cd /bootmgr 执行之后,当前分区已经变成 bootmgr 所在 ...
确实是你说的那样,当我把两行find --set-root --ignore-floppies --ignore-cd /bootmgr删除后,执行命令,发现磁盘交换根本没交换成功 yjqd 发表于 2016-6-3 15:15
确实是你说的那样,当我把两行find --set-root --ignore-floppies --ignore-cd /bootmgr删除后,执行命令 ...
再问一下
执行下面命令
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr
启动了可见分区的winpe.wim
bootmgr是在UD分区(可见分区没有bootmgr),它为什么能找到可见分区的boot文件夹中的bcd 关于bootmgr,你可以仔细观察一下U盘的分区表,mbr是不显示ud区的。
bootmgr只能识别ntfs和fat分区,无法识别UD分区,对他来说,ud区是一个“未分配空间”,所以,他启动了第一个自己觉得实际存在的分区 lbw2007 发表于 2016-6-5 13:36
关于bootmgr,你可以仔细观察一下U盘的分区表,mbr是不显示ud区的。
bootmgr只能识别ntfs和fat分区,无法 ...
谢谢以上所有朋友的回复,微软的文件不识别UD分区这我知道
当执行find /bootmgr
出现:
(ud)
(hd0)
可见分区用命令就能发现是(hd0,0),(hd0,0)和(hd0)是磁盘分区和磁盘的关系,这样的话bootmgr能找到可见分区的boot文件夹中的bcd就是应该的
我是这样想的,不知对不对
另外:
当root时,出现(ud) filesystem type is fb
当root (hd0)时,也会出现filesystem type is fb,再root,出现
(hd0) filesystem type is fb
当root (ud)或是root (hd0)后再执行ls,会发现列出的文件和目录是一样的 不用纠结,我来解释一下所发生的现象。
当一个盘上安装了 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 无关。
不点 发表于 2016-6-5 16:40
不用纠结,我来解释一下所发生的现象。
当一个盘上安装了 ud 时,这个 ud 区占用 MBR 的一段空间,最小 ...
谢谢回复,以前了解 ud 区占用 MBR 的一段空间和 MBR 通常保留了 63 个扇区(为隐藏的)的知识,但自己有时思考的时候又没想到联系起来分析
页:
[1]