【2012年11月更新】DMGマウント時のカーネルパニック対策(Sandbox.kext / Seatbelt.kext)
ディスクイメージ(.DMG)のマウント時に発生するカーネルパニック(KP)は、使用中のカーネルと Sandbox.kext / Seatbelt.kext のバージョン不一致が原因です。各カーネルバージョンに対応するKextのSHA1チェックサム一覧と手動導入手順を解説します。
- 筆頭著者
-
@lanceomni
公開日: 2009-01-22
- 収録コレクション
- Leopard 10.5
- アーカイブ記録規模
- 累計閲覧 334,965 回 · 厳選フィールドノート 15 件(全 20 件の投稿より抽出) · 2009-01-22 – 2012-11-26
- 参加・検証メンバー (11)
- @lanceomni (7)@eMatoS (3)@oneshot (2)@pαuℓzurrr.@nfoav8or@CamEdwardo@Sokairyk@Taisto@ptesone@Thomasasz@gils
- 対応ハードウェア参照
- SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗ AMD Radeon GPUs (QE/CI) ↗
DMGマウント問題と Sandbox.kext / Seatbelt.kext の整合性について
* 最終更新:2012年11月25日
問題の概要
ディスクイメージ(.DMG)をマウントする際に発生するカーネルパニック(KP)は、使用しているカーネルのバージョンに適合した正しい Sandbox.kext または Seatbelt.kext が導入されていないことが原因で起こります。カーネルのビルドと一致する適切な Seatbelt.kext / Sandbox.kext を組み合わせることで、このディスクマウント時の不具合を解消できます。これは非バニラ(パッチ適用済み)カーネルを使用している環境で非常によく見られる典型的なトラブルです。
Sandbox.kext と Seatbelt.kext の役割とは?
どちらもサンドボックス(セキュリティ機構)のカーネル拡張実装です。詳細についてはこちらを参照してください:http://en.wikipedia.org/wiki/Sandbox_(computer_security ↗)。「Seatbelt」はApple内部で使われていた開発コードネームで、OS X 10.5(Leopard)時代にはこの名称が使われていましたが、10.6(Snow Leopard)以降は「Sandbox」へと改称されました。
12.2.0 カーネルには 10.8.0 付属の Sandbox.kext が必要です (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
12.1.0 カーネルには 10.8.0 付属の Sandbox.kext が必要です (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
12.0.0 カーネルには 10.8.0 付属の Sandbox.kext が必要です (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
11.4.2 カーネルには 10.7.5 付属の Sandbox.kext が必要です (drop box.com/s/a87rle8xf2uitvu/Sandbox.kext1075.zip)
Version 177.8 Build 3 Source 177008000000000
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
11.4.0 カーネルには 10.7.4 付属の Sandbox.kext が必要です (drop box.com/s/9jcfrljqexzm96y/Sandbox.kext1074.zip)
Version 177.5 Build 11 Source 177005000000000
SHA1=639c01e5dbf243225612412b97af91d14dd085ed)
11.3.0 カーネルには 10.7.3 付属の Sandbox.kext が必要です (drop box.com/s/rrusjrh9dtfut4k/Sandbox.kext1073.zip)
Version 177.3 Build 6 Source 177003000000000
SHA1=1cdb7b14492a7448f7e7dfe117bf86661a072196
11.2.0 カーネルには 10.7.2 付属の Sandbox.kext が必要です (drop box.com/s/2ao8g03gf2haxdv/Sandbox.kext1072.zip)
Version 165.3 Build 2 Source 165003000000000
SHA1=2892f56c6f0e963bbdb9dd05a840e02cedb3e5e1
11.1.0 カーネルには 10.7.0 付属の Sandbox.kext が必要です (drop box.com/s/pnmfbrcoyfwe4mo/Sandbox.kext1070.zip)
Version N/A Build N/A Source N/A
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
10.8.0 カーネルには 10.6.8 付属の Sandbox.kext が必要です (drop box.com/s/rw1s1zco5aqmm0l/Sandbox.kext1068.zip)
Version 1 Build 86 Source 340100
SHA1=a4f5c98d747777781b92d12c517cdf18bc8b0692
10.7.0 カーネルには 10.6.7 付属の Sandbox.kext が必要です (drop box.com/s/ebaa3scr9ay5ir5/Sandbox.kext1067.zip)
Version 1 Build 54 Source 340100
SHA1=f406659a15d084749b9d9274466a096bc9cf4b89
10.6.0 カーネルには 10.6.6 付属の Sandbox.kext が必要です (drop box.com/s/lwbw3vbl32ei7jc/Sandbox.kext1066.zip)
Version 1 Build 13 Source 340100
SHA1=83e7e2f0882c0b0126ba8ddce8630b0a4375565f
10.5.0 カーネルには 10.6.5 付属の Sandbox.kext が必要です (drop box.com/s/bd9e91x9923hdxf/Sandbox.kext1065.zip)
Version 1 Build 9 Source 340100
SHA1=ea657bd1b40d16e14d43aa11979b6efa5d3df0dc
10.4.0 カーネルには 10.6.4 付属の Sandbox.kext が必要です (drop box.com/s/j5f4bbc0is95ktj/Sandbox.kext1064.zip)
Version 0 Build 300 Source 340000
SHA1=8ab3f051cf49387010e273f3b1eccd6f00935f8e
10.3.0 カーネルには 10.6.0 付属の Sandbox.kext が必要です
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
10.2.0 カーネルには 10.6.0 付属の Sandbox.kext が必要です
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
10.1.0? カーネルには 10.6.0 付属の Sandbox.kext が必要です
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
9.8.0 カーネルには 10.5.8 付属の Seatbelt.kext が必要です (drop box.com/s/5ee21mbhdws4wsf/seatbelt.kext1058.zip)
Version 107.12 Build 78 Source 1071200
SHA1=02283813a609583a6de7c7895fce22a59a09a789
9.7.0 カーネルには 10.5.7 付属の Seatbelt.kext が必要です (drop box.com/s/qf3w9v9xbbn4asr/Seatbelt.kext1057.zip)
Version 107.12 Build 63 Source 1071200
SHA1=fa50ed67f12d72c24ee28f61f1b971b0d13a407b
9.6.0 カーネルには 10.5.6 付属の Seatbelt.kext が必要です (drop box.com/s/7s9xucltiu2e3hx/seatbelt.kext1056.zip)
Version 107.10 Build 45 Source 1071100
SHA1=2e9774fd74575f438a7d18b8805fff37a189ebaa
9.5.0 カーネルには 10.5.5 付属の Seatbelt.kext が必要です (drop box.com/s/toezdlvdb78t2uf/seatbelt.kext1055.zip)
Version 107.10 Build 14 Source 1071100
SHA1=0e07c564d78b78327ee3f4c99fb96147986a04c8
現在インストールされているバージョンの確認方法
ターミナル(Terminal)を開き、以下のコマンドを入力してカーネルのバージョンを確認します:
uname -a
OS X 10.8 Mountain Lion
Mountain Lion 向けの Sandbox.kext は1種類のみです。
OS X 10.6 Snow Leopard 〜 10.7 Lion
以下のコマンドで Sandbox.kext のバージョン(ハッシュ値)を確認します:
openssl sha1 /System/Library/Extensions/Sandbox.kext/Contents/MacOS/Sandbox
OS X 10.5 Leopard
以下のコマンドで Seatbelt.kext のバージョン(ハッシュ値)を確認します:
openssl sha1 /System/Library/Extensions/Seatbelt.kext/Contents/MacOS/Seatbelt
出力された SHA1 チェックサムを上記のリストと照らし合わせてください。また、各ソースバージョンと SHA1 チェックサムの一覧も記載しています。
SHA1 チェックサムとは、特定のアルゴリズムによって算出されるファイル固有のハッシュ値です。ファイルに少しでも変更が加えられると、同じハッシュ値にはなりません。Kext の実体はディレクトリ(フォルダ)構造であるため、ハッシュ値を生成するには内部の特定ファイルを指定する必要があります。ここでは Sandbox.kext / Seatbelt.kext の実行バイナリ本体を対象としています。
これらのファイルの抽出元について
上記で提供しているファイルはすべて、Apple公式サイトのアップデートパッケージから Pacifist(charles soft.com/ で入手可能)を使用して抽出したものです。
手動インストールの手順
システム関連のファイルは手動でインストールすることをおすすめします。どのファイルが何の役割を持ち、どこに配置すべきか、そして適切なアクセス権(パーミッション)と所有権(オーナーシップ)はどうあるべきかという理解が深まるからです。もちろん、これらを自動で行ってくれる専用アプリも多数存在します。(なお、以下のコマンド群には一部冗長な手順も含まれていますが、質問を減らし確実に反映させるためにあえて入れています)
要約手順:
ダウンロードした Kext をデスクトップにドラッグします。
(ご使用の環境に応じて、「Sandbox」の部分は適宜「Seatbelt」に読み替えてください)
sudo -s
mkdir /backup/Sandbox
cd /System/Library
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
cp -R ~/Desktop/Sandbox.kext Extensions/Sandbox.kext
chmod -R 755 Extensions/
chown -R root:wheel Extensions/
touch Extensions/
rm -Rf Extensions.mkext
diskutil repairpermissions /
ブートフラグ -v -f を指定して再起動します。
各ステップの解説:
1. システムファイルを変更できるよう、root 権限を取得します。
sudo -s
2. 既存の Kext のバックアップを作成します。まずルートディレクトリ直下に「backup」ディレクトリを作成し、さらにその中に「sandbox」ディレクトリを作成して保管先とします。ターミナルを開いて以下のように入力します:
mkdir /backup/sandbox
3. カレントディレクトリを /System/Library に移動します。これにより、以降入力するコマンドを短縮できます。
cd /System/Library
4. 現在の Sandbox.kext を新しく作成した「backup」フォルダへコピーします。
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
5. デスクトップにある Kext を Extensions フォルダへコピーします。
cp -R ~/Desktop/seatbelt.kext Extensions/seatbelt.kext
6. Extensions フォルダに適切な所有権(root:wheel)を設定します。
chown -R root:wheel Extensions
7. Extensions フォルダに適切なパーミッション(755)を設定します。
chmod -R 755 Extensions
8. Extensions フォルダのタイムスタンプを更新(touch)します。
touch Extensions/
9. 新しい Kext を含めて OS X にキャッシュを再構築させるため、既存の Kext キャッシュを削除します。
rm -Rf Extensions.mkext
10. ドライブのディスクアクセス権を修復します。
diskutil repairpermissions /
11. ブートフラグ -v -f を付けて再起動します。-v(Verbose モード):起動プロセス中の詳細なログ情報を画面に表示します。-f:キャッシュファイルを無視し、Extensions フォルダから直接 Kext を強制読み込みさせます。すでにキャッシュファイルは削除していますが、念のための予防措置です。
もっと短いコマンドで済ませる方法もありますが、Kext の導入でつまずきやすい方や、パーミッション周りのトラブルをまとめて解消したい方にとっては、この手順でひと通りカバーできるはずです。
サードパーティ製アプリケーション
サードパーティ製の Kext インストーラを使う場合は、自己責任にて以下のツールをご利用ください。
KextHelper mac update.com/app/mac/26865/kext-helper
KextWizard http://www.insanelymac.com/forum/topic/253395-kext-wiza… ↗
KextBeast http://tonymacx86.blogspot.com/2010/08/kextbeast-simple… ↗
Kext Drop cin dori.se
本記事に関する質問をプライベートメッセージ(PM)で送らないでください。このスレッドに直接返信していただければ、可能な限り早く回答します。私の PM の受信箱はしょっちゅう満杯になってしまい、本来の用途であるプライベートな連絡に使えなくなってしまいますのでご協力をお願いします。
コミュニティ検証報告・技術フィールドノート
全 20 件のオリジナル投稿から技術的価値の高い 15 件の検証報告を収録
これは本当に必要なスレッドでしたね。どうも検索機能の使い方を知らない人が多いようですから。
ありがとう、leanceomni。
これは他の [How-To] ガイドと同じセクションに並べておくのが良さそうですね。そのあたりはあなたにお任せします(あなた自身もモデレーターですしね :))。
同感です……非常に分かりやすくまとまっています。
そちらに移動させるかもしれません。とりあえずここと InsanelyMac の両方に投稿しておきました。というのも、少なくともあちらでは、この問題に関する質問が1日に12回くらいのペースで投稿されているような状態なので。
[追記] 皆さんご存じの通り、ユーザーというのはとかく視野が狭くなりがちで、「検索機能」を極端に怖がる習性がありますからね(言いたいことはお分かりかと思いますが)。なので、フォーラムのこの目立つ場所に置いておきたかったんです。
InsanelyMac の方で私の投稿がスティッキー(固定スレッド)になりました。もしあちらでこれ以上 DMG マウント問題の質問スレッドを見かけたら、崖から飛び降りそうですよ。
ええと、まずカーネルを変更してから seatbelt.kext を適用する必要があるのでしょうか?
現在 10.5.5 環境で、Voodoo 9.6.0 をインストールしています。
(DMG のマウント問題が起きています)
Voodoo 9.5.0 を入れ直してから、10.5.5 用の seatbelt.kext をインストールすべきでしょうか?
10.5.6 カーネル(9.6.0)が問題なく動作しているのであれば、Kext の方をアップデートすれば大丈夫ですよ。
@oneshot
お使いなのは Voodoo 9.5.0 でしょうか、それとも Voodoo プロジェクトをベースにした 9.6.0 派生カーネルでしょうか? Voodoo ベースのカーネルがいくつか出回っているのは知っています。
基本的に、現在のシステム環境に満足していて唯一の問題が DMG のマウントだけなのであれば、各コンポーネントのバージョンが噛み合っているかを確認すればOKです。OS 本体よりも新しいバージョンのカーネルを動かしている場合、System.kext と Seatbelt.kext 以外にどんな問題が起き得るかは私には分かりません(私自身は OS より古いカーネルを動かした経験しかないため)。
とにかく、9.6.0 カーネルを使用しているのであれば、System.kext も 9.6.0 のものにし、Seatbelt.kext も 10.5.6 付属のものに揃えておいてください。
@lanceomini
私の環境は OS X 10.5.5 です。
そこに Voodoo ベースのバージョン 9.6.0 カーネルをインストールしました。
ネットで Voodoo 9.5.0 を探してみたのですが、配布形式が .DMG なのでマウントできずインストールできないんです……。
大丈夫、インストールできますよ。DMG をマウントすればファイルが入ったフォルダが見えますし、もし Windows 環境があるなら UltraISO を使って DMG を開いてみてください。
10.5.6 用の Seatbelt.kext のリンクはこちらです。最初の投稿に記載している手順に従って、既存ファイルのバックアップを取った上でこの Kext をインストールしてください。
rapid share.com/files/214657998/seatbelt_1056.zip.html
MD5: 9E0F7C03B9586AAD8B6A3162D71B8786
この手順を試そうとして mkdir /backup/Seatbelt と入力すると、以下のようなエラーが出ます:
mkdir: /backup: No such file or directory
私は何を間違えているのでしょうか?
英語が拙くてすみません。
まだ存在していない「backup」というフォルダの中に「Seatbelt」フォルダを作ろうとしているためです。以下のように入力してください:
mkdir backup && mkdir backup/seatbelt
これでうまくいきますよ。
RapidShare のリンクはまだ生きていますよ。
Thomasasz さん、
[編集] プライベートリンクを削除しました [編集]
今でもカーネルと Sandbox / Seatbelt の不一致による DMG マウント問題で困っている方がいるかどうか分かりませんが、リンク切れに気づいたのでアップデートしておきました。
フィードバックは大歓迎です。本スレッドの最初の投稿をご確認ください。
@lanceomni今でもカーネルと Sandbox / Seatbelt の不一致による DMG マウント問題で困っている方がいるかどうか分かりませんが、リンク切れに気づいたのでアップデートしておきました。フィードバックは大歓迎です。本スレッドの最初の投稿をご確認ください。
こんにちは。
私の環境からはリンクは問題なく機能しているようですよ?
出典および貢献者来歴(クレジット登録 11 名 · 元スレッド #1992)
| ユーザー名 | 貢献ロール | 投稿数 | 活動期間 |
|---|---|---|---|
| @lanceomni | 筆頭著者 | 7 | 2009-01-22 → 2012-11-26 |
| @eMatoS | 主要貢献者 | 3 | 2009-01-22 → 2009-03-28 |
| @oneshot | 検証メンバー | 2 | 2009-03-27 → 2009-03-28 |
| @pαuℓzurrr. | 検証メンバー | 1 | 2009-01-22 |
| @nfoav8or | 検証メンバー | 1 | 2009-01-22 |
| @CamEdwardo | 検証メンバー | 1 | 2009-04-03 |
| @Sokairyk | 検証メンバー | 1 | 2009-04-26 |
| @Taisto | 検証メンバー | 1 | 2009-04-26 |
| @ptesone | 検証メンバー | 1 | 2009-09-19 |
| @Thomasasz | 検証メンバー | 1 | 2009-11-10 |
| @gils | 検証メンバー | 1 | 2012-11-26 |