web-dev-qa-db-ja.com

物理ドライブを使用しながら、ddを使用してパーティションを別のパーティションにコピーする

これを主題でよりよく説明する方法がわからないので、「質問」は正しくないかもしれません。しかし、ここに行きます。ハードドライブが3台あります。ドライブAは320 GBドライブ、ドライブBは80 GBドライブ、ドライブCは1 TBドライブです。 80 GBドライブから1 TBドライブにデータをコピーし、パーティションのサイズを変更します(次に320 GBドライブからデータをコピーできるようにします)。

私の質問はこれです。1TBドライブのオペレーティングシステムを起動した場合、ddを使用して320 GBドライブをその物理ドライブの別のパーティションにコピーできますか?私はすべきではないライブパーティションをコピーすることを知っています(つまり、そのオペレーティングシステムを実行している場合、320 GBドライブからデータをコピーできませんでした)。

私の考えはこれです。AcronisTrueImage、Partition Manager、Image 4 DOS/Linux(両方のアプリケーション)を使用してみましたが、データをコピーするのに1週間以上かかりました。つまり、1週間はコンピューターを使用できません。これは許容できません(唯一の選択肢でない限り)。これが機能することを望んでいるので、少なくともコピーを行っている間はコンピュータを使用できます。

必要な場合は、Live CD(実際には推奨されないオプション)で起動するか、「ドライブB」を使用できますが、できるだけ早くそのドライブを削除したいと思います。

17
PatrickDickey

はい、次の2つの条件に当てはまる場合、実行したいことは問題なく機能します。

  1. 書き込み中のパーティションに(マウントされた)ファイルシステムがありませんto
  2. 書き込み中のパーティションtoは、書き込み中のパーティションと少なくとも同じサイズですfrom(つまり、320 GB)。

正常に機能する理由は、パーティションがUNIXの単なるファイルであるためです。それらのコンテンツは、マウントされたファイルシステムが含まれている場合にのみ特別な意味を持ちます。

次のようなレイアウトがあるとします。

1 TB = sda、2つのパーティション、ブートしたsda1とddaするsda2

320 GB = sdb、1つのパーティション、dddb1するsdb1

コマンドは次のようになります。

dd if=/dev/sdb1 of=/dev/sda2 bs=1M

bs=1Mパラメータは、ddが各セクターにリクエストを発行する代わりに大きなチャンクでデータをコピーすることを保証するためにあります。

19
Michael Fenn

一般に、マウントされていないパーティションをddしてもかまいません。 ddの実行中に読み取り用にソースパーティションをマウントする必要がある場合は、-o roパラメーターを指定して読み取り専用でマウントすることをお勧めします。

最初にソースパーティションAMDで起動してからddを使用してコピーする場合は、mount -o ro、remount /を実行して、起動後に読み取り専用にすることができます。

5
replay