我有一个带有 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 将被修复,并且您将能够从新磁盘启动旧操作系统,而不会丢失数据。