win10 利用再生龙克隆 nvme 磁盘到磁盘克隆后无法启动

2023-07-30 01:27:56 +08:00
 balduncle
再生龙克隆磁盘无法启动

系统:win10
磁盘:英睿达 p3 换 p5
方法:新盘 p5 插入系统里面,磁盘管理选择了 gpt 模式,没再格式化了。用再生龙安装到 u 盘,然后启动。p3 是安装在主板 nvme 接口上,p5 是用 type 绿联得硬盘盒子接在后面,选择了磁盘到磁盘得方式,复制了三次。原来得 p3 就可以正常启动,p5 就不可以。

cpu 是 amd ryzen 5500 ,主板是华硕 b450 tuf gaming pro s ,内存 2X8 ,3200

报错:蓝屏幕,报,inaccessible boot device ,还有 0xc0000001

尝试方法:克隆了两次,还是无法启动,原来得 p3 就可以。

可能得方法:换傲梅助手或许可以,但是想看看还有其他方法没有?

ps ,这是我第二次升级系统盘,原来是从英睿达 p1 升级到 p3 ( 2 个月左右以前,也是用了再生龙磁盘到磁盘克隆,后面好像也是不行,再换了傲梅助手),现在打算再升级到 p5 。
2999 次点击
所在节点    云修电脑
63 条回复
balduncle
2023-07-30 11:42:55 +08:00
https://v2ex.com/t/809546
查了我们论坛里面这个帖子

总结要克隆成功三点:1.驱动要能用,2 ,盘符能识别,3 ,引导成功 @acess

失败的问题是 @muzuiget 提出的,换了磁盘,但是 bcd 不会因此而挂掉,现在应该就是这个 bcd 出了问题。它识别到了换了磁盘。我开始怀疑是 win10 启动有加密,换了磁盘被发现了。
balduncle
2023-07-30 11:45:30 +08:00
那么说明 win10 启动的时候会有校验机制,在生龙应该是精确的克隆的磁盘数据,但是还是被 win10 的校验机制发现不匹配。

但是具体是什么原理,我不清楚。修复引导,应该还是根据现有磁盘,重新设置启动参数。

那么到底哪里不匹配?又是如何产生的,现在不清楚。有大神能解释下马?主要是后面再用,咋办?
MaxBear
2023-07-30 13:58:39 +08:00
用 DiskGenius 试试吧。千万别用傲梅助手,上周刚迁移用过一样的开不了机。辣鸡傲梅助手,浪费我两天时间。先用一个硬盘先原来数据迁移备份一下,你用的新盘重装一下系统。进系统后,然后用 DiskGenius 从备份盘复制文件。
MaxBear
2023-07-30 14:00:44 +08:00
修复引导试试吧,反正我是不行的。
balduncle
2023-07-30 15:17:55 +08:00
@MaxBear 在我这里,傲梅倒是没发生过启动不了的。迁徙系统应该是没问题,包括了我更换很多台的 hdd 到 sdd 。我不轻易用傲梅的主要原因是,傲梅会在迁徙系统后,安装一些它自己的软件,夹带私货。所以我优先用开源的再生龙。

我买的是镁光的 nvme ,它自己有软件可以热迁徙,但是也有问题。会出现迁徙启动不了的局面。

所以,综合来看,就是迁徙数据+修复引导。修复引导不一定需要,但是我现在搞不清楚,为什么会引导失败。
pusheax
2023-07-30 15:56:37 +08:00
@kokutou #8 输入法暴露了
YGHMXFAL
2023-07-30 16:17:10 +08:00
BCD 是一个数据库,里面记录了(包括但不限于)WIN 系统启动时应该寻找哪一块磁盘上的哪一个分区作为 systemroot,这个 systemroot 也就是你启动成功之后所看到得 C 盘(当然在 WINPE 中也就是 X 盘,如果你没有特地魔改为其它盘符的话)

但是如何精确定位这个 systemroot(或者说任意磁盘的任意分区)呢?在典型地 UEFI+GPT 模式中,WIN 启动所需地 systemroot 的位置被记录于 BCD 数据库中---以 GUID 的形式---而且会自动显示为人类`读写友好`的盘符

如何理解`自动人类读写友好`呢?

比如说你有一个正常运行地 WIN 系统,它 C 盘有 251GB 大小,你手撸 BCDEDIT 枚举一下启动项,看到确实有某一个启动项视此时地 C 盘为 systemroot

然后你又在这台电脑上启动一个 WINPE,注意,此时那个 251GB 的分区,它未必就是 C 盘了(虽然绝大多数魔改 WINPE 都还会把那个 251GB 的分区分配为 C 盘,但是那是额外跑了开机脚本来理顺盘符,总之你要知道那不是 WINPE 的默认行为)

