由于此教程难度系数较高,并且涉及分区表、数据分区的处理,不当的操作会导致您的系统无法启动,甚至数据丢失。为安全起见,请先确认您是否符合操作需求。

适用范围

  • 需要替换系统盘
  • 笔记本的SSD替换
  • 需要保持分区表特征进行分区复制

基本操作需求

  • 源盘系统为Windows10 (其他过时的Windows系统暂未测试)
  • 至少掌握基础 Linux 命令
  • 了解基础硬盘分区原理
  • 了解分区表原理
  • 熟悉基本主机硬件的拆装

准备

  • 具有良好IOPS性能的U盘
  • Rufus
  • Clonezilla
  • 备份用存储设备 (适用于只可使用单存储设备接口的主板 ,可选)

我们开始吧

请根据顺序,逐步进行理解,再进行操作。

减少系统盘的占用

Windows 操作系统通常放置于C盘,称之为 “系统盘”。但其内也包含例如 “我的文档”、“下载” 等一些库文件夹,作为系统一些应用的默认存储路径,会占用大量的系统盘存储空间。在分区克隆时较大的占用会花费很多传输时间。所以,建议先进行磁盘清理。将不必要的文件从系统盘删除。释放空间,让后续的传输快一些。最后也可以将分区卷进行压缩。

利用Rufus制作Clonezilla的启动盘

  1. 插入准备的U盘,打开Rufus
  2. 选择刚刚插入的U盘设备
  3. 选择镜像文件
  4. 开始写入U盘

若U盘中存在数据,请在写入前备份。

启动Clonezilla

  1. 插入刚才制作的U盘启动盘
  2. 在BIOS设置启动顺序 (将U盘设置为优先级第一,有些BIOS可以在启动时按F8选择启动设备)
  3. 重启 (顺利的话会进入刚才写入的镜像系统)

进入Clonezilla命令行环境

Clonezilla是基于debian,由台湾的国家高速网络与计算中心所开发,以GNU通用公共许可协议发布。选择语言后进入命令行模式。

使用根用户权限进行操作

方便后续的命令操作,可提前登录根用户操作。否则,在后续的操作中,您可以要在每次的命令之前,加上sudo前缀。当然,使用根用户操作也是十分危险的行为,若您不确定或不熟悉具体操作,请不要使用根用户进行操作。

复制分区表

这里假设系统分区位于 sda ,目标盘为 sdb ,请根据实际情况操作,错误的操作可能会导致您的所有数据丢失。

查看分区表类型

fdisk -l /dev/sda

关注输出信息中的 Disklabel type 以进行后续操作。

MBR

MBR分区表为前512bytes作为分区表存储位置。

使用以下命令复制分区表数据。

# dd if=/dev/sda of=/dev/sdb bs=512 count=1
or
# sfdisk -d /dev/sda | sfdisk -f /dev/sdbCode language: PHP (php)

GPT

GPT分区表为前2048bytes作为分区表存储位置。

# dd if=/dev/sda of=/dev/sdb bs=2048 count=1
or
# sgdisk -R /dev/sdb /dev/sdaCode language: PHP (php)

需要注意,若您使用 sgdisk 命令进行操作,请务必注意存储设备的顺序。目的盘在前,系统盘在后。

写入分区表出现错误

以上复制分区表的操作,均是假设您的目的盘sectors比源盘大。若您的目的盘sectors比源盘小,您不应使用以上操作。需要重新按照源盘分区表数据分区,调整sectors大小。具体操作流程将在后续博文中出现,请您关注后续本博客的更新。

删除不必要的分区(可选)

若您的源盘只包含了Windows系统,您可以跳过本区块。

若您的源盘包含了Windows系统及其他数据分区,您有将其他数据分区分离到其他盘上的需求,或您的目的盘sectors比源盘小,您都可以执行本区快的操作。

这里假设您已经完成了分区表的复制。

列出分区表中的分区。

fdisk -l /dev/sdb

选中不需要的分区,删除即可。

假设您不需要的数据分区为sdb4,则执行以下命令。

fdisk /dev/sdb
d
4
w

开始分区复制

完成上述操作后,您可以安全的进行分区复制了。

在命令环境下输入以下指令退出。

exitCode language: PHP (php)
  • 退出后,会跳出选择界面。
  • 选择再来一次。
  1. 在选择中选择 “再生龙”。
  2. 二级选择 device to device 模式
  3. 三级选择 新手 模式
  4. 四级选择 part_to_local_part 模式
  5. 五级选择源盘分区 (如sda1)
  6. 六级选择目的盘对应分区 (源盘分区选择为sda1,目的分区则为sdb1)
  7. 可选手动、自动修复源分区问题或跳过。
  8. 后续输入两次 y 确认操作
  9. 选择操作结束后的操作为 “选择”

重复上述有序列表中的操作,直到复制完所有分区。

若您删除了目的盘分区表中的数据分区,请注意不要复制源盘中的数据分区。

全部完成

完成上述操作,在没有出现任何错误提示的情况下,您可在最后一次的操作结束选择中或在命令行中关机。

由于复制分区表会保持原有的分区表特征,EFI启动会正确找到原启动分区,不需要进行引导文件的修复操作。若您是“目的盘sectors不够,根据原分区表重新分区”的情况,由于分区表特征改变,您应先修复引导文件,否则您的系统可能会无法启动。具体修复引导文件的教程将在后续博文中出现,敬请关注。

此时,您可将源盘拔出,尝试开机。

若您不将源盘拔出,您的系统可能无法从目的盘中启动,而会导致其为脱机模式。

结束

祝大家能够成功启动迁移后的系统。

本文为博主“Starx”的原创博文,根据“https://www.tecmint.com/migrate-windows-10-from-hdd-to-ssd-using-clonezilla/”的教程进行了修改,及二次创作。未经允许不得转载。


0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据