sp_star 发表于 2014-4-15 21:33:13

又折腾了一下,这回启动到efi shell里,直接运行8pe的bootx64.efi可以启动到PE.
BIOS启动菜单:

EFI SHELL的一点信息, fs0就是MBROS分区。

mdyblog 发表于 2014-4-15 22:06:25

hhh333 发表于 2014-4-15 20:20
看MAPUD中try3没必要吧,这个既然用来映射的,就不要整其他功能
try2感觉与前面差不多,测试2次是针对两种 ...

是2中情况。
try1: UDv2


try2: U+DH


try3: Ramdisk

mdyblog 发表于 2014-4-15 22:07:05

hhh333 发表于 2014-4-15 20:13
能不能做到基本不改默认菜单?多数工作基本在外置菜单中执行?

加到 内置菜单 即可。

hhh333 发表于 2014-4-15 22:10:31

本帖最后由 hhh333 于 2014-4-15 22:12 编辑

mdyblog 发表于 2014-4-15 22:06
是2中情况。
try1: UDv2



Ramdisk是个什么情况?什么形式的启动?

hhh333 发表于 2014-4-15 22:18:32

本帖最后由 hhh333 于 2014-4-15 22:26 编辑

        dd if=(%boot%)0+1 of=(md)0x200+1 | set _=
        set /A ps=*0x40000 & 0xFF | set _=
        if not %ps%==0xEBset uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x401FE & 0xFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0xAA55set uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x40180 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0x20425355set uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x40184 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0x69766564set uplusdh=

        if "%uplusdh%"=="3" dd if=(%boot%)100+1 of=(md)0x200+1 | set _=
        if "%uplusdh%"=="3" set /A ps=*0x40000 & 0xFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0xEBset uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x401FE & 0xFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0xAA55set uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x40180 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0x20425355set uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x40184 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0x69766564set uplusdh=
        if "%uplusdh%"=="3" set /A qe=*0x401C6 & 0xFFFFFFFF + 1 | set _=
        if "%uplusdh%"=="3" set /A qs=*0x401CA & 0xFFFFFFFF | set _=


        if "%uplusdh%"=="3" dd if=(%boot%)99+1 of=(md)0x200+1 | set _=
        if "%uplusdh%"=="3" set /A ps=*0x40000 & 0xFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0xEBset uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x401FE & 0xFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0xAA55set uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x40180 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0x20425355set uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x40184 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0x69766564set uplusdh=

        if "%uplusdh%"=="3" set /A pe=*0x401C6 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" set /A ps=*0x401CA & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %pe%==%qe%set uplusdh=
        if "%uplusdh%"=="3" if not %ps%==%qs%set uplusdh=

        if "%uplusdh%"=="3" dd if=(%boot%)96+1 of=(md)0x200+1 | set _=
        if "%uplusdh%"=="3" set /A ps=*0x40000 & 0xFF | set _=
        if "%uplusdh%"=="3" if not %ps%==0xEBset uplusdh=
        if "%uplusdh%"=="3" set /A ps=*0x401CA & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" if not %ps%==%qs%set uplusdh=

        if "%uplusdh%"=="3" set /A pe=*0x401F6 & 0xFFFFFFFF | set _=
        if "%uplusdh%"=="3" set /A ps=*0x401FA & 0xFFFFFFFF | set _=

        if "%uplusdh%"=="3" map (%boot%)%pe%+%ps% (fd3) | set _=
        if "%uplusdh%"=="3" map --hook
        set pe= && set ps= && set boot= && set qe= && set qs=
        if "%uplusdh%"=="3" rootnoverify (fd3) || set uplusdh=
要这么多条件来判断是不是U+深隐吗?
而且还定义了一个参数,应该没必要。
没MAP成功,就应该没有;成功了当做软盘处理,后续可以按常规处理,感觉到LZ将问题变复杂,
我倒建议LZ不考虑U+深隐,实际中用得很少的,直接把你的UDV2弄好。

hhh333 发表于 2014-4-15 22:32:01

以前的内置默认菜单逻辑上应该不错
pxe detect
configfile
default 0
timeout 1

title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
        errorcheck off
        configfile /boot/grub/menu.lst
        configfile /grub/menu.lst
        if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
        if "%@root:~1,1%"=="f" && find --set-root --devices=f /menu.lst && configfile /menu.lst
        find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
        find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
        find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst

        #----U+DEEPHIDE----
        set /a boot=*0x8280&0xffffffff
        dd if=(%boot%)96+1 of=(md)0x200+1 bs=1 count=8 skip=502
        set /a pe=*0x40000&0xffffffff&& set /a ps=*0x40004&0xffffffff
        map (%boot%)%pe%+%ps% (fd3)
        map --hook
        set pe= && set ps= && set boot=
        rootnoverify (fd3) && configfile

        errorcheck on
        commandline
