雨と弓

ヘタレ人生、貧乏神の七光り

El CapitanがなくてもDirect Modeに必要なIOAudioFamily.kextを取得する方法

過去記事でSierraでAudirvanaのDirect Modeを使えるようにする記事を紹介しました。

すごく有意な記事だと思います。
でも少し気になることがあり…水を差しちゃったみたいです^^;

SierraでDirect Modeを使えるようにするためにはEl CapitanのIOAudioFamily.kextが必要になりますが、バックアップを取っていなかったりEl Capitanをダウンロードできない人は基本的に入手できません。

そこで“クレ”するのはいただけませんが、そういう人たちの希望を奪ってしまった(?)ことに少し後ろめたさを感じ…編み出しましたとも。

El CapitanをインストールすることなくIOAudioFamily.kextを取得する方法を!

この記事のメリット

  • El Capitan本体をダウンロードする必要がない
    本体は6.22GBありますが、この記事では717.9MBで済みます。
    さらにダウンロードにはApp Storeを介さないので、El Capitan本体をダウンロードできない人*1も可能です*2
  • El Capitanをインストールせずに済む
    OSをインストールしないため、HDD・SSDUSBメモリ等の媒体は必要ありません。さらに時短にもなります。

この記事のデメリット

  • 手順がやや難しい
    El Capitanをインストールする正攻法のが時間はかかりますが手順が確立されており、より安全です*3
    あくまで何らかの理由でその方法を選べない人向けに書いています。
  • 少し危険
    使うツールは標準アプリですが、操作によってはMacにクリティカルダメージを与えることも可能なものです。
    とはいえ、この記事を必要としている多くの人は取得後に同様の操作を求められるはず*4なので、これを避けるようではこの先も難しいでしょう。
  • 取得できるものは完全ではない
    この記事で取得できるIOAudioFamily.kextは、正攻法のものと厳密には異なるようです。詳しくは6:付録をご覧ください。

始める前にご注意

  • 手順に必要なリンクを貼りますが、安全の確認と確保はご自身でおこなってください(これはここに限らずあらゆるリンクに言えます)
  • 記事の誤りや操作のミス、その他諸々に関する損害の責任は負いかねます
  • 実行する前に必ず一度最後まで目を通してください
  • 細かいサポートはしません。できません*5調べてください

上記を了承し挑む方は、いざっ↓

あんまり細かいことは書きません。サクッといきましょうb 

基本文字の世界なので、画像少ないです^^;

必要なモノを揃える

1:作業の準備

この作業では終始ターミナル.appを使用します。

f:id:leiurus:20161206170235p:plain←これ

Launchpadのどこかにあると思うので、立ち上げてください。
立ち上がるとテキストエディットのようなものが開きます。

軽く説明すると、このターミナル.appは特定の文字列を入力することで、Mac上のあらゆる操作をすることができるものです。

普段制限されているような操作もできるので、Macの起動に必要なファイルを削除したり壊したりもできます。

イメージ的にはハッカーが出てくる映画のシーンのソレで、だいたいあってる。

また、基本的にUndoできません。
操作には十分お気をつけください(誤タイプが心配であればコピペする方法があります)

2:ファイルの準備

ダウンロードしたosxupd10.11.6.dmgをダブルクリックしてマウントしませう。

f:id:leiurus:20161207230721p:plain←これをダブルクリック

マウントしたら、ターミナルの操作に入ります。
(本来この項目の作業はマウスでできますが、以降の手順に向け慣れるためターミナルを使うことにします)

まず、作業用のフォルダを作ります。

mkdir PkgCopy

と入力し、Returnキーを押してください。
(以下都度Returnとは書きません。1行入力ごとにReturnしてください。基本1行ごとに書いていきますが、横幅の都合による改行に注意してください。また、処理によっては反応が無いように見えることもありますが、じっと我慢して待ってください)

作った作業フォルダに入っておきましょう。

cd PkgCopy

次、先ほどマウントしたファイルをPkgCopyにコピーします。
(万一ファイルを壊してしまった時にまたダウンロードするのが嫌なので)

cp "/Volumes/OS X El Capitan Update/OSXUpd10.11.6.pkg" .

↑行の最後はピリオドです。気をつけて。

そして、作業中の一時保存用フォルダを作ります。

mkdir PkgTmp

 もちろん入りましょう。

cd PkgTmp

ここで保存したparse_pbzx2.pyをコピーして持ってきます。

cp ~/Downloads/parse_pbzx2.py .

↑文末ピリオドに注意。

これで準備が整いました。

次からが本番です!がんばりましょう!b

3:ちょす

