Gparted
这是一个功能强大的分区工具,支持图形界面调整。
我使用了一个system rescue的启动盘,镜像可以在官网下载并烧写进U盘。
- 将u盘和新硬盘连接到要备份的电脑
- 从u盘启动,进入system rescue
startx
可以启动图形界面,打开Gparted- 右键copy分区,paste到新硬盘中,然后就搞定了
- 重启电脑测试新硬盘,(迅速拔掉U盘,因为如果遇到grub修复的话拔u盘会导致grub rescue命令行卡死},选择新硬盘启动即可。
Linux
Grub Rescue
由于我的新硬盘有一个分区,所以我拷贝的时候和原硬盘不完全一致,启动的时候会进入Grub rescue命令行,需要重新设置grub。
我按照这里重写了grub的配置。
Windows
Windows拷贝完后,直接是无法启动的,需要使用一个pe或者系统安装盘启动,进入命令行界面,使用bcdedit
工具修复引导项。
如果直接输入bcdedit
,此时会显示当前引导项信息,(bootmgr和default两个条目)对于刚拷贝完的新硬盘,引导项里面会有很多个unknown
,此时需要把这些unknown
设置为新硬盘的分区。microsoft官方提供了一些指导。
default设置
通常device
和osdevice
是unknown,如果新分区的卷标是C(卷标也可能是其它的字母,需要从diskpart里面可以查询到)
bcdedit /set {default} device "partition=C:"
bcdedit /set {default} osdevice "partition=C:"
当然你如果感兴趣的话,也可以改os description为其它名称,这样在恢复界面系统名称也会更改。
bootmgr设置
首先需要知道你拷贝的EFI
分区是哪一个,可以使用diskpart
工具检查
> diskpart
> list volume
一般EFI分区是一个100MB大小的FAT32分区,比如volume
编号是 x
(需要对应找一下),在diskpart中没有分配盘符,这个时候先手动指定一个盘符S
select volume x
assign letter="S"
之后设置bootmgr的device从unkown变成S
bcdedit /set {bootmgr} device "partition=S:"
修复了bcd引导项后,便可以重启电脑,然后从新硬盘启动。