V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
升级到 Windows 11
viberconnection
V2EX  ›  Windows

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

  •  
  •   viberconnection · 39 天前 via Android · 980 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需求描述:
    自用工作筆記本原先的系統分區是在一個機械硬碟上的。由於後期需要性能升級,所以就想把它遷移到一塊 SSD 上。
    但是因為軟體的關係,是無法通過重灌系統的方式得到與原來相似的使用方式的。因此就在想有沒有合適的方式,可以直接將系統分區復刻到 SSD 。(在提問之前也找過數款 windows 上的工具,它們要麼收費很貴,要麼就是根本達不到所需目的)

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



    真心請教各位,謝謝大家了。( po 主從事的行業是設計師啦 XD
    第 1 条附言  ·  39 天前
    非常感謝各位的熱心指點。
    同時也爬了很多貼文之後,最終是通過 linux 下 dd 的方式解決的。事情已經在做了。具體方法是這樣的:

    1.製作一個 ubuntu 啟動隨身碟。
    2.將新的 SSD 格式化。
    3.將新的 SSD 裝入筆記本電腦二號 SATA 位。
    4.通過 bios 快捷指令鍵選定隨身碟啟動。
    5.啟動到隨身碟後,按下 ctrl+a/t+f3 進入終端介面。
    6.確保硬碟都在運轉後,切換到 root 用戶。當時直接輸入 su 就可以了。
    7.輸入 dd if=/dev/sda of=/dev/sdb conv=sync,noerror 等待執行完畢。
    8.輸入 shutdown -r now 關機,把舊磁碟拔掉,將新的 SSD 換到一號 SATA 位。
    9.調整一些 bios 的啟動設定,然後就能正常開機了。
    第 2 条附言  ·  38 天前
    ㄏㄏㄏㄏㄏ 一天過去了,運行良好。看來這種方式的確靠譜。(不過有限制硬碟容量需一致這樣子)
    15 条回复    2021-10-23 02:03:02 +08:00
    wfhtqp
        1
    wfhtqp   39 天前   ❤️ 1
    如果有 linux 或 macos 可以用 dd,或者尝试 ghost
    HandSonic
        2
    HandSonic   39 天前 via iPhone   ❤️ 1
    微软自家的 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
        3
    HaydenYe   39 天前
    ssd ->ssd 试过 傲梅的工具,是免费的 到现在没出现问题
    如果买的三星 ssd,记得可以用三星的软件
    acess
        4
    acess   39 天前
    感觉主要就是磁盘能不能正常挂载吧,否则会 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
        5
    acess   39 天前
    啊,一是磁盘驱动得能正常加载;二是注册表 MountedDevices 里的盘符数据(相当于 linux 的 fstab 吧)得改对了;三是引导需要设置好,其实一共是三点……
    wangyu17455
        6
    wangyu17455   39 天前
    用 diskgenius 备份分区然后还原,再修一下引导就能无损迁移了
    acess
        7
    acess   39 天前
    再补充一下 osletter7.cmd 的用法:
    比如,这个 Windows 之前一直认为自己被安装到 C 盘;这个时候注册表 MountedDevices 里记录的“C 盘”还是指向 HDD 上原来的那个分区,所以就需要修改。
    然后,在 WinPE 下,比如,看到 SSD 上迁移过来的 Windows 所在分区被挂载到 S 盘。
    那么就要把注册表里记录的“C 盘”改成指向 SSD 上的这个新分区,也就是 S 盘,命令就是:
    osletter7.cmd /currentos:S /targetletter:C
    06_taro
        8
    06_taro   39 天前 via Android   ❤️ 1
    不想自己折腾的话,Macrium Reflect 免费版就行,源和目标盘大小不一样都可以
    acess
        9
    acess   39 天前
    (还有一点说明一下……osletter7.cmd 改完了,迁移后的系统启动后,并不会出现 C 盘变成 S 盘,C 盘还是 C 盘,只是原先挂载到 C 这个盘符的是 HDD 上的分区,改完了“C 盘”就变成了 SSD 上的新分区了)
    viberconnection
        10
    viberconnection   39 天前 via Android
    @wfhtqp 謝謝指教。這的確最簡單。
    muzuiget
        11
    muzuiget   39 天前
    找个 Linux LiveCD 用 dd 命令是最简单的了,前提是你这个硬盘上的系统引导时能知道换了硬盘而不挂掉。
    xmlf
        12
    xmlf   39 天前 via Android
    diskgen 专门有系统迁移功能
    TomChaai
        13
    TomChaai   39 天前
    买三星 SSD,官方送软件实现这个功能
    dengshen
        14
    dengshen   39 天前 via iPhone
    盘对盘拷贝?
    dzyou2007
        15
    dzyou2007   38 天前 via Android
    pe 里面对拷
    不行的话用 ghost 备份还原,经典
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4026 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:20 · PVG 11:20 · LAX 19:20 · JFK 22:20
    ♥ Do have faith in what you're doing.