LoginSignup
17
14

More than 5 years have passed since last update.

Mac をシングルユーザモードで復旧(?)したメモ

Last updated at Posted at 2017-11-09

仕事用 Mac が壊れてなんとか使えるようになるまでの記録です。

運悪く Time Machine が壊れている時 Mac が起動しなくなった。そこでわざわざデータのサルベージに一日費やす羽目になってしまった。Time Machine 用の HD は丁度一年前くらいに調子が悪くなり交換を依頼したのだがまだ使えるからという事でフォーマットして騙し騙し使っていたら2週間前くらいにハード的に壊れた。寿命は三年半くらい。念のため三年くらいで交換しておけばよかったと後悔した。それから後を追うように Mac 本体の SSD が逝ってしまった。Diagnosis を信じるとこちらはハード的にはまだ大丈夫そう。

症状: Mac を立ち上げログインを試みるとプログレスバーが途中で止まり電源が落ちる。

シングルユーザモードで外付けハードディスクにデータをサルベージする。

まずシングルユーザで起動する。私の場合以下の操作が必要だった。

  • Mac の電源を入れる。
  • すぐに Command + s を押す。
  • 画面にうっすらとカーソルのような小さな四角い箱が表示されて消える。
  • ログイン画面になるのでパスワードを入れてログイン (多分そのままシングルユーザにならないのは暗号化してるから?)
  • 真っ黒な画面なコマンドを受け付ける画面になる。

ここで、

# /sbin/fsck -fy

とやると運が良ければディスク修復が出来るらしいが、私の場合は

CreateNewBTree returned -34
   Disk full error
** The volume Macintosh HD could not be repaired.

となって諦めるほかないか。いや、この時点でファイルシステムはまだ読めているので諦めるのは早い。せめて外付けハードディスクに読めるデータを避難させて、OS の再インストールを行う事にした。まず、そのまま

# ls /dev/disk*

で現在のディスク名割当状況を見て USB ハードディスクを接続し ls /dev/disk* すると新しいディスクは disk2 に割り当てられた。ここででマウントポイントを作っておく。シングルユーザモード起動時ルートファイルシステムは読み込みモードになっているので、書き込み可能にしてマウントし直す。

# mount -uw /
# mkdir /tmp/mnt

fstyp でファイルシステムを調べてここへマウントする。

# fstyp /dev/disk2s2
hfs
# mount -t hfs /dev/disk2s2 /tmp/mnt

あとはホームディレクトリのコピーを行うだけ。中断してやり直す事を想定して rsync を使ったが、遅くてイマイチだった。

# mkdir -p /tmp/mnt/2017-11-08/Users/hoge
# rsync -av /Users/hoge/ /tmp/mnt/2017-11-08/Users/hoge/

不思議なことに、ここで

# exit

とやるとちゃんと通常の Mac OS 起動直後の画面に行くことが出来た!ただいつ壊れるかわからないので名残惜しいが OS の再インストールを行い、細々と必要アプリをインストールし直している所。

参考

試したこと。

以下どの方法も解決の役に立たなかった。

17
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14