壊れた Mac のデータをシングルユーザーモードで NTFS の USB メモリに救出する
Mac の SSD が死んでしまった時の復旧方法をメモしておく。症状としては以下の記事と同じであった。
第一の手段としては、ディスク修復ツールを使うというものだが、 First Aid を使っても Error Code : 8 で失敗してしまった。
そのため第二の手段として、シングルユーザーモードで以下のようなコマンドを実行し、救出できるファイルをUSBメモリにコピーするということを考えたい。(Mac のバージョンによってコマンドの細部が異なることがあるので、シングルユーザーモードログイン時に表示されるメッセージを参考にしてほしい。)
mount -rw / mkdir -p /tmp/mnt/usb fstyp /dev/disk2s1 mount -t hfs /dev/disk2s1 /tmp/mnt/usb # hfsの場合 mkdir /tmp/mnt/usb/xxx
USB 接続のハードディスクが ntfs でマウントされていた場合は、普通にマウントしてしまうと read-only になってしまうので、新しいディレクトリを作る処理を実行できない。そのため、マウントし直す必要がある。
まず一旦今マウントしたドライブをアンマウントしなければならない。
umount /tmp/mnt/usb
マウント時にオプションを指定すると、読み書き可能な状態でマウントすることができる。
mount -t ntfs -o rw,auto,nobrowse /dev/disk2s1 /tmp/mnt/usb mkdir /tmp/mnt/usb/xxx rsync -a --partial --append-verify -v /Users/xxx /tmp/mnt/usb/xxx
これで rsync ができたら一件落着かというと実際そんなことはなく、 rsync 実行中にコピーがスタックしてしまって困っている。これは SSD のエラーに起因するものであると思われるが、そうした読み取りを妨害するような不良セクタのようなものをスキップすることはできないか?というのが次に期待したいところではある。
しかしもしそれをやろうとすると rsync ではなく、 ddrescue のように丸ごとディスクをコピーする方法を取るしかないという感じであった。