本教程将介绍如何使用包含Clonezilla实用程序的Linux发行版从具有多个分区(例如C:
D:
多个分区的大型HDD迁移(也称为克隆)Windows 10操作系统到较小的SSD。
Clonezilla实用程序可以从PartedMagic Linux分发CD ISO映像运行,也可以直接从Clonezilla Linux分发CD ISO映像运行。
本指南假定两个磁盘(旧硬盘和SSD)同时被物理插入到您的计算机中,Windows操作系统安装在具有MBR分区方案表的磁盘上。 Fdisk命令行实用程序应显示为DOS的disklabel类型。
另请阅读 : 8开放源码磁盘克隆和备份解决方案为Linux
如果从UEFI分区MBR布局中的磁盘,则应克隆所有分区,例如Windows RE分区,EFI系统分区,Microsoft保留分区和保存Windows操作系统分区(通常为C:
驱动器)的Microsoft基本数据分区。 在这种情况下,Fdisk命令行实用程序应将disklabel类型报告为GPT 。
在下面的屏幕截图中,您可以查看初始Windows分区方案,以便从UEFI执行MBR布局样式和GPT分区布局。
磁盘管理的MBR分区布局
检查MBR分区布局
从磁盘管理的GPT分区布局
检查MBR分区布局
第1步:收缩C:Windows系统分区
请注意,在Windows的Windows C:
分区大于SSD的总大小的情况下,您将需要减小其尺寸以适应SSD。
这个步骤的计算很简单:
系统保留+恢复+ EFI分区+ Windows C:分区必须小于或等于由诸如fdisk的实用程序报告的SSD的总大小。
1.要从Windows收缩C:
分区,首先打开命令提示符窗口并执行diskmgmt.msc以打开Windows磁盘管理实用程序,该实用程序将用于缩小卷(假设Windows安装在磁盘的开头第二个分区,在系统保留分区之后,并分配了C:
字母),以便将其大小减小到最小。
收缩C分区
随意使用其他分区工具进行此步骤,例如从Live Linux ISO运行的Gparted ,将C:
驱动器大小减少到最小。
2.减小C:
分区的大小后,将SSD驱动器插入机器主板,然后将机器重新启动到Clonezilla工具(使用Clonezilla ISO映像或<arel =“nofollow”href =“https:// partedmagic”。 com / downloads /“target =”_ blank“> Parted Magic ISO),进入Bash shell界面,使用以下命令检查磁盘分区表和大小。
# fdisk -l /dev/sda # fdisk -l /dev/sdb
检查分区表大小
请注意,您的驱动器名称将是第一个磁盘的sda
,第二个磁盘的sdb
等等。 选择磁盘最大程度的关注,所以您不会最终克隆错误的设备并销毁所有数据。
要匹配正确的磁盘源(在这种情况下为HDD)和磁盘目标目标(SSD),请使用fdisk命令报告的大小和分区表。 Fdisk输出将显示SSD的大小应小于HDD磁盘,并且默认情况下不应创建分区表。
在GPT磁盘的情况下,HDD分区表的外观如下图所示。
$ su - # fdisk -l /dev/sda # fdisk -l /dev/sdb
检查分区磁盘标签
第2步:使用Clonezilla克隆磁盘
3.接下来,使用以下命令之一,将HDD(第一级引导加载程序+分区表)从HDD克隆到SSD目标磁盘(假设sda
表示安装Windows操作系统的驱动器, sdb
为SSD磁盘)。
# dd if=/dev/sda of=/dev/sdb bs=512 count=1 or # sfdisk -d /dev/sda | sfdisk -f /dev/sdb
克隆盘克隆
在GPT分区样式的情况下,您应该克隆前2048个字节:
# dd if=/dev/sda of=/dev/sdb bs=2048 count=1
或使用sgdisk实用程序。 请注意,如果将分区表从sda
复制到sdb
,则在使用sgdisk时,应该将磁盘顺序倒置。
# sgdisk -R /dev/sdb /dev/sda
克隆MBR / GPT后,再次使用-l
标志运行fdisk命令,以验证两个磁盘上的分区表是否匹配。
# fdisk -l /dev/sda # fdisk -l /dev/sdb
验证分区表
现在两个驱动器都应该有精确的分区表。 目标磁盘上现在删除Windows分区之后的所有分区,以便从一个干净的分区表开始,这些条目只适用于系统预留和Windows。
您不会从旧驱动器从D:
或Windows之后的其他分区)克隆数据。 你基本上只是从旧硬盘中克隆前两个分区。 之后,您将使用剩余的未分配空间通过将所有未使用的空间从SSD扩展到C:
分区。
如下所述使用fdisk实用程序来删除分区。 首先对您的SSD目标驱动器( /dev/sdb
这种情况)运行命令,使用p
键打印分区表,按d
键启动删除分区,并从提示符(在本例中为第三个分区)中选择最后一个分区号作为如下图所示。
# fdisk /dev/sdb
删除分区表
如果您的驱动器在Windows分区后面有多个分区,请确保删除所有分区。 完成删除所有不需要的分区后,再次按p
键打印分区表,如果目前仅列出了两个所需的Windows分区,则可以安全地点击w
键以应用所有更改。
确认分区更改
删除最后一个分区的过程同样适用于GPT磁盘,提到您应该使用直观的cgdisk实用程序来处理磁盘布局。
不要担心在GPT磁盘末尾破坏备份的分区表, cgdisk将对两个分区表进行适当的更改,并将自动将磁盘结束表保存在磁盘的末尾。
# cgdisk /dev/sdb
删除GPT分区
最后的GPT磁盘报告与最后的4,9 GB分区删除。
验证GPT分区表
现在,如果一切都到位,启动Clonezilla工具,选择设备设备模式,从初学者向导运行并选择part-to-local_part克隆选项。
使用下面的屏幕截图指南。
选择Clonezilla设备模式
选择Clonezilla初学者模式
选择Clonezilla本地分区克隆
6.从列表中选择第一个本地分区( sda1
- 系统保留)作为源,然后按Enter键继续。
选择分区以克隆
7.接下来,选择本地目标分区,它将是第二个磁盘( /dev/sdb1
)中的第一个分区,然后按Enter键继续。
选择本地目标分区
8.在下一个屏幕上,选择跳过检查/修复文件系统 ,然后再次按Enter键继续。
跳过检查修复文件系统
9.最后再次按Enter键继续,并回答yes (y)
两次接受警告并开始克隆过程。
确认分区更改
开始克隆分区
10.第一个分区的克隆过程完成后,选择进入命令行提示符,运行clonezilla并对下一个分区重复相同的步骤(源sda2
- 目标sdb2等)。
克隆第二分区
11.在所有Windows分区被克隆之后, 重新启动系统并实际拔下HDD驱动器,或者更好地篡改BIOS设置,以便将SSD设置为主引导驱动器而不是旧的HDD。
第3步:调整Windows分区大小
12.您可以运行Gparted实用程序来检查分区的完整性,并从Linux扩展Windows分区,或者您可以启动到Windows,并使用磁盘管理实用程序来完成此任务。 下面的屏幕截图说明了如何使用这两个实用程序。
使用Gparted Live CD扩展分区
使用GParted调整分区大小
调整分区大小
从Windows直接使用Windows磁盘管理实用程序扩展分区。
扩展Windows分区
选择要扩展的磁盘
就这样! C:
分区现在扩展到SSD的最大尺寸,Windows现在可以以全新的SSD的最大速度运行。 旧的HDD具有完整的数据。
再次连接硬盘,以便将其从主板上实际删除。 您可以从旧的HDD中删除系统保留的分区和Windows分区,并创建一个新的分区,而不是这两个。 其他旧分区( D:
, E:
等)将保持不变。
结论
使用Clonezilla,您还可以选择映像分区并将其保存到外部HDD或网络位置。 在这种情况下,您还必须使用以下命令之一备份HDD MBR / GPT,并将MBR映像保存到保存cloneBilla映像的同一目录。
MBR备份到文件:
# dd if=/dev/sda of=/path/to/MBR.img bs=512 count=1 or # sfdisk -d /dev/sda > =/path/to/sda.MBR.txt
GPT备份到文件:
# dd if=/dev/sda of=/path/to/GPT.img bs=2048 count=1 or # sgdisk --backup=/path/to/sda.MBR.txt /dev/sda
为了将来从网络位置恢复Windows系统,首先使用以下命令之一从上述保存的映像中还原MBR扇区,然后继续逐个恢复每个clonezilla分区映像。
MBR图像从文件恢复:
# dd if=/path/to/MBR.img of=/dev/sda bs=512 count=1 or # sfdisk /dev/sda < =/path/to/sda.MBR.txt
从文件恢复GPT图像:
# dd if=/path/to/GPT.img of=/dev/sda bs=2048 count=1 # sgdisk - -load-backup=/path/to/sda.MBR.txt /dev/sda
另请参阅 : 如何使用Clonezilla克隆或备份Linux磁盘
这种方法已经在BIOS主板以及从旧版模式(CSM)安装的Windows或直接来自UEFI的UEFI机器上多次使用,没有任何错误或数据丢失。