ちいさなねずみが映画を語る

すきなものを好きなだけ、観たものを観ただけ—

【Mac】マウントされなくなった外付けHDDを救出した話

突然外付けのHDDがマウントされなくなった。新しいMacBookに替えて以来、内蔵ストレージがHDDからSSDに変わって容量が減ってしまったので、映画関係の資料や音楽は専ら外付けHDDに保存している。何の気なしに資料を移そうとしてMacに繋いだら、マウントされない。すわ、パソコンを替えて以来の資料消失か……と大焦り——したのだが、普通にデータサルベージに成功したというお話。意外とまとまっているサイトが無かったので、備忘録として残しておく。

 

環境:macOS Mojave 10.14.6

 

 

まずは前提整理だ

使っていたHDDは、マウントされている時にはランプが点いて稼働していることが分かるようになっている。HDDのランプは点いていた。音もしているので、動いてはいるようだ。

接続部を確認したが、USBハブもHDDもきちんと繋がっている。USBハブに別のHDDを差したがきちんと認識される。念のため別のUSBハブも使ってみたがハブが悪いわけではないらしい。

再起動もしてみたけど状況は変わらない。HDDがやられているようだ。

 

ところでここで、(ディスクユーティリティで確認した上で)「アンマウントされてるみたいだからいっか」と言ってUSBハブを交換したが、本当はあまりよくないらしいのでご注意を。事態打開を急ぐ余り抜き差ししているとほんとにHDDが壊れることもあるらしいので、繋ぐのはできるだけ最小限に。通電せずに数日置いておいたら勝手に直ったという話もちらっと見たくらいなので。

 

基本はディスクユーティリティ

こういう時のためにMacさんの強み・ディスクユーティリティを起動する。

  • Finder>移動>「ユーティリティ」(⌘+⇧+U)
  • 起動ディスク>「アプリケーション」>「ユーティリティ」
  • Launchpad > 「ユーティリティ」(初期設定状態)

で辿り着けるので、ディスクユーティリティを起動する。

 

ディスクユーティリティでは繋がれているHDDやディスクドライブに入っているCD/DVDメディアの情報を読み取ることができる。またMacに繋がれているデバイスが一覧として表示される。認識されなくなったHDDは、名前こそ表示されるがグレーアウトしていて選択できない。名前を右クリックして「マウントする」を選択しても、マウントされない。

後から分かった話だが、デバイス名がグレーアウトしている場合、これはHDDの論理障害を示すという。容量が満杯になっているという表示がされるのも論理障害の証拠だそう。HDDに書き込まれている情報が一部破損していて、PC側で上手く復号できない状態だ。逆に、HDDを落とした、破壊したなど物理的破損があると、ディスクユーティリティにデバイス名すら表示されないらしい。1度繋いでみて状況確認するのはよいと思う。

 

せっかくディスクユーティリティを立ち上げたので、このページ(下記)を参考に "first aid" を走らせてみた。このページではエラーコード1が吐き出された場合の対処法が書かれている。出て来たコードは

ファイルシステム検査の終了コードは8です

だった。このページでは8の時も "fsck_exfat" の強制終了で上手く行くのでは、と書かれていたが、結論から言うと全く無駄だった(そもそも動いていなかった)。別のサイトに上手く認識されるまでfirst aidを走らせろという意見もあったので何回かやってみたが、普通に時間の無駄だった。万事休す。

migileft.com

ターミナルを使え

別のサイトを読んでいたら、ターミナルを使ってディスク修復を試す方法が書かれていた。

 

【失敗】fsck_hfsコマンド

Macには純正のコマンドソフト(?)*1・ターミナルが付属している。ディスクユーティリティと同じ「ユーティリティ」フォルダに内蔵されているのでこれを起動する。

 

fsck_hfsコマンドを入れて修復プログラムを走らせろという記事を読んだので、やってみることにした。参考にしたのはこの辺り。シングルユーザモードでログインしろという記事もあるが、これは内蔵HDDが破損した場合のやり方であり、外付けHDDを直すだけなら不要だ。またこのコマンドを走らせる前にはHDDのアンマウントが必要だが、そもそもマウントされてないのでそれも不要(もしご自身のHDDがマウントされていればきちんとアンマウントしてください)*2

tadaima.asia

pc-karuma.net

色々バリエーションはあったけどsudoで行くのが1番確かだった。「disk○s○」の部分は、修復したいディスク固有の番号である。

$ sudo fsck_hfs -fy /dev/disk○s○

ディスクユーティリティで調べるには

  • 該当ディスクをクリックし、下の箱に書かれている情報の中から「装置」の次に書かれている番号を見る。

コマンドラインで調べるには

  • $ diskutil list
  • →修復したいディスク名の "IDENTIFIER" を控える

 

