将Ubuntu系统迁移到新的磁盘

目前ubuntu系统运行在128G的SSD中,刚好最近又有一块256G的闲置SSD。后来就干脆打算把Ubuntu系统迁移到更大的磁盘中。刚开始的想法就是在新的磁盘中重装系统,后来一想,装好之后又要进行一大堆的设置,得费半天的功夫。就琢磨这有没有更加方便省事的办法。

克隆整个硬盘

当然最先开始想到的方法就是克隆整个硬盘,克隆硬盘的工具也是一大堆,本着不折腾的原则。选择最简单的: dd

具体步骤如下:

列出磁盘(diskutil

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ diskutil list
...
/dev/disk4 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *128.0 GB disk4
1: Microsoft Basic Data ⁨⁩ 651.3 KB disk4s1
2: Bios Boot Partition ⁨⁩ 1.0 MB disk4s2
3: EFI ⁨usbboot⁩ 255.9 MB disk4s3
4: Linux Filesystem ⁨⁩ 2.8 GB disk4s4
5: Linux Filesystem ⁨⁩ 125.0 GB disk4s5

/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *240.1 GB disk5
1: Microsoft Basic Data ⁨⁩ 651.3 KB disk5s1
2: Bios Boot Partition ⁨⁩ 1.0 MB disk5s2
3: EFI ⁨usbboot⁩ 255.9 MB disk5s3
4: Linux Filesystem ⁨⁩ 2.8 GB disk5s4
5: Linux Filesystem ⁨⁩ 125.0 GB disk5s5

disk4就是我目前的系统盘128G,disk5是新的磁盘256G,我要把disk4的内容原封不动复制到disk5中去。

使用 dd 进行克隆

1
$ sudo dd if=/dev/rdisk4 of=/dev/rdisk5 bs=128m conv=noerror,sync

在期间可以通过按 CTL+T 来获取进度

1
2
3
4
>932+0 records in
>931+0 records out
>124956704768 bytes transferred in 1001.749198 secs (124738512 bytes/sec)
>load: 4.10 cmd: dd 68241 uninterruptible 7.02u 16.56s

克隆结束!将新的磁盘装入计算机,开机,还是原来熟悉的画面。

使用未分配的空间

由于我们将小的磁盘克隆的到大的磁盘中,所以结束之后,在大的磁盘中会剩余一些未分配空间出来。以我这次的情况为例,大概有128G的未分配空间。可以直接使用 GParted 软件将未分配空间创建为新的磁盘或者并入原来的分区。