无忧启动论坛

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

[求助] 如何让GHOST批处理 识别UEFI GPT格式分区

[复制链接]
跳转到指定楼层
1#
发表于 2018-3-22 16:25:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何让GHOST批处理 识别UEFI GPT格式分区
我之前使用MBR分区使用以下命令 可以生成 相应 结果

@echo off
set xtpf=%systemdrive%
rem 制作系统备份文件
for /f "skip=2 tokens=1,2" %%i in ('dsptw /a /pdr /y') do echo %%i %%j>>.\AAA.txt
for /f "tokens=1,2" %%i in ('type .\AAA.txt^|find /i "%xtpf%"') do set c=%%j
for /f "tokens=1,2" %%i in ('type .\AAA.txt^|find /i "d:"') do set d=%%j
echo d:\GHOST32.exe -CLONE,MODE=PDUMP,SRC=%c%,DST=%d%\Win10.GHO -AUTONAME -sure -fro -quiet>.\AAA.txt

生成的结果
d:\GHOST32.exe -CLONE,MODE=PDUMP,SRC=1:1,DST=1:2\Win10.GHO -AUTONAME -sure -fro -quiet

但现在 是 UEFI GPT 分区 生成不了 那个最重要是 磁盘 代号了
d:\GHOST32.exe -CLONE,MODE=PDUMP,SRC=,DST=\Win10.GHO -AUTONAME -sure -fro -quiet

求高手帮我看看!我是不是需要 更新我的 dsptw.exe 文件了有没有新的程序可以支持命令行 自动生成 磁盘代号的。多谢。


测试UEFI 盘符.rar

22.91 KB, 下载次数: 28, 下载积分: 无忧币 -2

推荐
发表于 2018-3-28 16:47:10 | 只看该作者
yuanyong911 发表于 2018-3-28 16:10
谢谢哥们,我硬盘 win10 的所在盘符 即便确认了,但返回给我的都是 C D E 这样的,我是想 把返回的 英文 ...

命令行下的ghost识别GPT分区会出错。例如你想识别C盘,而Ghost识别的却是第一个隐藏区ESP。所以你那个1:1之类的参数没有意义。

点评

多谢您!我研究研究!  详情 回复 发表于 2018-3-31 09:24
回复

使用道具 举报

推荐
发表于 2018-3-25 15:57:25 | 只看该作者
本帖最后由 令狐大虾 于 2018-3-25 16:07 编辑

卧槽,回复的几页都不见了哈哈。ghost.exe并不能象dism.exe那么智能识别c盘。它的识别就是磁盘+分区。由于主板芯片组的不同,upe启动下有时候会把单个磁盘识别为二盘。那么就需要在调用过程中出错即停止ghost.exe然后再执行另一个命令。作为备份模式没啥。如果是双硬盘恢复出错那就纳闷了。

点评

多谢 兄弟!我这两天实在太忙!一会我看看!真是非常感谢!之前的几页有可能是服务器重置了!  详情 回复 发表于 2018-3-28 08:52
回复

使用道具 举报

推荐
发表于 2018-3-22 20:04:29 | 只看该作者
dsptw.exe没发现新版本,

使用mountvol.exe m: /S  +  GHOST32.exe -dd

点评

恕我无知 还烦请您 帮我看看 mountvol.exe m:/S + GHOST32.exe -dd 好像不能达到 相应效果 我想实现 通过 批处理 自动填写 下面 红色自付部分。如果您方便 麻烦您再受累帮我看看!万分感谢! d:\GHOST32.exe  详情 回复 发表于 2018-3-22 20:45
多谢 高手 我周末试试!  详情 回复 发表于 2018-3-22 20:33
回复

使用道具 举报

推荐
发表于 2018-3-28 14:18:33 | 只看该作者
gpt下我用的ghost还原到盘符是可以的,到时强制识别一个大分区算了
回复

使用道具 举报