走らせてみたけど無駄だった。これを延々と繰り返すと上手く行きました、という記事があったので、ターミナルで「上矢印→エンター(プログラムを走らせる)」*3を何度も繰り返したけど、10回くらいやって全部無駄だった。失敗。

 

【失敗】コマンドラインでdiskutilを使う

"fsck_hfs" の使い方を調べていたらこういうサイトを見つけた。翻訳臭いけど言ってることは確かなので大丈夫。 "fsck_hfs" の代わりに、コマンドラインで "diskutil" を使う方法が書かれていた。

qastack.jp

先程と同じ方法で、修復したいディスクの識別子 (IDENTIFIER) を調べる。まずは"diskutil verifyDisk[verifyVolume]"を走らせる。"verifyDisk"だとdisk2のデバイス全てをスキャンするが、その下位にあってぶっ壊れているデバイスをそのままスキャン(=verifyVolumeを使用)してもよいようだ。

$ diskutil verifyVolume disk○s○

……上手くいかない。英語でエラーコード8(=「ファイルシステム検査の終了コードは8です」)が返ってくる。

 

この記事の続きでは、大抵の問題は "verifyVolume" で解決するものの、上手く行かなかった時には修復プログラムを走らせることができる、と書いてあった。修復プログラムは "diskutil repairVolume"で走らせることができる。

$ diskutil repairVolume disk○s○

最初チキンな筆者は、修復プログラムを走らせればディスク内のデータが破損するかも……と思って尻込みしていた。しかしながらコードを走らせてみると……英語でエラーコード8が返ってくる。"verifyVolume"とおんなじやんけ。秒速で終わるし。

 

ここまで丁寧に読んで下さった方には申し訳無いが、コマンドラインに叩き込んでやったことは、結局ディスクユーティリティのfirst aidと全く同じことであった。そら返ってくる結果も一緒ですわ。まだHDDは壊れたまんまである。

 

折角だからdiskutilコマンドのまとめ記事をシェアしておくね。ところでMacさん的には、FSCKコマンドを走らせるより先にディスクユーティリティを使ってほしいらしい(2013年の記事のアーカイブ)。

qz.tsugumi.org

【成功】StellarDataRecoveryを使ってみた

ここまでで分かったことはふたつ。

  1. HDDは物理障害ではなく論理障害→読み出しが上手く行けばデータは救えそう
  2. コマンドラインでやれる手立ては無くなった

えーん。大の大人が趣味のデータが消えたくらいであたふたしている。大変みっともない。(笑)

 

何とかしてデータが救出できないかと探していたら、こんな記事を見つけた。やっていることは筆者と大体同じである。もう1度繰り返しておくけど、外付けHDDを直すだけならシングルユーザモードは不要だ。どうやらフリーのHDD修復ソフトがあるらしい。名前は "StellarDataRecovery"

note.com

ネット上でソフトが勧められている時は評判がいいかどうか確認してしまう。ぐぐってみたが星4以上の優良ソフトのようだ。日本語のレビューがないか探してみたら、さっき見ていた記事にレビューが書かれていた。なんかまともそう。

tadaima.asia

Stellarはインドのソフト会社のようだ。調べてみたら、今まで筆者がやってきたことが英語でまとまっためちゃめちゃ分かりやすいステマ記事が出て来た。これはStellar本社のページにある記事である。ところで、色んな記事で、「ディスクの修復を試みる前にバックアップを取ろうね。」と書かれていたけど、そもそもマウントされないから出来ないんだよ……!

www.stellarinfo.com

ここからは記事の流れに沿って作業する。サイトからフリーソフトのStellarDataRecoveryをダウンロードする。起動すると繋がれているディスクを一通りスキャンした後、"Select What To Recover"「どのデータを復旧したい?」という画面が出てくる(記事の"step1")。全部直したいので "Recover Everything" がONになっていることを確認して次へ進む。

 

次の画面で、復旧したいディスクの名前を選択する。deep scanを選択してもよく、そうするよう勧めるサイトも読んだが、結論から言うと普通のスキャンでよかった。deep scanの場合、1TBのHDDで80時間ほどかかる試算が出ていたように思う。筆者はQuick Scanを選択し、1TBのHDD全体を1時間かからないくらいでスキャンし終わった。Quick Scanで上手く行かなかった時にはdeep scanを選択してもよいかもしれない。

 

スキャンは2段階で行われる。1段階目で1つ1つのファイルの中身をスキャンしていく。スキャンの様子をプレビューできるようにラジオボタンがあったのでONにしてみたところ、失われたと思っていた写真がスキャンされて表示されていく……! やったー成功したぞ! この後第2段階のスキャンが終了すると、ソフト上でデバイス内のフォルダが全て閲覧できるようになる*4。デスクトップに戻ってみると……いるぞ! いる! マウントされなかったはずのHDDが表示されている!

 