title commandline
        commandline
title reboot
        reboot
title halt
        halt
在各种查找无果后,再考虑U+深度隐藏

mdyblog 发表于 2014-4-15 22:54:03

hhh333 发表于 2014-4-15 22:32
以前的内置默认菜单逻辑上应该不错

在各种查找无果后,再考虑U+深度隐藏

实测U+DH有问题。
启动的是我硬盘上的菜单。
你BC3比较一下,就知道了。

mdyblog 发表于 2014-4-15 22:57:41

hhh333 发表于 2014-4-15 22:10
Ramdisk是个什么情况?什么形式的启动?

不是 UDv2 U+DH
此时 Ramdisk。
就是你/boot/IMGS/下的imagmap --mem成(fd0)
在拷贝文件到ramdisk, cong ramdisk boot

mdyblog 发表于 2014-4-15 22:58:31

hhh333 发表于 2014-4-15 22:18
要这么多条件来判断是不是U+深隐吗?
而且还定义了一个参数,应该没必要。
没MAP成功,就应该没有;成 ...

当然可不考虑U+DH。

hhh333 发表于 2014-4-15 23:00:47

mdyblog 发表于 2014-4-15 22:54
实测U+DH有问题。
启动的是我硬盘上的菜单。
你BC3比较一下,就知道了。

这个是搜索顺序问题,与U+处理无关,逻辑上是各盘查找无果时再考虑U+深隐

mdyblog 发表于 2014-4-15 23:01:07

sp_star 发表于 2014-4-15 21:33
又折腾了一下,这回启动到efi shell里,直接运行8pe的bootx64.efi可以启动到PE.
BIOS启动菜单:



fs0 估计 好比(fd0)
好牛的机器。

mdyblog 发表于 2014-4-15 23:04:39

hhh333 发表于 2014-4-15 23:00
这个是搜索顺序问题,与U+处理无关,逻辑上是各盘查找无果时再考虑U+深隐

      if "%@root:~1,1%"=="f" && find --set-root --devices=f /menu.lst && configfile /menu.lst
      find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
      find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
      find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
有错误。
对U+DH, 这里已经私奔了。

sp_star 发表于 2014-4-15 23:41:53

本帖最后由 sp_star 于 2014-4-15 23:46 编辑

mdyblog 发表于 2014-4-15 23:01
fs0 估计 好比(fd0)
好牛的机器。

这回你可能说得不对,硬盘分区,U盘什么的都是blk0, blk1,只有U盘是fat32格式,所以分配了个盘符fs0,其他ntfs格式,就没有盘符。
待会把efi shell传上来,在你的机器上看看会怎样。

解开后,改名为bootx64.efi,放到合适位置就行了。

mdyblog 发表于 2014-4-16 00:55:44

sp_star 发表于 2014-4-15 23:41
这回你可能说得不对,硬盘分区,U盘什么的都是blk0, blk1,只有U盘是fat32格式,所以分配了个盘符fs0, ...

我这也有 fs0.
进 efi shell后怎么启动 8PE啊?
把命令发上来吧。

mdyblog 发表于 2014-4-16 01:16:32

sp_star 发表于 2014-4-15 23:41
这回你可能说得不对,硬盘分区,U盘什么的都是blk0, blk1,只有U盘是fat32格式,所以分配了个盘符fs0, ...

fs0:
再直接运行 8pe的bootx86.efi
还是出 BCD错误。
不知道那儿错误。

mdyblog 发表于 2014-4-16 01:17:35

本帖最后由 mdyblog 于 2014-4-16 01:18 编辑

sp_star 发表于 2014-4-15 23:41
这回你可能说得不对,硬盘分区,U盘什么的都是blk0, blk1,只有U盘是fat32格式,所以分配了个盘符fs0, ...

efi shel you map命令:
map [-bdvr] ] 映射驱动器路径
不知道怎么用?

还有
mount blkdevice ] 在一个块设备上加载文件系统

mdyblog 发表于 2014-4-16 02:42:07

hhh333 发表于 2014-4-15 15:18
不用几个DLL,没必要,况且有时还用它一写小工具,难道还带一堆DLL?
规范的易用的语法才是这个工具的 ...

>>可以考虑扩展完全版的MOUN功能,加进去MountMBROS的功能。

完整版PECMD.EXE。
MOUN -ud2...
已加。
HELP MOUN

hhh333 发表于 2014-4-16 05:43:00

本帖最后由 hhh333 于 2014-4-16 05:52 编辑

