flower border

Apple King (アップル・キング)

MacやiPhone、iPadの総合レビューサイト

Apertureライブラリを外付HDDにコピーできない問題の解決方法 (エラーコード-36)

CategoryAperture
  •  closed
  •  closed
Aperture ライブラリを外付HDDにコピーできないというトラブルに遭遇しました。無事に解決できたので、そのトラブルシューティングについて述べます。

(前提)
・使用しているマシン: MacBook Pro with Retina Display (またはMacBook Air (2012) 11-inch)
・ソフトウェアのバージョン: Aperture 3.4.3 (本エントリ執筆時点で最新)
・Mac の OS: Mountain Lion 10.8.2 (本エントリ執筆時点で最新)
・外付HDD A: Aperture ライブラリを格納してあるUSB3なHDD
・外付HDD B: コピー先のUSB3なHDD
・外付HDD C: もう一つのコピー先のUSB3なHDD

(行ったこと)
外付HDD A に格納してある Apeture ライブラリを、ファインダーを利用して別の外付HDD Bにコピーすると、「エラーコード -36」が発生し、コピーが途中で止まってしまう。そのけっか、外付HDD Bにはなにもコピーされない。

(エラー表示)
「"Aperture Library"内の一部のデータを読み込めないか書き込めないため、操作を完了できません。(エラーコード-36)」

(期待される結果)
エラーが表示されることなしに、コピーが完了すること。

***

私のAperture ライブラリは約490GBあります。大切な写真データなので、これをバックアップしたいと思ってコピーしたかったのですが、残念ながらコピーが止まってしまいます。実に困りました。

エラーコード -36とは、I/O周りに問題が発生したときにでるエラーです。ここで問題を切り分けていくことにしました。まず外付HDDに問題があると仮定しました。

外付HDDに問題があるのではないか?


  1. まず外付HDDのフォーマットを確認しました。これらはアップルが推奨する「Mac OS 拡張 (ジャーナリング)」であるべきです。私の2台の外付HDDはいずれもこのフォーマット形式でした。この点では問題がなさそうです。

  2. つぎになにか別のファイルを用意し、外付HDDへコピーしました。問題なくコピーは完了しました。

上記の事象から、外付HDDに問題があるとはいえないだろうととりあえず結論付けました。

つぎに別の外付HDD Cを用意しました。こちらをディスクユーティリティで「Mac OS 拡張 (ジャーナリング)」でフォーマットし直しました。そして再度ファインダー上からコピーを試みました。

すると、(1) 外付HDD A から外付HDD Bへのコピー、(2) 外付HDD A から外付HDD Cへのコピーの両方で、ほぼ同じ箇所でコピーが止まっていることを確認することができました。(490GBのライブラリが、321GBあたりで止まってしまう)

※外付HDD A から外付HDD Bへのコピー
201301ApeE01.png
201301ApeE01a.png

※外付HDD A から外付HDD Cへのコピー
201301ApeE02.png
201301ApeE02a.png
ライブラリの容量がちょっと変わっているのは無視してください。^^; だいたい同じところで止まっていることが確認できます。

この点を考慮すると、外付HDDには問題がなく、むしろApeture ライブラリ自体になんらか問題を抱えているのではないかということが考えられました。

Aperture ライブラリ自体に問題があるのではないか?


そこで Finder ではなく、Terminal.app でコピーを行ってみました。ここでひとつ留意しておくべき事実があります。それはAperture ライブラリは一つのファイルのようにみえているだけで、じっさいはたくさんのファイルの集合体であるという点です。

Terminal.app はアプリケーションフォルダのなかにあるユーティリティフォルダに入っています。また Spotlight からも Terminal.app を起動できます。

201301ApeE03.png

Terminal.app を起動し、次のコマンドを入力します。

 sudo cp -R [コピー元のファイル] [コピー先のディレクトリ]

※ターミナルに不慣れな方は、コマンド入力時にはスペースの入力が必要である点にお気をつけ下さい。

[コピー元のファイル] [コピー先のディレクトリ] は、ファインダーから Drag & Drop で入力できます。

Terminal.app の この cp コピーコマンドは、エラーがあったとしてもそこで止まることなく、とにかくファイルのコピーを完了してくれます。エラーがあった場合はエラーを吐いてくれます。(当然エラーがあったファイルはコピーされません。)これを実行することでどのような挙動を示されるかを見てみることにしました。

コピーコマンドを命令して数時間を経て、コピーが完了しました。

すると Terminal.app には次のようなエラーメッセージがでてきました。

201301ApeE05.png

cp: /Volumes/My Passport/ピクチャ/Aperture Library.aplibrary/Masters/2012/09/30/20120930-063739/DSC_0299.NEF: Input/output error

これがまさに欲しかった情報です。この画像ファイルを拾ってみることにしました。コピー元のApertureライブラリを選択し、右クリックして「 パッケージの内容を表示」を選択して開くと、中身がみることができます。

フォルダを下っていくと、当該ファイルをみつけることができました。このファイルをFinderでみると壊れた画像データでした。これが悪さをしていたのです。

201301ApeE06.jpg

この壊れた画像データを除いて、外付HDDへライブラリがコピーされたという次第です。大切な写真データがバックアップされました。これで安心です。

今回幸いだったのは、壊れた画像データが一つだけだったということです。データが複数壊れていたら、複数のエラーが吐かれることでしょう。

***

なおApertureライブラリに関してですが、この壊れた画像データを削除し、Apertureを再起動すると、ライブラリデータベースの再構築中となりました。そして無事に使えるようになりました。

201301ApeE07.png

Apertureライブラリのコピーは無事に完了した


こんかい、cp コマンドを利用して問題のあるファイルをのぞいては、コピーが終了しました。
Apertureライブラリには1つだけの壊れたファイルが入っていたので、問題の特定が簡単でした。

さて壊れたファイルを取り除き、ライブラリデータベースの再構築を行ったApertureライブラリは、エラーなくコピーできるのか。理屈上そうなるはずですが、ねんのため、実施してみました。すなわち外付HDD A から外付HDD Bへのコピーですが、無事にエラーなくコピーできたことを確認しました!

これで将来エラー -36を見ることはないでしょう。

最後になりましたが、本エントリ執筆にあたっては、アップルストア銀座のジーニアスに大変お世話になりました。ジーニアスには当方の抱える問題を短時間のうちに理解し、かつ解決へのロジカルなアプローチをすぐに示していただきました。こころより感謝申し上げます。
Macの購入はApple公式サイトがおすすめです。
・ノート型 ▶︎▶︎最新MacBook Pro10万円を切るMacBook Air軽量なMacBook
・デスクトップ型 ▶︎▶︎iMac Retina 5KディスプレイモデルiMacMac ProMac mini
・学生さんや先生、PTA役員はこちら▶︎▶︎学生・教職員向けストアでMacを見てみる
・お得な整備済製品はこちら▶︎▶︎整備済製品のMacを見てみる

なお「どの Mac を購入していいかわからない」という方のために、Mac購入ガイドを下記の記事で解説しています。ぜひ参考になさってください。オススメのMacを紹介しています。

▶︎▶︎Mac購入ガイド (おすすめのMacはこれだ)