この後筆者は、この隙に新しいHDDへデータを移してやれ! と思って別のHDDを繋いだところ、USBハブの電力の関係かうっかりアンマウントされてしまった。ヤバい。でも暫くしたら壊れたHDDもきちんとマウントされた。このトラブルのせいでStellarDataRecoveryがHDD認識にパニクり、上手く終了できなくなって強制終了したけど、データが復旧したのでその辺は最早誤差な気がする(よくない)。

 

なお読み込んだ内容を別のHDDへそのままコピーしたい場合はそういう方法もある。めちゃめちゃ重かったしパソコンに負荷が掛かる様子だったのであんまりお勧めはできない。論理障害が復旧すればちゃんとマウントできるようになるので、それから中のデータを直接移してもよさそうだ。

blog.webico.work

おしまい

筆者のHDDが急に論理障害を起こした理由はよく分からない。その前に使った時は正常に抜いたはずだった。しかしながら、取り外しを忘れてうっかりUSBハブごとパソコンから抜いたり、コードを引っ掛けて接続が外れたりすることがあったので、前科が蓄積されていたような状態だったのかもしれない。

修復方法を直しながら読んだ記事の中に、そもそも論理障害を起こすようなHDDは瀕死なのだから、データ復旧した後はきちんとデータを別のHDDへ抜き取るように、とあった。筆者も別のHDDへ全データを移行したところである。

 

Take Home Messageはこんなところ

  • Macで使っているHDDが変?! ☞ まずはディスクユーティリティで状況確認
  • どうやら論理障害を起こしているようで読み取れない ☞ フリーソフト StellarDataRecovery を使ってみてもよいかもしれない
  • 【重要】外付けのHDDに保存してある情報も、別のHDDへ定期的にバックアップを取っておくこと!

ひとえに最後のひとつができていなかったがための悲劇である。今回は上手いことデータ復旧できたからよいようなものの、そして趣味のデータだったから良かったものの、これが仕事上のデータで復旧も叶わなかったとしたら目も当てられない。HDDだってSSDだってフラッシュだって、絶対は無いのだから、必ず定期的にバックアップを取っておこう!

 

筆者も反省して新しいHDDを買おうと思います。

Transcend USB3.0 ポータブルHDD StoreJet2.5 2TB 3年保証 TS2TSJ25H3B(ブルー)

Transcend USB3.0 ポータブルHDD StoreJet2.5 2TB 3年保証 TS2TSJ25H3B(ブルー)

  • 発売日: 2014/04/25
  • メディア: Personal Computers
 

 

【211217投稿後追記】Stellarが使えなくなっていた

この記事を出してから2年近く、またHDDが論理障害を起こして壊れてしまった。しょうがないのでStellarを使おうとしたところ、2年の間に無料版の容量制限が100GBに下がっており、Quick scan/deep scanの使い分け機能もなくなってしまっていた。どうやら無料トライアルでアップグレード版も使えるようだが、どうも上手くいかなかったので、違うフリーソフトを探してみた。

 

ころころとネットで探していたら最初に見つかったのは「FonePaw データ復元」。Quick scan/deep scanという機能もStellarに似ていたので落としてみたが、結論から言うと全く使えなかった。トライアル的に無料で使えるが、アンマウントされている外付けHDDは認識対象外のようである。内蔵ディスクが壊れた時には使えそうな雰囲気だが、その時にはパソコンも動かない気がする。

www.fonepaw.com

結局今回は「EaseUS Data Recovery Wizard」のフリー版を使うことにした。選択肢はDeep scanしかなかったが、復旧させてくれたのでよいことにしよう。但し4TBのHDDをスキャンしたので、結局1日半くらい繋ぎっぱなしになってしまった。また設定のせいなのか画面がスクリーンセーバーにならないままずっと経過していたので、注意した方がよいかもしれない。

jp.easeus.com

関連:Mac / 外付けHDD / マウントされない / 認識しない / 動かない

*1:正式な呼び名がわかんないのでお茶を濁している

*2:マウントされているのに修復が必要になったときにやること:

  • 修復したいディスクのアイコンを右クリック→「取り出し」を選択 or 「⌘+E」で取り出し
  • ディスクユーティリティでディスク名を右クリック→「取り出し」を選択

このどちらかをきちんとやりましょう。なおこちらの記事でも書かれているようにコマンドラインでもアンマウントできる。

*3:これはターミナルで上の行と同じコマンドを使いたい時の小技。

*4:……らしい。筆者は後述するように、第1段階が終わって第2段階に入ったくらいでアホな理由からアンマウントしてしまったので、第2段階が要るのか、それともプログラムは既に動いていたのか違いが分からないでいる

Live Moon ブログパーツ