web-dev-qa-db-ja.com

1000GB HDDの正確な容量はどれくらいですか?

1 GiB = 1024 * 1024 * 1024バイト

1 GB = 1000 * 1000 * 1000バイト

それは簡単だ!これについては話したくない!

私は(売り手によると)1000GBのラップトップを持っています。つまり、1000 000 000000バイトです。 fdiskによると、容量はさらにわずかに大きく、正確に1000204886016バイトです。

これは、本来あるべきよりも約0.2 GB多いです!?

今まで気にしませんでした。

私はいくつかの再インストールとフォーマットせずにパーティションを移動する前にいます、そして私はおそらく危険なことをする前にブートローダーとすべてを含むドライブ全体をバックアップしたいと思います。次のようなコマンドを使用して、セクターごとにコピーしたいと思います。

dd if=/dev/sda of=/dev/sdb

今、ハードディスクを購入したいと思います。必要以上に大きなディスクを購入して、より多くのお金を使いたくありません。では、1000GBのHDDをもう1台購入するだけで十分ですか?

同じサイズになりますか?もしそうなら、なぜ1000GBディスクはまさに​​この容量を持っているのですか?反対の場合、購入する前にディスクが十分に大きいかどうかを確認する方法はありますか?

2
Robo

「申し訳ないより安全である」という原則の下では、必要以上に大きなディスクを購入したほうがよいでしょう。結局のところ、危険なことをし終わったら、いつでもそれを再舗装して他の何かに使用することができます。

とはいえ、本当にそうできない場合は、交換するディスクと同じモデルの別のディスクを購入することをお勧めします。これは、特定の「1TB」ディスクが保持できる正確なバイト数が非常に高い可能性があるためです。メーカーおよびモデル固有。それができない場合は、保持できるバイト数を正確に知るために、将来のバックアップディスクでfdiskを実行できるか、他の誰かが実行した結果を見つける必要があります。

8
Aaron Miller

同じ状態容量のすべてのハードドライブが同じサイズであるとは限りませんが、私の経験では、ほとんどが新しいドライブ用であることがわかります。 (ジオメトリの問題を軽減するために、私は常にドライブの最後にあるスワップファイルを見つけて再作成していました。少し大きいか小さいので、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)

4
davidgo

私は(売り手によると)1000GBのラップトップを持っています。つまり、1000 000 000000バイトです。 fdiskによると、容量はさらにわずかに大きく、正確に1000204886016バイトです。

これは、本来あるべきよりも約0.2 GB多いです!?

それは正常です。 1,000や1,024のような数字は、私たちやコンピューターソフトウェアのような特定のシナリオでは、「いい、丸い」だけです。ドライブを製造するとき、そのような正確な数になるように作成することは非常に困難です。特に、ハードドライブやDVDなどのあらゆる種類の丸いメディアでは、サークルを扱っているため、もちろんサークルを扱っている場合は、 πのおかげで、「丸められた数」は言うまでもなく、整数を持つことはほとんどありません。

