磁盘容量存储在哪里?

磁盘容量存储在哪里?

简而言之,如果我进行dd磁盘到磁盘(例如/dev/sda/dev/sdb,整个磁盘的容量是否也会被复制?

例如,如果sda实际上是 1TB 和sdb2TB,那么ddLinux 系统会将其视为sdb1TB 还是 2TB?

我假设磁盘容量记录在单独的 ROM 或小型非易失性存储器中,而不是记录在磁盘的任何扇区中。或者,物理磁盘的几个扇区可能始终被保留。

我想将旧的 1TB 硬盘上的系统迁移到新的 2TB 硬盘上,尽量减少麻烦。旧磁盘不会被使用。我想这样dd做。唯一不确定的是,如果我这样做dd并且磁盘容量的大小像分区表一样被复制,新的 2TB 磁盘将变成 1TB。我想在实际操作之前确认一下dd

我在 Google 上搜索没有结果,所以最后我决定在这里发布一个问题。

如果所有系统都是 Linux,我会考虑rsync分区到分区 & grub-install。但不幸的是,我有一个 Windows,但没有 Windows 安装 usb。我不确定如何在 之后重新安装和/或重新配置 Windows 引导加载程序rsync

答案1

硬盘的实际“物理”大小(即盘片/磁头)存储在内部 ROM 中,但用户无法访问。现代硬盘(和固态硬盘)公开了一种称为 LBA(逻辑块寻址)的抽象概念,它基本上告诉操作系统磁盘有多少个用户可寻址扇区。

dd只是读取直到 EOF(文件结尾),可以是磁盘结尾或分区结尾。将整个 1 TB 磁盘复制到 2 TB 磁盘,dd最终目标磁盘上最多会有 1 TB 的分区空间 - 即:原始 MBR/GPT 对末尾的额外空间一无所知。

想象一下将一个小盒子放在一个大盒子里:小盒子里的物体对可用的外部空间一无所知。同时,要使用 2 TB 磁盘提供的额外空间,您需要修改原始 MBR/GPT,创建其他分区或扩展最后一个分区。

cp当通过工具或以用户级别进行复制时rsync,您不需要这样做,因为您的 2 TB 磁盘(希望)已经分区以使用所有可用空间,并且文件系统大小相应。

相关内容