まとまりのないブログ

something which something is something

Tips

容量の大きいディスクから小さいディスクへddコマンドでクローンする場合

投稿日:2020年7月30日 更新日:

linuxのターミナルで使うことができるddコマンドについて、ddコマンドとはディスクのクローンを作るときに使われるコマンドで、あるディスクとそっくりそのままの内容を別のディスクへ複製することができる。ただし条件があり、
・元となるディスクと同じ容量か大きいディスクのみクローン作成可能
・元となるディスクより容量が小さいディスクへはクローンできない
といった条件がある。

またddコマンドができることは
・ディスクのクローン作成
・パーティションのコピー
といったことができる。

で、大きい容量から小さい容量のディスクへコピーする場合について。たとえばubuntuのOSが入っているディスクのクローンを作成する場合、パーティションが切られているのが普通であり、ブートローダがあるバーティション、本体のファイルシステムがあるパーティションといった具合に存在する。容量の大きいディスクから小さいディスクへのクローン作成は本体のファイルシステムのあるパーティションをddコマンドでコピーすることで目的を達成することにした。

Ubuntuでクローンを作成する場合
手順としては、

  1. 元となるディスクの最も大きいパーティションのサイズをgpartedを使って小さいディスクの容量に収まるようにリサイズする。
  2. 移行先となる容量の小さいディスクに元となるディスクに存在するOSと同じものをクリーンインストールする
  3. ubunbtuのインストールメディアをusbかなんかに保存してliveインストールディスクとして使えるようにする。(遊んでるlinuxマシンがある人はそちらで可)
  4. 3で作ったインストールディスクでliveOSを起動する(この起動するマシンに移行元と移行先のディスクをあらかじめ接続しておく)
  5. liveOSでデスクトップが起動したらターミナルを起動してddコマンドを実行してパーティションをコピーする
    例:# dd if=/dev/sda2 of=/dev/sdb2 bs=4M

以上のような手順でとりあえずディスクのクローンという目的は達成することができた。容量大から容量小へのddコマンドディスク複製の実行はたとえパーティションサイズが同じであってもディスク全体の容量が違うということでコマンドを完遂することができない。当たり前といえば当たり前だけれども。パーティションサイズを整えて使用済みの容量と移行先の容量は揃えたからあとはddコマンドさんよろしく・・・というようなことはできない模様。ifには元となるディスクまたはパーティションを指定、ofには移行先となるディスクまたはパーティションを指定。

ディスクをクローンする場合
例:# dd if=/dev/sda of=/dev/sdb bs=4M

パーティションをクローンする場合
例:# dd if=/dev/sda2 of=/dev/sdb2 bs=4M

詳しくは # fdisk -l とかしてディスク状況を確認するといいかもしれない。bsのサイズは適当。

-Tips

執筆者:


  1. より:

    特定のパーテーションだけコピーする場合、OSならブートローダー部分はどうするんですか? これならファイルコピーと同じじゃないですか?

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

Delphi デバッグで実行してもウインドウが表示されない場合の対処法

デバッグで実行してみても、起動せずにウインドウが表示されない場合の対処法。 直接デバッグフォルダのexeファイルを実行してみる dllやコンポーネントを追加とか削除したりした場合に、デバッグを実行!と …

no image

M.2 NVME SSDの速度は体感できる

普通のSATA接続のSSDからm.2規格のNVME SSDに換装した。Intel 760pという品で最高Read 3210 MB/s 出るらしい2020年現在でもまだハイエンドのSSDへと環境を移行し …

no image

シンプルな家計簿(仮)のデザインミス

現在のシンプルな家計簿(仮)の入力画面のレイアウトは画像のような並びになっている。並び順は上から 日付,費目,内訳,口座,備考,金額 の順に。 今考えみるとこの画像のような並び順にすべきだった。備考と …

no image

org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 途中でファイルの末尾に達しました。

org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 途中でファイルの末尾に達しました。 javax.naming.Naming …

no image

Yahoo!オークションに落札相場を検索する機能が登場

Yahoo!オークションに落札相場を検索するための機能が新たに追加された模様。オークションの出品マスターというYahoo!オークションの独自のシステムにおける特典の一部として提供され、条件をクリアして …