但是在 WINPE 中你再枚举启动项,肯定会发现也有一个启动项视`某一个分区`为 systemroot,再打开分区助手之类一看,这`某一个分区`大小为 251GB,而且不是 C 盘

总结:写入 BCD 数据库的一定是某一个分区的 GUID,但是显示给你看的一定是`该分区在被枚举时所分配得盘符`

在 UEFI+GPT 模式中,还要求存在一个 FAT32(好像 FAT16 也可以?我没实测过)分区来作为 ESP,此分区存储了启动系统所需地关键组件,而且这些`关键组件`都可以拿 BCDBOOT 从 systemroot 生成(插眼,此处也是楼主这问题的解决办法,文末就不再说一次了)

换言之,你想"先备份后还原系统"或者"迁移系统"的话,ESP 是"不需要"也"强烈不建议"备份得,ESP 应该由 systemroot 来全新生成其中所有启动所需关键组件(注意此处说得是微软原版 ISO 安装得系统,各种野鸡系统可能自作聪明移除了 systemroot 中用于生成 ESP 中的关键组件的相关资源)

理解了`启动时寻址使用 GUID 而非盘符`和`ESP 可由 systemroot 来生成`这俩点之后,我们再回到问题本身

楼主放得蓝屏图,大意就是啥"不可访问设备"是吧,前面说了,你克隆前后,BCD 数据库(作为一个文件而存在)肯定是没有变化,其中记录的 systemroot 的 GUID 肯定也没有变化

但是你此时想启动地 systemroot,和你的源 systemroot,其 GUID 一样吗?这取决于你"克隆"这个操作所使用得工具和方式,如果你不能保证这俩 GUID 一致,BCD 还在拿着旧 GUID 记录找原来的 systemroot,那必然就是"不可访问设备"了
YGHMXFAL
2023-07-30 16:30:59 +08:00
我又扫了一圈评论,楼主你在 2 楼所说得"两个盘 GUID"一样这儿有歧义,好像"磁盘"和"分区"和"分区类型"和"文件系统"都有 GUID(我应该没记错),你这儿说得到底是哪个
balduncle
2023-07-30 16:37:39 +08:00
@YGHMXFAL 谢谢详细解释。一般情况下,guid 是看不到的。我是如何判断的呢?我在从 p2 克隆到 p5 之后,把 p2 拆除,然后把 p5 从 nvme 盒子拆下来,安装到主板的 nvme 位置上去启动失败。

于是返回到 p2 启动,将 p5 继续用硬盘盒子通过 type-c 连接到电脑。因为直接用 win10 的磁盘管理系统,对 p5 是不连接,提示是硬盘 id 是一样不让连接。我是通过 DiskGenius 软件来读取系统盘( p3 )和移动硬盘盒子( p5 )的数据,我目力所及,从硬盘的 guid 到分区的 guid ,能看到的基本信息都是一样的,我随机选取了几个对比。

通过上述操作,所以我的结论是两个 guid 是一样的。

那么回答您的问题,我认为,磁盘,分区的 guid 是一样的,其他“分区类型”,“文件系统”,我尚未注意到。

如果需要,晚上我回家,把截图发出来比较下。
YGHMXFAL
2023-07-30 16:43:46 +08:00
又看了微软文档

[1]微软严禁按扇区复制 GPT 磁盘或者分区(虽然我觉得只要源和目标不同时挂载就问题不大)

[2]在检测到重复地磁盘/分区 GUID 后将会自动重新生成 GUID 来避免冲突,所以楼主你说 GUID 一样,哪怕真一样(此处指 systemroot 的分区 GUID),也只是你看得时候一样
YGHMXFAL
2023-07-30 16:48:30 +08:00
@balduncle #29

看我 30 楼回复,你现在再看看源磁盘和目标磁盘,它们各自的 systemroot 的分区 GUID 是否一样

你说经历了自动修复引导是吧?那么我觉得应该不一样才对
balduncle
2023-07-30 17:18:36 +08:00
按照您的解释

第一,bcd 的信息含义:guid 信息和盘符信息
Boot Configuration Data ( bcd )是用来记载、定位“systemroot”,在 uefi+gpt 模式下,是使用 guid 编码的形式,而进入了 win 系统里面是英文数字

uefi+gpt 模式
bcd 记载=guid 编码
系统显示=C 盘

bcd 信息里面,核心的是 guid ,其保存在 esp 分区里面(在我的盘里面是 600m ,我是从 win7 升级上来,不是第三方系统),所以 bcd 说白了是一个导航的地址信息。