そのため、ストレージデバイスを作成すると、最も近い「ブロック」に切り上げられます。ブロックが何であるかは多くの要因に依存し、少しまたは多くの余分なスペースをもたらす可能性があります(ただし、ボックス全体に「20%多い無料のスペース!!!」。

フラッシュドライブやメモリカード(そしてもちろんハードドライブ)のような非循環メディアでも、バックアップとして使用するための追加のセクターがたくさん含まれているので、セクターが死んだときにドライブのファームウェアがそれを「スペア」の1つに再マップできます。これらのスペアが「余分な」スペースとしてユーザーに表示されるかどうかは、メーカーによって異なります(cpastが言ったように、同じモデルのロットごとに異なる場合があります)。一部の人は、セクターが悪くなったときにマークが付けられ、顧客が支払った全容量(およびわずかに多い容量)をまだ取得しているため、顧客が不満を感じていないことを前提として、それらを表示して使用できるようにすることを選択します。他のユーザーはスペアセクターを非表示にし、ドライブをその場で透過的に再マップして、ユーザーが何か問題があることさえ知らないようにします。これは、OSやファイルシステムではなくドライブにウェアレベリングの責任を負わせるため、望ましい(そして最近では最も一般的です)。このシナリオでも、通常は(障害計算アルゴリズムによって)必要以上にスペアセクターが存在するため、通常は超過分も表示されます。

同じサイズになりますか?もしそうなら、なぜ1000GBディスクはまさに​​この容量を持っているのですか?反対の[原文のまま]の場合、購入する前にディスクが十分に大きいかどうかを確認する方法はありますか?

容量は変動し、ドライブのプロパティの一部ではないため、正確な(バイト/セクターまでの)容量を知る方法はありません。これは一種の「ボーナス」であるため、多いものと少ないものがあります。

今、ハードディスクを購入したいと思います。必要以上に大きなディスクを購入して、より多くのお金を使いたくありません。

もちろん、特に1 TBを超えるドライブを入手するということは、少なくとも1.5 TBのドライブを入手することを意味するためです(間に細かい分割があるとしても、それほど多くはありません)。

では、1000GBのHDDをもう1台購入するだけで十分ですか?

これは、ソースドライブがどれだけいっぱいであるかとバックアップの方法によって異なります。通常のバックアッププログラム(ファイルレベルのコピーまたはドライブイメージング)を使用する場合、コピー先のドライブの容量を超えていなければ、問題なくソースをコピーできます。意図したとおりにクローンを作成すると、可能性がトリッキーになります。

一部のクローン作成ツールは、ソースドライブと宛先ドライブのバリエーションを考慮して設計されており、それに対処する方法があります(たとえば、いくつかの選択肢を提供し、必要なものを決定できるようにします)。

dd のような単純なものを使用したい場合は、もう少し面倒ですが、それでもかなり簡単に処理できます。

  1. (良い)1000GBドライブを入手し、制限/ラインを見つけるための正確な容量を見つけてください。
  2. 古いドライブの使用済みスペースの量が、新しいドライブの合計サイズを超えないようにしてください。
  3. デフラグを実行して、すべてのデータを番号の小さいセクターに移動します。
    • もちろん、これは、断片化によるギャップのために、ラインポイント上にデータがないことを保証するものではありません。したがって、 disk-map-viewer を使用して、「範囲外」のファイルがあるかどうかを確認し、シャッフルします(たとえば、削除するか、スペアドライブに移動します)。あなたがライン上に何もなくなるまで。
  4. countddパラメーターを使用して、コピーされるセクターの数を制限し、超過を回避します。
  5. 必要に応じて、手順3bで古いドライブから削除したファイルをコピーバックまたは再ダウンロードなどします。
0
Synetech

基本的な問題は、正確な容量が定義されていないことです。

ドライブのバイト数が1,000,000,000,000バイト未満の場合、売り手は汚れていますが、それ以上の約束はありません。内部設計が異なれば、価値も異なります。ドライブのスペアセクターの数が変更された場合、同じハードウェアから異なる容量を取得することもできます。

0
Loren Pechtel

ハードドライブがいっぱいでない場合は、次のようなことを行うことができます

gzip </dev/sda >/dev/sdb

しかし、davidgoが示唆したように、多くのファイルを削除している場合は、空のスペースにゼロで埋められた巨大なファイルを書き込むと、圧縮が向上する可能性があります。ファイルシステムは通常、ファイルのiノードを削除し、別のファイルで上書きする必要があるまでその内容をドライブに残します。

ファイルシステムがそれをサポートしている場合は、ドライブの最後にあるパーティションをそれらの余分な205MBまたは違いが何であれ縮小してみることもできます。そうすれば、その余分なスペースをコピーする必要はありません。最後の205MBを調べて、意味のあるものがあるかどうか、またはそれが(ほとんど)ゼロで埋められているかどうかを確認できます。この場合、パーティションのサイズ変更はかなり安全です。

tail -c 205MB </dev/sda | hd

空でない場合でも、これは大量の出力を生成します。

0
Karel Vlk