[toc]
本文针对以机械硬盘作为系统盘,将系统数据全量迁移到固态硬盘的情况。当然也适用与其他多磁盘间系统迁移过程。不同于适用Ghost,本文以手动迁移为主。貌似目前Ghost也不能很好的解决GPT分区下的系统迁移。

准备工作

软件:diskpart、explorer++Rufus、WinPE

硬件:硬盘(含有原始的系统分区,为待拷贝硬盘)、硬盘(新购的纯净硬盘,为目的硬盘)

GPT分区说明

不同于以往的MBR分区格式,GPT格式已经是目前的主流分区格式,目前只要是5系以后的CPU,默认支持的硬盘格式就是GPT,GPT在种种属性上,都超越了MBR分区。其大部分目的还是用于安全控制(个人看来)。

以120GB固态硬盘的分区结构为例,GPT模式下包含了以下四个分区。但是在电脑中显示的分区只有一个,那就是类型为“主要”的C盘。

  分区 ###       类型              大小     偏移量
  -------------  ----------------  -------  -------
  分区      1    恢复                 499 MB  1024 KB
  分区      2    系统                 100 MB   500 MB
  分区      3    保留                  16 MB   600 MB
  分区      4    主要                 111 GB   616 MB

以下是这4个分区的详细情况,值得注意的是,分区的类型是分区信息中的关键。如果需要保证目的硬盘的格式与源硬盘格式一致,分区类型必须也要设置一致,分区类型决定了逻辑磁盘的分区格式,例如FAT32、NTFS等等。

分区 1
类型  : de94bba4-06d1-4d40-a16a-bfd50179d6ac
隐藏  : 否
必需  : 是
属性  : 0X8000000000000001
字节偏移: 1048576

  卷 ###      LTR  标签         FS     类型        大小     状态       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* 卷     6         恢复           NTFS   磁盘分区         499 MB  正常         已隐藏
分区 2
类型  : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
隐藏  : 是
必需  : 否
属性  : 0X8000000000000000
字节偏移: 524288000

  卷 ###      LTR  标签         FS     类型        大小     状态       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* 卷     3                      FAT32  磁盘分区         100 MB  正常         系统
分区 3
类型  : e3c9e316-0b5c-4db8-817d-f92df00215ae
隐藏  : 是
必需  : 否
属性  : 0X8000000000000000
字节偏移: 629145600

没有跟这个分区相关联的卷。
分区 4
类型  : ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
隐藏  : 否
必需  : 否
属性  : 0000000000000000
字节偏移: 645922816

  卷 ###      LTR  标签         FS     类型        大小     状态       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* 卷     2     C                NTFS   磁盘分区         111 GB  正常         启动

使用Explorer++备份EFI

CMD中运行如下命令:

# 使用diskpart
diskpart
# 列出所有的磁盘
list disk
# 选择源磁盘,[num]为源磁盘的在list disk命令中所显示的编码
sel disk [num]
# 列出选择磁盘中所有的分区
list part
# 选择EFI所在的分区,[num]为EFI所在分区的在list part命令中所显示的编码
sel part [num]
# 为所选分区分配盘符R
assign letter=R

右键打开以管理员身份运行Explorer++

选择本地磁盘R,双击打开。

选择EFI文件夹复制,粘贴到指定的备份文件夹中。

EFI备份到此结束。

使用Rufus刻录WinPE

1处为WinPE需要写入的USB设备;2处为WinPE镜像文件;3处为分区类型,保持GPT不变;4为开始任务。

WinPE下进行全量迁移

将两块硬盘通电,连接电脑。在目的硬盘上创建磁盘分区,并完成EFI分区的迁移。

打开CMD,输入以下命令:

diskpart
# 列出所有磁盘
LIST DISK
# 选择目的磁盘
SEL DISK [num]
# 创建系统恢复分区,大小为500M,执行快速格式化,删除磁盘盘符
CREATE PARTITION PRIMARY SIZE=500 ID=de94bba4-06d1-4d40-a16a-bfd50179d6ac
FORMAT QUICK OVERRIDE
REMOVE
# 创建系统EFI分区,大小为100M,执行快速格式化,删除磁盘盘符
CREATE PARTITION PRIMARY SIZE=100 ID=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
FORMAT QUICK OVERRIDE
REMOVE
# 创建系统保留分区,大小为16M,执行快速格式化,删除磁盘盘符
CREATE PARTITION PRIMARY SIZE=16 ID=e3c9e316-0b5c-4db8-817d-f92df00215ae
FORMAT QUICK OVERRIDE
REMOVE
# 创建系统分区,大小为剩余磁盘的全部,执行快速格式化
CREATE PARTITION PRIMARY ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
FORMAT QUICK OVERRIDE
# 查看创建的磁盘分区
LIST PART
# 选择EFI将要存放的分区
SLE PART [num]
# 分配磁盘盘符,并使用Exlorer++重复备份EFI的步骤,将EFI文件夹拷贝到该文件夹下
ASSIGN LETTER=R
# 删除磁盘盘符
REMOVE

将源磁盘中的系统文件拷贝到目的磁盘,等待拷贝完成即可完成迁移工作。