我有一个 320GB 的硬盘连接到一台 Debian 机器上,还有一个新的 2TB 驱动器,这将是较小驱动器的升级。
我刚刚尝试使用以下命令将较小的驱动器克隆到较大的驱动器:
sudo dd if=/dev/disk5 of=/dev/disk2 bs=4096 conv=sync,noerror
然而,这导致 2TB 驱动器显示为 320GB。
当我运行时(当我从 mac 进行克隆,然后将驱动器插入 debian 机器时,sda 编号已更改):
sudo fdisk -u /dev/sda1
我得到以下输出,显示 2TB 驱动器已缩小为较小的驱动器尺寸。
Disk /dev/sda1: 298.1 GiB, 320071884800 bytes, 625140400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5094580b`
如何扩展驱动器以显示其全部容量,最好不必dd
再次扩展,因为这需要很长时间?
我试过了:
sudo resize2fs /dev/sda1
但这没有任何作用。它给出以下输出:
The filesystem is already 78142550 (4k) blocks long. Nothing to do!
更新:
如果我运行:
sudo fdisk -l
我得到以下信息:
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x54bd406a
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 625142447 625140400 298.1G 83 Linux
答案1
dd
不知道什么是文件系统或什么是分区。您的问题是 resize2fs 只会调整文件系统的大小而不是分区的大小。我建议使用partclone
而不是,dd
但由于您已经复制了整个磁盘,因此您只需重新创建分区。
确认这/dev/sda
是正确的磁盘。我喜欢使用/dev/disk/by-id/
或/dev/disk/by-label/
sudo fdisk /dev/sda
O
大写的O!然后另存为backup.mbr
o
创建一个新的 DOS 表
p
确认扇区大小为512,单位为扇区。
n
创建一个新分区。确认第一个扇区位于 2048,这是分区之前开始的位置。
但这一次让最后一个扇区到磁盘的末尾。
它已经默认为 Linux 文件系统,但如果您需要这样做,它t
和代码20
。
p
确认分区表是你想要的样子。
w
将这些更改写入磁盘。
我建议也运行partprobe
终于跑了resize2fs /dev/sda1
答案2
我已使用 将较小的磁盘克隆到较大的磁盘dd
,然后扩展(使用gparted
)分区以填充较大目标磁盘上的剩余空间。
答案3
在您的 Mac 上,它似乎/dev/disk2
实际上是新磁盘上的一个分区,而不是磁盘本身。结果是您已将旧磁盘克隆到新磁盘上的分区。所以磁盘仍然是 2TB,但它的第一个分区(/dev/sda1
在基于 Linux 的系统上)是 300GB 的克隆。
您需要将磁盘复制到磁盘,而不是磁盘到分区。我无法轻松访问 Mac,因此无法建议您如何找到合适的磁盘设备名称。
在基于 Linux 的系统上,您将查找/dev/sdX
(whereX
是字母) 而不是/dev/sdXN
(whereX
是字母且N
是数字)。
cat /dev/sda >/dev/sdb # This will clone disk sda to disk sdb