まとまりのないブログ

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

執筆者:


comment

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

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

関連記事

no image

UITableviewのCellに設定したUITextFieldが画面外にスクロールすると内容が消える件

UITableViewCellにコードでUITextFieldをaddSubviewしたとき、例えばテキストフィールドが複数行あってスクロールしたときに画面外に消えて、再表示したら入力したはずの値が消 …

no image

asianetcom.netって

asianetcom.netというホスト名がついたアクセスが多数apacheのログに記録されていた。どうも百度関係のクローラーであるらしいが,なんか気味が悪いのでこれもアクセス制限をしてみる。apac …

no image

SSDにクローンしたらWindows10が起動できなかった件

現象 ・クローン化したSSDを起動ドライブとしてPCを起動すると、初期のロード画面が終わってからログインのパスワードを入力する画面が表示されず真っ暗なまま。マウスを動かすとカーソルは一定時間表示される …

no image

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

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

no image

jdbc はこのコンテキストにバインドされていません

java.lang.Exception: failure:名前 jdbc はこのコンテキストにバインドされていません JAVA/Tomcatでまたこのエラーが発生した。Tomcatとmysqlを接続す …