推荐
发表于 2018-3-23 23:30:51 | 只看该作者
本帖最后由 令狐大虾 于 2018-3-23 23:38 编辑
  1.                                    ;判断系统启动区是MBR磁盘还是GPT磁盘
  2.                                             If FileExists(@TempDir & '\disk\') = 0 Then _FileCreate(@TempDir & '\disk\')
  3.                                                                                                 $file = _FileCreate(@TempDir & '\disk\list.txt')
  4.                                                                         $file1 = FileOpen($file, 1)
  5.                                                                         FileWrite(@TempDir & '\disk\list.txt', 'list disk')
  6.                                                                         _RunDos('cmd.exe /c diskpart.exe /s ' & @TempDir & '\disk\list.txt >'& @TempDir & '\disk\123.txt')
  7.                                                                         Local $aArray = FileReadToArray(@TempDir & "\disk\123.txt")
  8.                                                                                                 Local $asd = _ArrayFindAll($aArray, '磁盘 0', Default, Default, 1, 1, 2)
  9.                                                                         $ss = StringStripWS($aArray[$asd[0]], 8)
  10.                                                                     Local $sss = StringRight($ss, 1)
  11.                                                                     If $sss == '*'  Then
  12.                                                                             _RunDos('cmd.exe /c bcdboot c:\windows /l zh-cn') ;==>确定C盘是GPT磁盘并将EFI启动文件夹写入活动区ESP盘      
  13.                                                                     Else
  14.                                                                             _RunDos('cmd.exe /c bcdboot c:\windows /l zh-cn /s c:') ;==>确定C盘是MBR磁盘并将EFI启动文件夹写入活动区C盘,若MBR PE启动则将Boot启动文件夹写入活动区C盘
  15.                                                                                                 If FileExists('C:\EFI') Then FileSetAttrib('C:\EFI','+RSH')                                             
  16.                                                                     EndIf
复制代码

这是我当时编写多合一安装器(自用)在AU3论坛发求助某个坛友给我的代码。修改了一下。我当时的想法是无视C盘是否是mbr还是gpt,都可以在Win10下UEFI启动(几台实体机测试可以无视分区格式纯UEFI启动,不支持Win7)。
不过楼主是ghost,不管C盘是否GPT,写入一个命令bcdboot c:\windows /l zh-cn就可以了啊。

点评

谢谢兄弟!估计刚才这个论坛被刷屏了!  详情 回复 发表于 2018-3-25 14:37
回复

使用道具 举报

3#
 楼主| 发表于 2018-3-22 20:33:41 | 只看该作者
fuldho 发表于 2018-3-22 20:04
dsptw.exe没发现新版本,

使用mountvol.exe m: /S  +  GHOST32.exe -dd

多谢 高手 我周末试试!
回复

使用道具 举报

4#
 楼主| 发表于 2018-3-22 20:45:49 | 只看该作者
fuldho 发表于 2018-3-22 20:04
dsptw.exe没发现新版本,

使用mountvol.exe m: /S  +  GHOST32.exe -dd


恕我无知 还烦请您 帮我看看
mountvol.exe m:/S + GHOST32.exe -dd
好像不能达到 相应效果

我想实现 通过 批处理 自动填写 下面 红色部分。如果您方便 麻烦您再受累帮我看看!万分感谢!

d:\GHOST32.exe -CLONE,MODE=PDUMP,SRC=1:1,DST=1:2\Win10.GHO -AUTONAME -sure -fro -quiet


===========================================
回复

使用道具 举报

5#
发表于 2018-3-22 21:00:33 | 只看该作者
关注起来
回复

使用道具 举报

6#
发表于 2018-3-22 21:44:44 来自手机 | 只看该作者
千万不要这么做,太危险了。
回复

使用道具 举报

7#
发表于 2018-3-23 09:13:39 | 只看该作者
路过学习
回复

使用道具 举报

9#
 楼主| 发表于 2018-3-25 14:37:12 | 只看该作者
令狐大虾 发表于 2018-3-23 23:30
这是我当时编写多合一安装器(自用)在AU3论坛发求助某个坛友给我的代码。修改了一下。我当时的想法是无视C ...

谢谢兄弟!估计刚才这个论坛被刷屏了!
回复

使用道具 举报

11#
发表于 2018-3-25 19:56:46 | 只看该作者
经过测试,GPT模式硬盘,ghost命令行无法识别磁盘第一分区C(其实它认为磁盘第一分区就是隐藏区ESP)。这也是几年前MAXDSO说出品支持UEFI备份的工具发布一直没有下文

点评

哦 明白了!我的思路是 通过在安装硬盘上的win10 系统中 某个特殊文件标记,告诉 我PE win10 这是 C盘,通过在PE系统下找寻 那个特定文件 定位到 ,硬盘 win10 的所在盘符 但一般返回给我的都是 C D E 这样的,我是  详情 回复 发表于 2018-3-28 09:38
回复

使用道具 举报

12#
 楼主| 发表于 2018-3-28 08:52:50 | 只看该作者
令狐大虾 发表于 2018-3-25 15:57
卧槽,回复的几页都不见了哈哈。ghost.exe并不能象dism.exe那么智能识别c盘。它的识别就是磁盘+分区。由于 ...

多谢 兄弟!我这两天实在太忙!一会我看看!真是非常感谢!之前的几页有可能是服务器重置了!
回复

使用道具 举报

13#
 楼主| 发表于 2018-3-28 09:38:50 | 只看该作者
令狐大虾 发表于 2018-3-25 19:56
经过测试,GPT模式硬盘,ghost命令行无法识别磁盘第一分区C(其实它认为磁盘第一分区就是隐藏区ESP)。这也 ...

哦 明白了!我的思路是 通过在安装硬盘上的win10 系统中 某个特殊文件标记,告诉 我PE win10 这是 C盘,通过在PE系统下找寻 那个特定文件 定位到 ,硬盘 win10 的所在盘符 但一般返回给我的都是 C D E 这样的,我是想 把返回的 英文盘符 通过 批处理 转换为 1:1   1:2  1:3  这样的 以便ghost 识别!不知您有没有好的 办法!真是给您添了麻烦!谢谢!

点评

@echo off for %%i in (C D E F G H I J K L M N O P Q R S T) DO ( if exist %%i:\windows\system32\cmd.exe (echo %%i是系统盘) ) 使用此批处理文件,查找C D E F G H I J K L M N O P Q R S T 这些分区下是  详情 回复 发表于 2020-9-18 23:07
回复

使用道具 举报

14#
发表于 2018-3-28 13:59:20 | 只看该作者
楼主需要注意的是你所有的命令在PE下面只是适合单硬盘运行。10PE下多硬盘会盘符交错,特别是存在NVME+HDD(因为在10PE下SATA接口优先显示为磁盘0)。对于备份而言,你所说的那个标记文件可以为C:\bootmgr

点评

谢谢哥们,我硬盘 win10 的所在盘符 即便确认了,但返回给我的都是 C D E 这样的,我是想 把返回的 英文盘符 通过 批处理 命令 转换为 1:1   1:2  1:3  这样的 以便ghost 识别!有  详情 回复 发表于 2018-3-28 16:10
回复

使用道具 举报

16#
 楼主| 发表于 2018-3-28 16:10:06 | 只看该作者
令狐大虾 发表于 2018-3-28 13:59
楼主需要注意的是你所有的命令在PE下面只是适合单硬盘运行。10PE下多硬盘会盘符交错,特别是存在NVME+HDD( ...

谢谢哥们,我硬盘 win10 的所在盘符 即便确认了,但返回给我的都是 C D E 这样的,我是想 把返回的 英文盘符 通过 批处理 命令 转换为 1:1   1:2  1:3  这样的 以便ghost 识别!有没有  C D E 英文盘符 转换为 GHOST所需的 数字 盘符(1:1   1:2)的 批处理工具呢??谢谢您!

点评

命令行下的ghost识别GPT分区会出错。例如你想识别C盘,而Ghost识别的却是第一个隐藏区ESP。所以你那个1:1之类的参数没有意义。  详情 回复 发表于 2018-3-28 16:47
回复

使用道具 举报

18#
 楼主| 发表于 2018-3-31 09:24:48 | 只看该作者
令狐大虾 发表于 2018-3-28 16:47
命令行下的ghost识别GPT分区会出错。例如你想识别C盘,而Ghost识别的却是第一个隐藏区ESP。所以你那个1:1 ...

多谢您!我研究研究!
回复

使用道具 举报

19#
发表于 2018-4-20 13:06:40 | 只看该作者
既然用GHOST,可以考虑下同一家的GDISK
回复

使用道具 举报

20#
发表于 2020-9-18 23:07:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21#
发表于 2020-9-25 12:20:00 | 只看该作者
用diskpart分好区了,再Ghost,ghost最好只做分区恢复,不要做整盘恢复。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 11:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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