1 GiB = 1024 * 1024 * 1024 字节
1 GB = 1000 * 1000 * 1000 字节
这很简单!我不想谈论这个!
我有一台笔记本电脑,根据卖家的说法,它应该有 1000 GB。也就是 1000 000 000 000 字节。根据 fdisk,它的容量甚至更大 - 正好是 1000204886016 字节。
这比它应该有的容量大约多了 0.2 GB!?
我到现在还不介意。
我正在进行一些重新安装和移动分区而不进行格式化,我想在做可能危险的事情之前备份整个驱动器,包括引导加载程序和所有内容。我想使用以下命令逐个扇区地复制它:
dd if=/dev/sda of=/dev/sdb
现在我想买一个硬盘。我不想花更多的钱买比我需要的更大的硬盘。所以再买一个 1000GB 的硬盘就够了吗?
大小是否相同?如果是,为什么 1000GB 磁盘的容量正好是这个数。相反,有没有办法在购买之前确定磁盘是否足够大?
答案1
根据“安全第一”的原则,您最好购买比所需更大的磁盘;毕竟,一旦做完危险的事情,您总是可以重新铺设它并将其用于其他用途。
话虽如此,如果您真的不能这样做,我建议您购买与您要更换的磁盘相同型号的另一个磁盘,因为给定的“1TB”磁盘可以容纳多少字节很可能是制造商和型号特定的。 否则,您需要能够在未来的备份磁盘上运行 fdisk,或者找到其他人这样做的结果,以便确切知道它可以容纳多少字节。
答案2
并非所有具有相同状态容量的硬盘在大小方面都相同,尽管我的经验告诉我,大多数硬盘适用于较新的硬盘。(为了缓解几何问题,我总是习惯于将交换文件放在驱动器的末尾并重新创建它 - 要么大一点,要么小一点,这样如果它在 DD 期间损坏了也没关系。我有一段时间不需要这样做了,最后 2 个 [不同年龄、不同型号的 1 TB WD 硬盘具有相同的几何形状] )
为什么不使用 dd 进行备份,而是写入一个大文件(例如 dd if=/dev/zero of=tmpfile.del bs=4096 count=X),然后在执行 tar -czf /new/drive/backup.tgz 之前将其删除 - 然后压缩驱动器并适应?(创建零字节文件并删除它将确保空间实际上是可压缩的,无论之前有什么,使用 tar 实际上可以比 dd 更快,因为它写入的数据更少 - 这通常比压缩更慢,但 YMMV)
答案3
如果硬盘还没满,你可以这样做
gzip </dev/sda >/dev/sdb
但正如 davidgo 所建议的,如果您删除了大量文件,则在空白处写入一个巨大的零填充文件可能会提高压缩率。文件系统通常只删除文件的 inode,并将其内容保留在驱动器上,直到需要用另一个文件覆盖它。
如果文件系统支持,您还可以尝试缩小位于驱动器末尾的分区,缩小 205 MB 或任何差值。这样您就不必复制这些额外的空间。您可以查看最后 205 MB,看看是否有任何有意义的内容,或者它是否(大部分)都填充了零,在这种情况下,调整分区大小应该相当安全。
tail -c 205MB </dev/sda | hd
如果它不为空,这将产生大量的输出。
答案4
您基本的问题是确切的容量未定义。
如果驱动器的容量少于 1,000,000,000,000 字节,则卖家不诚实,但除此之外,他们不作任何承诺。不同的内部设计会产生不同的值。如果他们更改驱动器上的备用扇区数量,您甚至可以从相同的硬件中获得不同的容量。