如何从 1TB MBR 固态硬盘克隆到 4TB GPT 固态硬盘?

如何从 1TB MBR 固态硬盘克隆到 4TB GPT 固态硬盘?

我有一个带有 1TB 硬盘的树莓派。我设法把它填满,所以我购买了一个新的4TB硬盘来替换它。

然后,我使用名为“Macurim Reflect”的软件将以前的 1TB 固态硬盘及其所有数据克隆到新的 4TB 硬盘上。然后我运行以下 Linux 命令以使 pi 知道调整大小:

sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1

这很有效,但仅将系统大小调整为 2TB。然后我发现 2TB 是格式化为 的驱动器的限制MBR,并且GPT较大的驱动器需要格式化(请参阅无法在 AWS Ubuntu 上将分区扩展至超过 2TB

注意:除了上面的句子之外,我根本不知道 MBR 或 GPT 到底是什么意思

我想享受 4TB 驱动器的完整大小,但我不想丢失其上当前 1TB 的任何数据。

我尝试运行这个:

umbrel@umbrel:~ $ sudo gdisk /dev/sda1
[sudo] password for umbrel:
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): ?
b   back up GPT data to a file
c   change a partition's name
d   delete a partition
i   show detailed information on a partition
l   list known partition types
n   add a new partition
o   create a new empty GUID partition table (GPT)
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   sort partitions
t   change a partition's type code
v   verify disk
w   write table to disk and exit
x   extra functionality (experts only)
?   print this menu

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): ^C

然而,我对这个警告感到紧张THIS WILL OVERWRITE EXISTING PARTITIONS并终止了该进程。

我应该怎么办?我可以运行哪些具体命令来享受完整的 4TB 存储容量而不丢失任何内容?


编辑:fdisk -l /dev/sda输出:

umbrel@umbrel:~ $ sudo fdisk -l /dev/sda
[sudo] password for umbrel:
Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: 500SSD1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 627B1CC3-E53B-4D77-85C7-A111816F4628

Device     Start        End    Sectors Size Type
/dev/sda1   2048 4294967295 4294965248   2T Linux filesystem

答案1

1.) 将您的 4TB 磁盘添加到您的 Linux 中。我假设您的计算机上现在有两个硬盘。 /dev/sda 和 /dev/sdb

2.) fdisk /dev/sdb <= 这应该是你的 4TB 磁盘

3.) g 创建一个新的空GPT分区表

美好的。你现在有gpt磁盘了。但这只是Disklabe类型,这不是分区。您现在需要对磁盘进行分区。

在此输入图像描述

4.) n 添加一个新分区

5.) 按 Enter 键

在此输入图像描述

但这还不够。如果您以 BIOS 方式启动,您的操作系统会将 MBR 存储在旧磁盘的开头。这不适用于 GPT 磁盘。您应该将启动方式更改为 UEFI。但如果你改变启动方式就需要修改GRUB。

如果您决定保留 BIOS 启动,请按照以下说明操作:

有一个简单的方法可以保留 BIOS 启动方法。在 4TB 磁盘上创建一个大分区之前,先创建一个小分区。它应该大于 1MB。并将其类型更改为“BIOS 启动”。

如果您准备好,请为您的数据创建一个额外的分区。

现在你的电脑上应该有两个分区GPT 标记的磁盘

a.) 100MB BIOS 引导分区作为 4TB 磁盘上的第一个分区。

b.) 3999GB Linux 分区作为 4TB 磁盘上的第二个分区。

在此输入图像描述

6.) 如果您熟悉配置,请不要忘记按“w”。

这些只是分区。您至少需要在 Linux 分区上创建文件系统。

$ sudo mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2              isize=512    agcount=4, agsize=124607 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=498427, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.

而你还没有完成。因为新磁盘上的 BIOS 启动分区是空的。所以你需要修复它。

1.) 将整个旧磁盘数据复制到新磁盘

$ mkdir /mnt/4TB
$ cp -av /* /mnt/4TB

1.) 这是一个国际标准化组织

2.) 从该磁盘启动并按照说明进行操作。

如果一切顺利,您的 GRUB 将被修复,并且您将能够从新磁盘启动旧操作系统,而不会丢失数据。

相关内容