OSをまるまるバックアップ。ddコマンドの使い方

Tips

Windows Subsystem for Linuxの普及でlinuxも大分身近になってきました。今回はOSをまるまるイメージバックアップできるツールddコマンドを使用してOSのクローンを保管しておく方法についてご紹介します。

入力するコマンド例

コマンド発行例は以下3コマンド(詳細はこれ以下の解説を読んでください)

このマニュアルでは
コマンドは青色で表示されている

lsblk
cd /media/ubuntu/USBHDD
dd if=/dev/sdx of=./windows7_backup.img ibs=10M obs=10M

OSのイメージバックアップの手順

lsblkによりディスクの確認

この場合
sda / sdbがハードディスク

接続されているハードディスク個体は、中身をみてもいいが容量から判別可能。

外付けUSBハードディスクを再接続(オプション)

マウントポイントに文字が入っていればいいが、マウントポイントに文字が入っていなければ、中身のファイルにアクセスできる状態にない。USBドライブの場合。再接続で自動的にマウントされる場合が多い

この場合HDDは
/media/zlixxxxxx/USB_HDD
にマウントされている
まれに自動マウントされない場合

mount /dev/sdb1 /kara_no_folder

のようにマウントする必要がある

マウントされている場所に移動(解説は一例)

cd /media/zlinuxuser/USB_HDD

のコマンドによりカレントディレクトリを USB の HDD のマウントポイントに移動。 コマンドラインの先頭が

/media/zlixxxxxx/USB_HDD $
のようになれば OK。以下(no.4)の手順 のコマンド指定によりここで移動したカ レントディレクトリにファイルが出力され る

dd コマンドの発行(of の指定を間違え無いこと。データの破壊に繋がる

dd if=/dev/sdx of=./windows7_backup.img ibs=10M obs=10M

(sdx=lsblk で調べたコピー元デバイス名( 末尾の数字無で指定=デバイス ))
(./windows7_backup.img=コピー先ファイル名 任意 ) (ドットはカレントディレクトリ)
(ibs,obs は一度に読み込むデータの量。この場合 10MByte)

上のコマンドをよく確認しオーケーなら発行する(Enter)
だが管理者権限が必要と大抵の場合、言われるので、
ここで初めて先頭に sudo をつける( 一度入力したコマンドは↑キーで出る )
管理者権限が必要と言われない場合もあるので確認はしっかりして下さい

sudo dd if=/dev/sdx of=./windows7_backup.img ibs=10M obs=10M

長らく待つとディスクのイメージファイル作成が終わる

別窓コンソールにて ps aux にて dd のプロセス ID を確認し
kill -USR1 プロセス ID 番号を入力すると進行状況が表示される
図の例では dd のプロセス番号は 5058

1.OSのリストアの手順(この作業はコマンド指定を間違えるとデータが破壊される)

dd if=./windows7_backup.img of=/dev/sdx ibs=10M obs=10M

イメージファイルをデバイスファイルに上書きする(of の指定が最重要)
/dev/sdx が lsblk で調べたデバイスファイル
( 間違えにくいように余計なデバイスは外しておくとよい)
/dev/sdx1 などがあるが
これはパーティションなので/dev/sdx(数字なし=デバイスファイル)とする

上書きされたデバイスは
中身が消える(イメージファイルの中身に置き換えられる)ので
要注意

なおlinuxコマンドddでのバックアップは、UbuntuライブDVDやknoppixなどのライブ起動DVDから起動してやるとOSにアクセスのないエラーの起きにくい環境で行えるのでよいと思います。

OSのまるまるバックアップは便利なのでぜひデータの消失にお気をつけながら便利にご利用ください。

GPTパーティションのバックアップ

GPTのパーティションをバックアップする場合でも、GPTヘッダに第二GPTヘッダのアドレスが含まれているために、最終セクタまでバックアップすれば書き戻した時に、ディスクサイズの異なるディスクでも問題なく動作するようです。(ただし、よりサイズの大きいものに限ります。)これは一応検証してみました

動作はするようですがgdiskを実行しwriteをかけるとエラーが検出されて問題を修正しますかと聞かれます。ここで問題を修正するを選ぶとディスクのエラーは解消されるようです。

Problem: The secondary header’s self-pointer indicates that it doesn’t reside at the end of the disk. If you’ve added a disk to a RAID array, use the ‘e’ option on the experts’ menu to adjust the secondary header’s and partition table’s locations.

問題:セカンダリヘッダーのセルフポインターが、それがディスクの最後にないことを示しています。 RAIDアレイにディスクを追加した場合は、エキスパートメニューの「e」オプションを使用して、セカンダリヘッダーとパーティションテーブルの場所を調整します。

エキスパートメニュー

上記によるとeで調整できるらしい。・・が単にWriteをかけるだけでもこのようなメッセージが表示される。

Found vaild GPT with protective MBR;using GPT
Warning! Secondary header is placed too early on the disk! Do you want to correct this problem?(警告。セカンダリヘッダがディスクの早すぎる領域に位置しています。この問題を正しますか?)

Final checks complete.About to write GPT data. This will overwrite existing partitions.(GPTデータを書き込むための最終チェック完了。これは存在するパーティションを上書きするでしょう。続けてよいですか)

英語おそらく正しいですが間違ってるかもしれません。得意な方はオリジナルを読んでください。ddによるOS書き戻しを行った後こちらから修正すれば、クローン化は完了し成功するでしょう。

関連リンク

Raspberry PiのOSイメージをddで扱う際の注意点
トンネル
アプリ
SSH通信でリモート作業、SSHとは

皆様こんにちは。皆様SSHをご存知ですか。SSHとはなんなのでしょうか。 実はサーバをリモートで操作する事ができるのがSSHです。Secure Shellの略のようです。linuxを使っていると殆どの作業はコマンドラインから行えます。そんな中、コマンドをリモートから発行できるのがSSHです。応用でポートフォワードなどを行って安全なトンネルを作ってTCP通信を …

アーカイブの画像
アプリ
WinRARで秘密のファイルを管理しよう

Winrarは世界中で有名な便利ソフトです。 ただのアーカイバーでしょといえばそれまでなのですが、セキュリティの強固なAESを使った暗号化などが行えるため手軽にセキュアな環境を構築できます。 もちろん持ち運びにも便利で暗号化したファイルを持ち運べばUSBをなくしてしまってデータ漏洩が心配という場合にも対応できます。 ポータブルWinRAR ポータブルで使う場 …

アプリアイコンのイメージ
Tips
ジョジョジョイーン縮小革命で画像を扱いやすく!

皆様こんにちは。今日は画像をブログなどで使う際に扱いやすいサイズに調整する話です。 画像サイズはWEBで使う場合には適切なサイズというものがあります。あまり画像サイズが大きすぎると無駄にデータ通信を使うためにあまり勝手が良くないのです。 大体長辺が1000px以下くらいまで抑えても問題ない場合が多いです。画像のピクセル数、サイズを下げるメリットとしてはファイ …