mdyblog 发表于 2014-4-16 02:42
>>可以考虑扩展完全版的MOUN功能,加进去MountMBROS的功能。

完整版PECMD.EXE。


够快,够劲,已经下了,正在测试

mdyblog 发表于 2014-4-16 10:16:21

hhh333 发表于 2014-4-16 05:43
够快,够劲,已经下了,正在测试

完整版PECMD.EXE PART
加上了 -swap功能。
就 4个分区的 交换。
主要是 FDD 的磁盘,只能显示 一个分区,
PART-up -super -swap:1   1#4   //1#4和1#1交换   
就可以显示了。

sp_star 发表于 2014-4-16 10:18:40

mdyblog 发表于 2014-4-16 01:16
fs0:
再直接运行 8pe的bootx86.efi
还是出 BCD错误。


bootx86.efi, 应该是bootx64.efi吧?
这个我也是刚下载的,不会用它的命令.....

mdyblog 发表于 2014-4-16 10:20:32

sp_star 发表于 2014-4-16 10:18
bootx86.efi, 应该是bootx64.efi吧?
这个我也是刚下载的,不会用它的命令.....

是bootx64.efi.
我是摸黑打的字。

mdyblog 发表于 2014-4-16 12:00:30

有人提出的 界面。
大家看看,需要改成这样吗?

fvptk 发表于 2014-4-16 12:06:39

mdyblog 发表于 2014-4-16 12:00
有人提出的 界面。
大家看看,需要改成这样吗?

这个界面清爽明了多了。下面其它人回复
一直在关注楼主..........

mdyblog 发表于 2014-4-16 13:06:01

fvptk 发表于 2014-4-16 12:06
这个界面清爽明了多了。下面其它人回复
一直在关注楼主..........

那就改吧。
还有【高级界面】是直接扩大窗口显示 其它按钮, 还是 弹出新的窗口, 哪个好呢?

mdyblog 发表于 2014-4-16 13:26:52

本帖最后由 mdyblog 于 2014-4-16 13:33 编辑

sp_star 发表于 2014-4-16 10:18
bootx86.efi, 应该是bootx64.efi吧?
这个我也是刚下载的,不会用它的命令.....

UDv2无分区表 启动 Linux 成功。
就用 H3的 2GPE航母。

解开UEFI-grub2 覆盖相应文件。


删除全部分区。一定要这不啊!!!

看看 /boot/h3_*hd.lst看看 启动的 linux的2行。 BIOS 和 UEFI启动linux的命令是一样。
可以编辑 uefi的启动菜单 grub.cfg, 依葫芦画瓢, 加上 一个Linux 启动项。

启动到 UEFI-GRUB2界面。

启动 linux启动项,
或进命令行,输入那2行,
boot
启动linux.

成功。到Linux 桌面。

fvptk 发表于 2014-4-16 13:32:37

mdyblog 发表于 2014-4-16 13:06
那就改吧。
还有【高级界面】是直接扩大窗口显示 其它按钮, 还是 弹出新的窗口, 哪个好呢?

高级界面如果内容较多,弹出新窗口显示较好,如果内容少就弹出分类按钮较好,一家之言。

mdyblog 发表于 2014-4-16 13:37:23

本帖最后由 mdyblog 于 2014-4-16 13:38 编辑

fvptk 发表于 2014-4-16 13:32
高级界面如果内容较多,弹出新窗口显示较好,如果内容少就弹出分类按钮较好,一家之言。

就1# 哪个界面,展开 和 没展开的都 有。
展开4个按钮。
你说展开的多还是少 ?
算少的吧。

fvptk 发表于 2014-4-16 13:42:16

mdyblog 发表于 2014-4-16 13:37
就1# 哪个界面,展开 和 没展开的都 有。
展开4个按钮。
你说展开的多还是少 ?


可以啊,就这4按钮吧

mdyblog 发表于 2014-4-16 13:56:25

sp_star 发表于 2014-4-15 21:33
又折腾了一下,这回启动到efi shell里,直接运行8pe的bootx64.efi可以启动到PE.
BIOS启动菜单:



fs0:不是磁盘, 不是(fd0), 是盘符. 对应于我们说的 C:。

mdyblog 发表于 2014-4-16 16:49:27

sp_star 发表于 2014-4-16 10:18
bootx86.efi, 应该是bootx64.efi吧?
这个我也是刚下载的,不会用它的命令.....

哦忘了,BIOS 启动 设置界面简化的事忘了。 晚上一起做了吧。
页: 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21
查看完整版本: [MBROSTool6.26]UD升级到UDm:U启部署只需“一拖一格”,PE免改造即可加载隐藏外置!