有無方式可以完整復刻系統分區?

2021-10-21 15:53:02 +08:00
 viberconnection
需求描述:
自用工作筆記本原先的系統分區是在一個機械硬碟上的。由於後期需要性能升級,所以就想把它遷移到一塊 SSD 上。
但是因為軟體的關係,是無法通過重灌系統的方式得到與原來相似的使用方式的。因此就在想有沒有合適的方式,可以直接將系統分區復刻到 SSD 。(在提問之前也找過數款 windows 上的工具,它們要麼收費很貴,要麼就是根本達不到所需目的)

具體目的:
將系統分區原封不懂從一塊 500G 的機械硬碟遷移到另一塊同樣的大小的 SSD 。完成後可以直接打開使用。(不在乎操作複雜程度和所需時間)



真心請教各位,謝謝大家了。( po 主從事的行業是設計師啦 XD
1649 次点击
所在节点    Windows
15 条回复
wfhtqp
2021-10-21 16:01:12 +08:00
如果有 linux 或 macos 可以用 dd,或者尝试 ghost
HandSonic
2021-10-21 16:16:14 +08:00
微软自家的 FFU 可以备份,FFU(Full Flash Update) 格式是一种基于扇区的磁盘镜像文件格式,默认使用快速哈夫曼压缩( Xpress-Huffman )算法压缩,在捕获和部署时会生成哈希表进行校验,并可以使用 DISM 修改捕获的镜像。
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/deploy-windows-using-full-flash-update--ffu
HaydenYe
2021-10-21 16:22:27 +08:00
ssd ->ssd 试过 傲梅的工具,是免费的 到现在没出现问题
如果买的三星 ssd,记得可以用三星的软件
acess
2021-10-21 16:28:24 +08:00
感觉主要就是磁盘能不能正常挂载吧,否则会 7B 蓝屏( Win8 以后就是 INACCESSIBLE_BOOT_DEVICE )。

一是磁盘驱动得能正常加载;二是注册表 MountedDevices 里的盘符数据(相当于 linux 的 fstab 吧)得改对了。

解决办法,我首先想到的是先 sysprep /generalize,再用 U 盘启动 WinPE ( Windows 安装盘也可以,SHIFT+F10 就可以打开命令提示符),先 dism /capture-image 备份出一个 wim 镜像,然后 dism /apply-image 到 SSD 上,最后 bcdboot S:\Windows ( S 是 SSD 的盘符)重建引导(考虑到是要用 SSD 了,最好自己在 diskpart 里新建一个 EFI 系统分区、格式化成 FAT32,然后 bcdboot S:\Windows /s U:,这样来在 SSD 上也建立引导,其中 U 是 EFI 系统分区的盘符)

这样会重走一遍 OOBE (开箱向导,也就是引导你新建一个账户什么的),还会消耗 Windows 激活重置次数。

其次就是不用 sysprep /generalize,流程和上面类似,也是先要用 dism 把文件复制到 SSD 上(和直接复制不是一码事,各种 junction 、硬链接、安全信息等等还是 dism 才能完全搞定),然后 bcdboot 重建引导,最后用 osletter7.cmd 修改 C 盘(如果你的系统盘符不是 C 盘请对应修改)在注册表 MountedDevices 里的键值。
acess
2021-10-21 16:29:01 +08:00
啊,一是磁盘驱动得能正常加载;二是注册表 MountedDevices 里的盘符数据(相当于 linux 的 fstab 吧)得改对了;三是引导需要设置好,其实一共是三点……
wangyu17455
2021-10-21 16:31:41 +08:00
用 diskgenius 备份分区然后还原,再修一下引导就能无损迁移了
acess
2021-10-21 16:44:59 +08:00
再补充一下 osletter7.cmd 的用法:
比如,这个 Windows 之前一直认为自己被安装到 C 盘;这个时候注册表 MountedDevices 里记录的“C 盘”还是指向 HDD 上原来的那个分区,所以就需要修改。
然后,在 WinPE 下,比如,看到 SSD 上迁移过来的 Windows 所在分区被挂载到 S 盘。
那么就要把注册表里记录的“C 盘”改成指向 SSD 上的这个新分区,也就是 S 盘,命令就是:
osletter7.cmd /currentos:S /targetletter:C
06_taro
2021-10-21 16:49:15 +08:00
不想自己折腾的话,Macrium Reflect 免费版就行,源和目标盘大小不一样都可以
acess
2021-10-21 16:54:49 +08:00
(还有一点说明一下……osletter7.cmd 改完了,迁移后的系统启动后,并不会出现 C 盘变成 S 盘,C 盘还是 C 盘,只是原先挂载到 C 这个盘符的是 HDD 上的分区,改完了“C 盘”就变成了 SSD 上的新分区了)
viberconnection
2021-10-21 18:55:30 +08:00
@wfhtqp 謝謝指教。這的確最簡單。
muzuiget
2021-10-21 20:47:11 +08:00
找个 Linux LiveCD 用 dd 命令是最简单的了,前提是你这个硬盘上的系统引导时能知道换了硬盘而不挂掉。
xmlf
2021-10-21 20:51:21 +08:00
diskgen 专门有系统迁移功能
TomChaai
2021-10-21 21:25:45 +08:00
买三星 SSD,官方送软件实现这个功能
dengshen
2021-10-22 11:00:11 +08:00
盘对盘拷贝?
docx
2021-10-23 02:03:02 +08:00
pe 里面对拷
不行的话用 ghost 备份还原,经典

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

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

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

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

© 2021 V2EX