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


17

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

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

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

必要に応じて、ライブCD(実際には優先オプションではありません)から起動するか、「ドライブB」を使用できますが、できるだけ早くそのドライブを削除したいと思います。


もちろん ?
マイケルハンプトン

回答:


17

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

  1. dd ' ているパーティションに(マウントされた)ファイルシステムがありません。
  2. あなたがdd'ingているパーティションには、 1あなたがしているdd'ingと少なくとも同じ大きさであるから(つまり、320ギガバイト)。

うまく機能する理由は、パーティションがUNIXの単なるファイルだからです。それらの内容は、マウントされたファイルシステムを含む場合にのみ特別な意味を持ちます。

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

1 TB = sda、2つのパーティション、起動元のsda1と起動先のsda2

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

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

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

bs=1Mパラメータは、代わりに、各セクタの要求を発行することDDコピーに大きなチャンク内のデータを保証するために存在します。


1
if = source of = destination上記のアドバイスに何か問題があると思います。

上記の例では、sdb1がソースで、sda2が宛先です。私はそれをより明確にするために答えを編集しました。
マイケルフェン14

1
resize2fsコピー後に実行する必要はありませんか?サイズが異なっていても?
ソパラホデアリエレス

5

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

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


読み取り専用とは、ファイルシステムがジャーナルにだまされたり、空き領域を再編成したりしないことを意味するものではありません。
フォンブランド

@vonbrandは、ROモードでそれを行うLinuxファイルシステムの実装例を提供できますか?
バシレフ14

@vonbrandでUNIXのファイルシステムは、ビーイングは非常にRO搭載しない全く書き込みが根底にあるデバイスに発行してはならないことを意味します。
マイケルフェン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.