LoginSignup
2
2

More than 5 years have passed since last update.

/System/Library/LaunchDaemons/com.apple.taskgated.plistをいじってMacが起動しなくなった時の対処法

Last updated at Posted at 2014-09-11

状況

Mac OS X 10.9 MavericksでgdbでGoのコードをデバッグするhttp://qiita.com/ymotongpoo/items/81d3c945483cae734122
の記事に従い
/System/Library/LaunchDaemons/com.apple.taskgated.plist
を以下のように編集したら起動しなくなった(このバグは自分が内容をよく理解できずに変更したことが原因だと考えられる・・・、いるかわからないが同じようにハマった人向けに記述する)

com.apple.taskgated.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>POSIXSpawnType</key>
    <string>Interactive</string>
    <key>EnableTransactions</key>
    <true/>
    <key>Label</key>
    <string>com.apple.taskgated</string>
    <key>MachServices</key>
    <dict>
        <key>com.apple.taskgated</key>
        <dict>
            <key>TaskSpecialPort</key>
            <integer>9</integer>
        </dict>
    </dict>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/libexec/taskgated</string>
-       <string>-s</string>
+       <string>-sp</string>
    </array>
</dict>
</plist>

対処法

  • 基本上で編集したファイルを元に戻す
  • そのためにシングルモードで起動する
  • read only file systemによりwrite protectがかかっているので、再マウントする

シングルモードで起動

  1. 電源ボタンを押して、コンピュータを起動します。
  2. その直後に、「command + S」 「S」キーはシングルユーザモードで起動という意味。黒い画面になったら離していい

再マウント

シングルユーザーモードになるとcuiで動作するので以下をタイプ+enter

mount -uw /

ファイルの編集

eamcs -nw /System/Library/LaunchDaemons/com.apple.taskgated.plist

emacs が起動する

以下に置き換える

com.apple.taskgated.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>POSIXSpawnType</key>
    <string>Interactive</string>
    <key>EnableTransactions</key>
    <true/>
    <key>Label</key>
    <string>com.apple.taskgated</string>
    <key>MachServices</key>
    <dict>
        <key>com.apple.taskgated</key>
        <dict>
            <key>TaskSpecialPort</key>
            <integer>9</integer>
        </dict>
    </dict>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/libexec/taskgated</string>
        <string>-s</string>
    </array>
</dict>
</plist>

注: emacsの編集コマンドはネットを参照のこと
emacs は ctrl + x ctrl + sでセーブ

emacs は ctrl + x ctrl + cで終了

最後にシングルユーザーモードを終了する

reboot

read onlyでchmodも使えない場合にいかに書き込み可能にするかがポイント

参考

2
2
1

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
2
2