phoenix-powerMacでマウントしたNTFSディスクが壊れた、ハードディスクごと壊れた

面白おかしく読んでもらえれば幸いです。

Macでは、マウントしたディスクのファイルが壊れたという話をよく聞きます。私の場合、NTFSに書き込むためオプション付きでマウントし、ファイルを書き込んだあと、ディスクの調子がおかしくなり、フォーマットしても直らず、その後、なぜかハードディスクが逝きました。

Macのオートマウント機能は、なぜかNTFSでフォーマットされたディスクの書き込みを許可しません。したがって、ディスクに書き込みたければ、自分でマウントしなければなりません。-o rwが読み書きのプション。

1
2
# マウント、ntfsに書き込む, ただし、私の場合、これをやった直後、HDDの調子が悪くなったので、危険
$ sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk2s1 /mnt

しかし、その後、コピーしたファイルが壊れ、そして、それが原因だと思いますが、ディスク自体が壊れました。…ありえない。

R速度がディスクレベルで低下。フォーマットしても直らない。

したがって、フォーマットする前に、ディスクをバックアップする羽目に。

ディスクごとバックアップするには、ddコマンドが使えますが、この場合、同量のハードディスクが必要。基本的に壊れてどうしようもないディスクは、このようにバックアップします。

1
2
3
4
5
# エラーでも中断しない
$ sudo dd if=/dev/sdb of=~/disk.img conv=sync,noerror
-------------------------
# 確認
$ sudo killall -USR1 dd

圧縮して保存する場合は、以下。

1
$ sudo dd if=/dev/sdb | gzip > ~/sdb1.img.gz

ハードディスク自体の故障?と、Macでマウントしてファイルを書き込んだことの因果関係は不明だけど、これを実行してからおかしくなったので、怪しいと思ってる。

バックアップは常にとっておきたいけど、バックアップのための時間や手間、必要なハードディスク容量などを考えると、なかなか実行できてないです。

早くバックアップしたいときは、gzip。圧縮率が欲しい時は、7zip,xzが良さそう。bzip2がマルチらしい。

1
2
3
4
5
6
# pvはpipeに流れたsizeをpreviewします
# pacman -S pv
# dd if=/dev/sdb1 | pv | xz > ~/disk.img.xz

# 進捗を表示する
# dd if=/dev/sdb | pv -s `blockdev --getsize64 /dev/sdb` | bzip2 > ~/disk.img.bz2

今回の教訓は、MacでWindowsフォーマットのディスクをマウントするのは控えたほうがよいということ。特に、デフォで書き込み禁止されてるフォーマットで書き込みするのは危険。

基本的に、exFATでフォーマットするようにしておくと、Macでも読み書きマウントされるので、良さそうだけど、それでもファイルが幾つか回復不能になったことあるので微妙。今回はディスクごと壊れたので、辛い。

参考:

https://wiki.archlinux.org/index.php/Disk_cloning