ちょす:北海道弁で“いじる”の意(どーでもいい笑

先ほどコピーしたアップデートのファイルを展開します(待つ)

xar -xf ../OSXUpd10.11.6.pkg

処理後、元々の(PkgCopyにある)OSXUpd10.11.6.pkgと同名のファイルがPkgTmpにできますが、名前が同じなだけの別物です。
新しくできたこのファイルは、ファイルに見えて実は階層を持っているフォルダもどきなので入れます。入りましょう。

cd OSXUpd10.11.6.pkg

ね?入れたでしょ?

 

◆ 

余談ですが、ここでちょっと

ls

してください。isじゃないよ?エルエスだよ?

Payloadなる文字が出ると思いますが、今回の目的のブツはこの中に収められています。

が、このPayload。ただでは展開してくれません…
…実はこれを開くのがスンゴク大変でした…_:(´ཀ`」 ∠):

ま、方法がわかってしまえば簡単簡単٩( 'ω' )و

次からもサクッとやりましょうb

 

ここで謎のソースコードを使います(待つ)

python ../parse_pbzx2.py Payload

これで最大の難所が陥落したようなもの。
なにやらメッセージが出てきていますが、気にせず進みましょう・笑

あと少しですよ!

ls

すると、Payload.part00.cpio.xzのような名前のファイルができているはず。
(ファイル名や特に数字箇所は環境・状況によって異なるかもしれません。必要に応じて次のコマンド(cat ~)のファイル名の箇所を変更してください)

こいつを展開してやります(長めに待つ)

cat Payload.part00.cpio.xz | cpio -id

終わったらおもむろに…

ls

前回のlsの時にはなかったものができましたね?

LibraryとかSystemとか…見覚えありません?
そうです、これらってドライブ直下に配置されているものですよね!(違ったらごめん)

ここまでの手順で目標物は取り出せるようになりました。

じゃあ、早速次行っちゃう?(゚∀゚)

4:摘出

これがフォルダだったらクリクリしていけるから楽なのに、そうはいかないのでまだコマンド打ちますよ!

一気に打ち込んでデスクトップに摘出しちゃいます!

cp -a System/Library/Extensions/IOAudioFamily.kext ~/Desktop

さ、デスクトップをみてください。

IOAudioFamily.kextありますか?ありますね?無いはずないですよね?
はいっありました!笑

f:id:leiurus:20161206150201p:plainおめでとうございます!

それではターミナル.appを終了しましょう。
これまで開いた画面は全て閉じ、ディスクのマウントも解除して大丈夫です。

これにて完了です!お疲れさまでした。

つづきは過去記事で紹介したリンク先でお楽しみください(*´ω`*)

Mac OS Sierra で不採用となったDirect Modeを復活させる手順 – IT trip

5:最後に(片付け)

Finderでホームフォルダを見てください。

一番最初に作ったPkgCopyフォルダがあると思います。
このフォルダを削除すると綺麗さっぱり片付けられます。

ダウンロードフォルダにあるosxupd10.11.6.dmgやparse_pbzx2.pyは、用がなければゴミ箱へ。

今回はIOAudioFamily.kextに的を絞って説明してきましたが、パッケージに入っているもの*6であれば同様の手順で取得できるはずです。

また、El Capitan本体のインストールappでも同じ手順で処理できるかもしれません*7

誰かの何かに役立てば幸いです*8

6:付録

全ての作業を問題なく終えたターミナル.appはこういう感じになってるはず*9
(参考:実は内容がちょっと違います。間違い探し・笑)

f:id:leiurus:20161206151125p:plain

 なお、正攻法で取得したものと比べてみると、少し差がありました。

f:id:leiurus:20161206154547p:plain

左が正攻法の、右が今回のもの。

まず、作成日変更日が違います。そしてコピーライトも違います。
さらにサイズも若干違う@@;

中身を見てみたら今回のものはResources以下が無いらしい。

f:id:leiurus:20161206170704p:plain

気になるInfoPlist.stringsの中身はコピーライトの文章のようでした。

…で、コレ使えるのだろうか?(;´д`)

試しに置き換えてみた*10ところ、

f:id:leiurus:20161206154844p:plain

…マズいんじゃね?_:(´ཀ`」 ∠):

ところがOnyXでアクセス権を修復し再起動したところ、普通に使えました(*´ω`*)

f:id:leiurus:20161206155311p:plain

んーようわからん。
怪しいけど、動いているならまいっか・汗

誰か追試して?苦笑

おしまい!

*1:ニューマカーとか購入履歴がないとか

*2:Windowsでもダウンロードできた

*3:そもそもOSをいじろうとするあたり“安全”も何もないような気が…

*4:SIP解除とか

*5:当方はエンジニアではありません

*6:パッケージに入っているモノと場所はlsbom Bomを打ち込めばリストが出てきます

*7:インストール.appの中のContents→SharedSupportのInstallESD.dmgをマウント。その後PackagesのEssentials.pkgをpkgutilコマンドで展開するとPayloadが出てきます

*8:○ッキントッシュのテクニックで使うこともある様子

*9:Mac名やユーザ名が含まれるので、画像は似せて作ったものです

*10:めんどくさいんでSIP有効のままやった。認証を求められたけど普通にできた→後日クリーンなSierraで試したところ、やっぱりSIP有効だとダメでした。あれ?SIP切ったままだったっけ?