所以 guid 和 c 盘的信息可以理解为是一个门牌号,只是 guid 给引导系统使用,c 盘是给 win 系统使用(也是给用户使用)。

第二,启动的过程:guid 信息引导指向 systemroot 的过程

启动成功意味着引导程序很成功的到达目的地,失败意味着信息有误。


引导程序( windows boot loader )——A 段:根据 bcd 记载的 guid 信息——B 段:nvme 硬盘(承载了 guid 信息)


为了让启动成功,就应该让 bcd 里面记载的 A 段信息和硬盘的 B 段信息一致即可,那么应该有两种方案,要么修改 A 段信息,要么修改 B 段信息。或者同时修改。(引导修复,应该就是同步匹配 A 段信息和 B 段信息的操作)

按照您的解释,保存在 esp 内的 bsd 信息,应该由微软官方安装系统来定位写入。

-------------------------------------------以上是学习总结------------------------------------------

目前,我的系统通过我也搞不清楚怎么启动的 win10 安装程序实现了引导的修复

反正启动失败的原因,是因为“GUID 和 BCD 不匹配”,那么为什么会不匹配,我咨询了 gpt


在硬盘克隆过程中,GUID 和 BCD 不匹配可能有以下原因:

1. 分区信息:每个硬盘上的分区都有一个唯一的 GUID ,用于标识该分区。如果在克隆过程中未正确处理分区信息,例如复制了原始硬盘上的分区而没有更新其 GUID ,那么新硬盘上的分区将具有相同的 GUID ,这将导致冲突。

2. 引导配置数据:BCD 是 Windows 操作系统使用的引导配置数据库,其中包含引导 Windows 所需的设置和指令。在克隆过程中,BCD 可能需要进行相应的调整以适应新硬盘的环境。如果在克隆过程中未正确更新或修复 BCD ,则新硬盘上的引导配置将与原始硬盘不匹配。

3. 唯一硬件标识符( Unique Hardware Identifier ):Windows 操作系统会根据硬件配置生成唯一硬件标识符,用于识别计算机。如果克隆硬盘后,新硬盘与原始硬盘的硬件配置不完全相同,那么新硬盘上的唯一硬件标识符可能与 BCD 中的标识符不匹配,导致启动问题。

为了解决这些问题,您可以尝试以下解决方案:

1. 更新 GUID:使用适当的工具(如磁盘管理工具)更新新硬盘上的分区 GUID ,确保每个分区都具有唯一的标识符。

2. 修复 BCD:使用 Windows 安装媒体(例如安装光盘或 USB 驱动器)启动计算机,并选择修复选项,以重新构建和修复新硬盘上的 BCD 。

3. 检查硬件连接:确保新硬盘正确连接到计算机,并检查其他硬件设备的连接,如数据线和电源线。

如果您不确定如何执行上述操作,建议向计算机技术支持寻求进一步的帮助。他们可以指导您正确地更新 GUID 、修复 BCD ,并确保硬件连接正确。


----------------------------------------------以上是咨询 gpt 为什么会不匹配的解答-----------

但是依然困惑的是,谁动了我的 guid 呢?还是这个 guid 从开始就没克隆(从 p3 克隆到 p5 )过来?


( 1 )再生龙磁盘克隆是否可以完整精确继承 guid 信息?
那么我克隆,是利用再生龙的磁盘到磁盘,现在假设我操作没错,从 p2 到 p3 ,是否把全部信息都继承过来?包括了硬盘及所有分区的 guid 信息?如果是完全继承,是否可以认为 bcd 的指向应该是不会报错的。

( 2 )如果精确继承了 guid 信息,还有没有可能被修改?
如果假设前提成立,那么这个问题转化为,谁修改了我的 p5 的 guid 信息?

那么谁修改了呢?
a:主板 bios
B:引导系统
C:克隆软件
D:win10

本着不懂就问的习惯,我又咨询了 gpt ,答案是

通常情况下,使用再生龙( Clonezilla )等克隆工具克隆 NVMe 磁盘时,GUID (全局唯一标识符)不应该发生变化。GUID 是分区表中每个分区的唯一标识符,用于识别和管理分区。

如果在使用克隆工具进行操作时发生 GUID 变化,可能有以下几种可能的原因:

克隆工具的错误操作:在使用克隆工具时,可能发生了错误的操作或配置,导致 GUID 发生变化。这可能是由于选择了错误的选项或未正确处理分区信息。

不完全支持 NVMe:某些克隆工具可能对 NVMe 磁盘的兼容性不完整,导致在克隆过程中出现问题,包括 GUID 的变化。在选择克隆工具时,确保选择了已经广泛测试并支持 NVMe 设备的可靠工具。

