iMacのディスク名でハマったが復旧してみる

誕生祝いにiMacを買いました。xcodeemacsをコンパイルしようとしたらディスク名に空白が入っていてエラーになるので、ディスク名から空白を除いたところ、大いにハマったのでその記録です。

ご存知とは思いますが

Macでは、伝統的に、ハードディスクに"Macintosh HD", "Macintosh HD 2"の様な名前がデフォルトで付けられます。空白が問題を起こしそうな香りがプンプンします。インストール時に変えてやれば良かったのでしょうが、面倒でそのまま使ってました。

xcodeでのエラー

xcodeというかビルド時のスクリプトの問題ですが、ファイルのパスに空白があるとエラーになってしまいます。
例えば、emacs-23.3をソースからビルドしようとして、
"/Volumes/Macintosh HD 2/Users/tetsu/work/emacs-23.3"
にソースをおいてconfigureすると、

$ ./configure --with-ns --without-x
...
grep: /Volumes/Macintosh: No such file or directory


のように、Macintoshの後ろの空白のせいでスクリプトが勘違いを起こします。

やっちゃったこと

"Macintosh HD 2"の空白が悪いので、"MacintoshData"のような空白の含まれない名前にすればいいじゃないかという発想。"Macintosh HD 2"には自分のホームディレクトリが置いてあるので、下手をするとマズイことになるかと思い、下調べした。

  • ディスク名はファインダーから普通に変えて良い
  • ホームディレクトリを見失っても後で復旧できる

というような情報があったので、トライして見ることにした。

ファインダーでディスク名を変更。するとすぐにDropBoxが同期対象のディレクトリが見つからないとエラーを出すが、あとで直せばいいと、無視して再起動する。

起動したのでログインしようとしたら、できない。

試したこと

  • シングルユーザモードでディスク名を"MacintoshData"から"Macintosh HD 2"に変更 → 変わらず
  • Time Machineでシステムディスクを復元 → 変わらず

結局こうやって復旧

  • command-Rでリカバリモードで起動
  • resetpasswordでパスワードをリセット
  • rootユーザにパスワードを設定

こうすると、自分のアカウントではログインできないのは相変わらずだが、rootでログインできた。
rootでログインして、ディスクの名前を"MacintoshData"から"Macintosh HD 2"に変更してログアウトしたら、自分のアカウントでログインできるようになった。
セキュリティ的にまずいかもしれないが、rootアカウントは有効にしておいたほうが良いかも。あるいはrootアカウントの有効化手段を覚えておくか。

まだわからないこと

ホームディレクトリが置いてあるディスクの名前を安全に変えるにはどうしたら良いのでしょうか。