ddコマンドでHDD丸ごとバックアップ[Windows]

HDD丸ごとバックアップすることになったのでここに記す。

※この方法でOS動かなくなっても一切責任はとりません。

1.準備

・起動用USBを用意する。
(1)CentOS projectからCentOSをダウンロードする。
isoredirect.centos.org
 この中から、当初描いた時はCentOS7が最新。URLの中から適当なURLを選んでダウンロードする。

(2)USBの確保
起動用のUSBだが、32GBくらいあれば十分。セキュリティのことを考えるなら、テンキー式のUSBが好ましい。

(3)USBにisoデータを書き込む。
USBにisoデータを書き込むソフトの中で、「Rufus」というソフトがある(Windows用)
rufus-usb.jp.uptodown.com

f:id:sonic_bin:20180623104707p:plain

[1][Show advanced drive properties]をクリックする(おそらくここをクリックしないと、Deviceに表示されない
[2]対象のUSBを選ぶ
[3](1)でダウンロードしたCentOSのデータを選ぶ。
[4][start]をクリック。

2.backup取得

Let's get backup!

まずはじめに、backupするWindowsパソコンの電源を入りきりし、BIOSの画面を開く。BIOSの画面に行く前に、USBを接続しておく。USB
を起動の1番目に設定する。

その後、下記の様な画面が出たら、[Troubleshooting]をクリックする。
f:id:sonic_bin:20180623105124p:plain

f:id:sonic_bin:20180623105201p:plain

次に「Rescue a CentOS system」をクリックする。

この後、CentOS7のレスキューモードの準備が始まるのだが、USBによって途中でアンマウントされることがある。途中で読み込みが終わってしまうので、USB状態を確認しながらもう一回マウントしよう。

次に入力を求められたら[1],最後にまた、....って出たらエンターおそう。

ここでようやく、レスキューモードに立ち上がった。
(1)マウント先のディレクトリを作成

#mkdir /mnt/BACKUP

(2) バックアップ用HDDが/dev/なんで読み込まれているか確認

#dmesg

HDDが一個の場合大抵、/dev/sdcで読まれることが多い←念のため確認して。

(3)ファイルシステムext3にする。
よくあるのが、「exFAT」や「NTFS」でフォーマットされているやつ。最近は、vfatとかでなってるやつはあまり見たことない。レスキューモードでは、当然「exFat」や「NTFS」はマウントできないから、そういう場合は、ext3でフォーマットしとこう。

#mkfs.ext3 /dev/sdc

1TBの場合、フォーマットに15分〜20分にかかった。

(4)バックアップ用HDDをマウントする。

#mkfs.ext3 /dev/sdc

(5)マウントされたか確認する。

#df -a

バイスと、マウントポイントが表示される。今回の場合は、[/dev/sdc ・・・・・/mnt/BACKUP]

(6)バックアップ先HDDを確認する。

#ldisk -l

各ディスクの容量が表示される。自分がやった時は、/dev/sdaでパーテーションで/dev/sda1,/dev/sda2で分けられていた。バックアップするのは、/dev/sdaのみで良い。バックアップするHDDの決め方はWindowsに表示されている各ドライブ(C:やD:など)の合計値を見て判断する。

(7)ddコマンドによるバックアップ

#dd if=/dev/sda of=/mnt/BACKUP/BACKUP.dmp bs=5MB

ifとofを間違えると悲惨なことになるので注意を・・・。

ここで、圧縮して容量も減らすとなるがそれなりに時間がかかる。1.5倍くらい時間がかかると思って良い。
300GBの場合は、約200分近くかかった。それに、リストアする際に解凍していると時間がかかる。それは、あまりよろしくない。

3.Restore

リストアは、ただddコマンドで書き込むだけ!

#dd if=/mnt/BACKUP/BACKUP.dmp of=/dev/sda bs=5MB