克隆到不同型号的 NVMe 磁盘:如果您将 NVMe 磁盘从一个型号克隆到另一个型号,可能会导致 GUID 发生变化。不同型号的磁盘可能具有不同的硬件特性和标识符,因此克隆过程中的 GUID 可能会发生变化。

在使用克隆工具进行操作时,建议您仔细检查和确认所选的选项和配置,确保正确处理分区信息,并选择经过充分测试和支持 NVMe 设备的可靠工具。如果 GUID 发生了变化,您可能需要手动更新分区的 GUID ,以确保其正确识别和使用。

------------------------------------------------以上是 guid 可能发生变化的原因----------------

克隆操作,我复制了三次,从 p3 ( pcie3 ,qlc 颗粒)到 p5 ( tls 颗粒,pcie4 ,带 1g 缓存),确实型号不完全一样,通过 dp 查看其实有三个分区

第一次复制,前面两个分区成功了,第三个分区系统分区失败了,我不知道什么原因,重新挂载了 p3 登录 win10 后,检查系统错误,修复了一些

第二次克隆,三个分区都成功,速度大概是 26g/min ,系统大概在 90g 左右,win10 ,换 nvme 位置,p5 启动失败,不停重启

第三次克隆,一样,启动失败

发帖,早上尝试用另外一个硬盘启动,里面有 win10 安装程序,修复引导就成功了

测试发现读取数据,没有很大差别,4k 稍微增加了 5m 左右。
balduncle
2023-07-30 17:22:06 +08:00
@YGHMXFAL 那么问题应该是,明明我克隆的时候 guid 是一样,但是被修改了。

再生龙也提示,不能把两块磁盘同时插入系统,否则容易出现使用问题。

那么是否意味着,在生龙克隆后,应该直接关机,只能保留一个磁盘启动?

回答您的问题,我看到的 guid ,是启动失败后,我同时挂载两个 nvme ,一个主板系统盘,一个硬盘盒子


在我的印象里面,我是第三次克隆,是在再生龙克隆后,关机,然后只保留新的 p5 启动,依然失败。
balduncle
2023-07-30 17:25:09 +08:00
@YGHMXFAL 现在 100%是不一样的。

我说的一样,是当时克隆后,我不知道为什么错了,把原来的 p3 挂载回去,然后把 p5 挂在盒子上,用 DiskGenius 来查看的。
cnbatch
2023-07-30 18:43:06 +08:00
既然有 DiskGenius ,那就用 DiskGenius 做对拷,全盘复制按扇区克隆的那种

复制完成后,旧的 SSD 记得拔下来,物理上的拔掉,再从“新”的 SSD 直接启动
balduncle
2023-07-30 19:00:07 +08:00
@cnbatch DiskGenius 是热克隆,其实英睿达还有他自己官方的克隆软件。也是热克隆。第一次克隆成功了,后面不知怎么的还是报错了。
runliuv
2023-07-30 19:17:31 +08:00
GTP 的盘,要有 EFI 分区 ,WIN PE 里,挂载 EFI 分区,用修复工具修复下。再重启到 BIOS 里改引导 。
balduncle
2023-07-30 19:29:44 +08:00
现在我再测试下,我的 p3 作为保险盘,暂时不动。我现在用老办法,把 p5 的系统,重新克隆到 p2 的盘上面。(对的,我有三块英睿达,型号不一样。容量完全一样)

1.优盘启动再生龙,将 p5 克隆到 p2 系统上。完成后直接关机。
关闭电源。
2.用 p2 替换掉 p5 ,看是否能启动。除了系统盘,别的数据都没动。

3.启动电源。

4.问题重现。依然是蓝屏无法启动。

现在先不修复,关机。查看下这个 p2 里面的 guid 信息到底是如何的。
balduncle
2023-07-30 19:31:51 +08:00
@runliuv 分区应该是有的吧?有三个分区..

https://img1.imgtp.com/2023/07/30/OqwkXiyH.png

这张图里面显示了,虽然分区名字不全,但是是符合实际分区情况的。sda 里面有三个区。
balduncle
2023-07-30 19:58:55 +08:00
把 p5 换回来,p2 装到硬盘盒子里面,用 p5 启动,还报错了一次,再重启就可以了。

https://img1.imgtp.com/2023/07/30/zDPHFgwJ.jpg
报错得图

https://img1.imgtp.com/2023/07/30/tsu66QdH.jpg
p5 克隆到 p2 得最后一个分区在复制

https://img1.imgtp.com/2023/07/30/tsu66QdH.jpg
磁盘管理器里面,上面得是 p5 系统盘,下面得是 p2 克隆盘,系统提示冲突了,签名是一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960888

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX