概要

新しい外付けHDDを買った。ファイルシステムは、これまでと同様にext4にしたい。これまで使っていたものからデータをコピーするには、Linuxのddrescueコマンドを使って、うまくいった。
ちなみに、はじめは普通のコピーを試したが、なぜか途中で色んなところでつっかえてしまい、コピーがなかなか先に進まなかった。

詳細

やりたいこと

これまで使っていたHDDの容量が不足してきた&たまに調子が悪い。なので、新しい外付けHDDを買った。このため、これまで使っていたHDDから新しい方にデータをまるごとコピーしたい。

環境

  • OS: Linux Mint 19.2 MATE 64-bit
  • 外付けHDDらをつなぐUSBハブ:SODIAL(R)3ポートUSB3.0 エクスプレスカード 54ミリメートル PCMCIA-エクスプレス-カード ラップトップ用品(PCMCIAカード)

コピー元HDD

  • HDD本体:WD HDD 内蔵ハードディスク 3.5インチ 1TB Blue WD10EZEX/N / 7,200rpm / SATA 6Gb/s
  • USBへの変換器具:タイムリー GROOVY 3.5″HDD CASE SATA接続3.5″HDD専用/ブラック SATA2-CASE3.5 BK
  • HDDのファイルシステム:Ext4 (バージョン 1.0)

コピー先HDD

  • HDD本体:

  • USBへの変換器具:Yottamaster K100-U3-BK-JP
  • HDDのファイルシステム:Ext4 (バージョン 1.0)
  • その他の状況:コピー先にしたいHDDのパーティションを2つに分けてあり、1つはNTFSファイルシステムで、もう1つはExt4にしてある。今回のコピー先は、Ext4の方である。

やったこと

失敗パターン(普通のコピー)

GUI上でドロップ&ドロップによりデータをコピーしようとしたら、ちょいちょいエラーが出て、なかなか先に進まなかった。このエラーの量が多かったのと、やはりできるだけちゃんとデータをコピーしたかったため、この方法は断念した。

ちょいちょい出たエラーのうちの一つ

成功パターン(ddrescueコマンド)

コピー元HDDとコピー先のHDDのデバイス名をそれぞれ、dfコマンドやfdisk -lコマンドやDisksツールなどで確認しておく。
(例)/dev/sd○ など

コピー元HDDとコピー先HDDどちらもマウントを解除しておく:
CajaのGUI上の左ペインにて、解除したいパーテションの▲ボタンを押してマウントを解除した。

以下のコマンドを実行した。
※コピー方向に注意!!!
※コピー先のパーティション内のデータ全てが消えるので注意!!!

$ sudo ddrescue -f -r1 -v /dev/sdc1 /dev/sda3 rescue.log

上記のようにログファイルを指定しておくと、途中でいったん中断してもそこから再開できるらしい。

結果

コマンドの出力結果:

GNU ddrescue 1.22
 About to copy 995909 MBytes from '/dev/sdc1' to '/dev/sda3'
     Starting positions: infile = 0 B,  outfile = 0 B
     Copy block size: 128 sectors       Initial skip size: 19456 sectors
 Sector size: 512 Bytes
  ipos:  995909 MB, non-trimmed:        0 B,  current rate:  23330 kB/s  opos:  995909 MB, non-scraped:        0 B,  average rate:   7985 kB/s
 non-tried:        0 B,  bad-sector:        0 B,    error rate:       0 B/s
   rescued:  995909 MB,   bad areas:        0,        run time:  1d 10h 38m
 pct rescued:  100.00%, read errors:        0,  remaining time:         n/a
                               time since last successful read:         n/a

途中でつっかえることなく、無事にデータ(フォルダー構造&ファイル群)をコピーできた。
かかった時間は、約1日半・・!
コピー先のパーティションを無事にマウントして、データを読み書きすることができた。
ただし、コピー先パーティションにあらかじめ設定していたボリュームラベルは消えてしまっていた。なので、ボリュームラベルはつけ直した。

だけど、データがまるごとコピーされるのは分かったけど、メタデータ的なものは一体どこからどこまでコピーされるのか、よく分からんまま終わった。

参考にしたウェブページ

ddrescue – Wikipedia

GNU ddrescue Manual

故障してそうなディスクからデータを取り出す方法(ddrescue) – Qiita

「ddrescue」の使い方 – PCと解

広告