Catalinaのパッチ結論5.25インチベイに取り付ける取り外し可能なHDDケース今のMacintosh製品には5.25インチベイが無いです。最近の自作PCケースも、5.25インチベイの無い製品が増えていますが、あれば色々便利です。中でも、簡単に5.25/2.5インチドライブを取り付け・取り外しできるリムーバブルディスクケースは便利だと思います。自作していれば、小容量の古いHDD/SSDが余ってしまいがちです。それが簡単に取り付けられるリームバブルケースがあれば、大容量のデータを高速にコピーして持ち運ぶとか、新しいバージョンのOSを実験的にインストールするとか、いろいろな場面で便利に使えます。市販の製品5.25インチベイ自体が廃れ始めているので、製品もひところに比べたら少ないですが、いくつかあるようです。5.25インチと2.5インチの両方が入る製品が多いようです。隙間にUSBコネクタを装備している製品とか、光学ドライブも入れられる製品もあります。ちなみに、大は小を兼ねるので、5.25インチが一台だけしか入らないケースも、工夫すれば2.5インチもなんとかなります。2.5/3.5HDD/SSDのSATAコネクタは、なんども抜き差しする前提で設計されていないので、壊れやすいと言われています。したサーバで使うホットプラグケースでは、強度の高いコネクタ付きトレイを用意してHDDをネジ止めする構造になっています。素人がちょっとした実験で抜き差しするくらいなら、全然問題ありません。ねじ止めしなくても取り付けられるケースが楽です。これらの製品は、ホットプラグ対応を謳っています。電源を入れたまま、HDD/SSDを抜き差しできるという意味です。これは電気的に問題を起こさないという意味であって、マウントしたままいきなり取り外すと当然ですがデータが損傷する可能性があります。非マウント状態にしてから抜き差しする必要があります。ホットプラグなドライブアイコンドライブはmacOSでいろいろなアイコンで表示されます。一般的なHDD/SSDは銀色のアイコンです。古い感じのハードディスクの形です。USBメモリーは白いアイコンで表示されます。スリットがあるので、光学ドライブの絵なのかもしれません。取り外し可能なHDDなどはオレンジ色のアイコンで表示されます。取り外し可能なドライイブアイコンの隣には、イジェクトアイコンが表示されていて、これを押すとアンマウントされます。上で紹介したリムーバブルケースは、取り外し可能なディスクなので、イジェクトマークのあるアイコンになるべきです。USB接続と違い、リムーバブルケースからマザーボードへは内蔵ドライブと同じSATAケーブルで接続します。マザーボードから見たら、SATAコネクタが内部のHDDに接続されているか、もしくはリムーバブルHDDケースに接続されているのかの区別はつきません。人手で指定する必要があります。いくつかのマザーボードではデフォルト設定として、インテルのチップセットに接続されたドライブを内部ドライブ(銀色アイコン)にしています。一方で、チップセットのSATAに加えて追加SATAチップを搭載して、SATAの数を増やしている場合、追加のSATAチップに接続はリムーバルボリュームに設定されていることが一般的です。全てをホットプラグ対象とみなすマザーボードも中にはあります。した割り当てで、内蔵ドライブがオレンジ色のアイコンになってしまうことがあります。いったkextが用意されていました。これらのkextの主な目的は、オレンジ色のアイコンを銀色に戻すことです。これらのkextは最近のmacOSでは機能しないことが多いので、あまり使われなくなりました。BIOSでホットプラグと設定マザーボード搭載のSATAに接続したドライブがリムーバブル(ホットプラグ)なのかどうかは、BIOS設定で指定します。下はMSIのマザーボードの例です。この機能で、それぞれのSATAコネクタに接続されているドライブが、固定ドライブなのか、ホットプラグさせるドライブなのかを設定します。これが一番理想的ですね。この方式ならば、オレンジアイコンの割り当てを正しく行うことができます。後述するように、BIOSでホットプラグに設定しても、macOSで必ずしもオレンジアイコン表示にはならない場合もあるようです。銀色アイコンで、イジェクトマークがついていないドライブでも、ゴミ箱方向へドラッグ&ドロップすればアンマウントできます。ディスクユーティリティを使ってもアンマウントできます。してもアンマウントできます。銀色アイコンとして認識されているSATAドライブは、起動時に接続されていなければ認識されません。macOS起動後に接続しても認識されません。起動時に接続されてマウントされても、その後で一旦アンマウントしたら、もう一度接続しても認識されません。リムーバブルケースで接続する場合は、オレンジ色のアイコンで認識されないととても不便です。macOSでホットプラグBIOSレベルでホットプラグに設定しても、macOSでオレンジアイコンにならない場合があります。銀色アイコンの状態では、起動時にはマウントしますが、ホットプラグによりマウントしてくれない状態になります。SATAチップの種類、マザーボード、macOSのバージョンなどで対応が異なるようです。Z97マザーボード+Sierra以前この記事を最初に書いた時点では、MSIのZ97チップセットマザーボードでSierraで動かしていました。BIOSのホットプラグ設定をすると、macOSでもオレンジアイコンになりホットプラグでマウントされ、安定に動作していました。Sierraになった時点で、BIOSで設定しても銀色アイコンのままのこともあり、動くこともあるようです。(Z390)マザーボード+Catalinaの組み合わせでは、BIOS設定のホットプラグが正しくオレンジアイコンに表示されることも何度かありました。その時は、スリープしても問題ありません。何度も起動して確認すると、マウントされないこともあります。Catalina以前、macOSと互換性のあるPCIe拡張SATAカードをご紹介しました。macOSPCIe拡張カードでSATAを増設するhttps://bootmacos.com/entry/2019/05/25/231747SATAポートをASM1061搭載の格安PCIe拡張カードを使って増設しました。macOSから見たSATAチップの互換性は高いようで、大抵の拡張カードはそのまま「一般的なSATA」として認識されて動作します。00000000AppleAHCIPortというパッチを当てれば、ASMediaやMarvellのチップでホットスワップできるようです。元のサイトの説明では、SATAポートデュプリケータの不具合に対応するパッチらしいですが、ホットプラグ問題も解決するようです。</array>を追加します。QGACAA==が40600200で、AAAAAA==は00000000です。これでホットスワップが動くようになり、スリープしても大丈夫でした。ASM1061チップセットカードの両方で動作を確認しました。Catalinaのパッチコメントでまっくぷろさんからいただいた情報によると、こちらで紹介されているパッチもしくはその変形を使うと、Z390チップセットのSATAをホットプラグ対応にできるようです。9090AppleAHCIPortのようです。これに対するBase64文字列を、上で紹介したように、config.plistのKextsToPatchセクションに書き込んでおけば良いようです。このパッチのいずれでも動かないようでしたら(もしくは将来のmacOSバージョンで動かなくなったら)、AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPortをバイナリーサーチして40200000を検索して、その前後から上記のようなパッチを作れば良いようです。10.15.3での実施例です。バイナリーをhexdumpしました。e2この方法では、運悪く改行にかかっているとデータ列が見つからない可能性はありますが、首尾よく発見できました。他には存在していないようです。9090AppleAHCIPortというパッチで良いようです。詳しくはこちらをご覧ください。base64kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=です。</array>を追加します。これでBIOSでホットスワップ指定したチップセットSATA接続ドライブがオレンジ色アイコンになり、随時マウント・アンマウントできるようになりました。スリープしても問題ありませんでした。結論ホットプラグできるリムーバブルベイは便利です。チップセットSATAの場合は、BIOSでホットプラグを設定します。それでもmacOSにホットプラグ対応と認識されない場合は、AppleAHCIPort.kextにconfig.plistでパッチを当てます。MarvellのSATA拡張カードを使っているので、拡張カード用のパッチを当てることにしました。macOSさん、このトピックはDat落ちしそうに古いですが、5.25インチベイに取り付ける取り外し可能なHDDケースは意外と重宝しますね、常時そのベイに7200rpmのHDDとか付けてると、前面から直風の冷却なしにつかわないと、あっという間にチンチンに熱くなって、結構苦闘した思い出があります。Blackhttps://www.shopmania.co.za/system-accessories/p-icy-dock-mb971sp-b-mobile-rack-2-5-3-5-sata6g-hdd-in-5-25-bay-black-19722169今はこれを検証機的な用途の古いケースに3台付けたままになってます。Sierraになって以下のホットプラグがうまく動かなくなりました。>私の環境だけなのかもしれません。確かにHighSierraからだったと思いますが、ホットプラグ?、ホットスワップが無効化されちゃったですね。スノレパかライオンのときは、システムプロファイラー>SATA>該当のポートをクリックして、メニューからファイル>情報を更新を選択したら、繋いだHDDが認識できるような感じだったと思います。今では外部ドライブ起動とかホットスワップによるセキュリティー上の懸念があるのか、元々MacにはeSATAコネクタが付いてるわけでもなく、必要最小限のSATAコネクタしかないんで、いらねぇ〜機能なんで無慈悲に無効化しますっていうことなのか不明ですけど、私は結構に今でもSATAでホットプラグとホットスワップは使いたい派なので、適当なパッチを見つけてはそれを当てて使ってました。アップデートタイミングでAppleAHCIPort.kextが変わってしまうと、パッチが効かなくなって、それを探すのに苦労するという悪循環。カタリナ10.15.3でも当然のごとくホットプラグ動かず、現時点でまだパッチが出回っていない感じです。動かないからパッチくれって言ってる人は何人かいるみたいですけど。PlugをEnableにした状態でインテルのZ390チップセットについてるAHCIでは、起動時にHDDが繋がっているポートであればホットスワップできる感じ、しかしながら、デバイスに何も繋がっていないポートでただ単にマザボから引っ張り出した別のSATAポートへeSATAの外付けHDDなどをつなげて電源ONしても梨の礫で、すぐにHDDの回転止まって認識しませんね。7シリーズのAHCIだとこのパッチだけでも普通にホットプラグでもOKだったりします。PCIeのカードとかを挿した状態だと、もしかしたらこのパッチだけでもホットプラグもOKかもしれないですけど、手元に同カードがないんで不明です。hot-plugとうたわれてるパッチも10.15.3で試したりしたんですがZ390チップセットについてるAHCIではなんの効果もない感じ。該当するバイナリは存在しないんで。17G11023は、329.50.2ではこのパッチが効く可能性ありです。Plugパッチのmodで無責任てきとう自前パッチをこしらえるとどうなるかというので、10.15.3のAppleAHCIPort.kextを覗いてみて似ているバイナリ部分探してみたら、意外と似ている部分を見つけたのでパッチのmodを作ってみました。Replaceは元のパッチに同じで90(これは実際のところ全部Nop命令で埋めてるのかな?)で埋めちゃう作戦したら、見事にホットプラグ復活しましたという結末。元のパッチの内容を理解できてないんであくまでも実験ですけど、当面これをテストしつつ、どこかの国の有志の方がちゃんとしたパッチ作ってくれるまでこれで逃げちゃうつもりでいます。19D76に適用した状態で簡単な起動とSATA接続のソフトウェアRAID0の認識、読み書き、SATA接続の単体HDDのベンチマークのテストCCCでOS戻し作業はOKでした。0000>いずれにしても、HighSierraからホットプラグとホットスワップは無効化されてるっぽいので、使いたいならパッチ当てないと無理な感じですね。PMこれは良い情報をありがとうございます。手元の環境でも試してみます。macOSさん、そちらの環境でも検証お願いします。53415441は、(互換性向上?のため)入れといた方がいいかもです。あと、HDDオレンジアイコンのパッチは↓これで一括で内蔵HDDに戻ります。726E616Cこちらでは、実害のある副作用は今のところ確認できてません。Tuxeraとかファイルシステム系のKextを併用した環境(マルチブート環境?)でのCatalinaでは再起動後にfseventsd-uuidが勝手にゴミ箱に出現したりしますね(普通に削除可で問題無し?)。あと内蔵SATAでRAID0組んでる場合で、Wake時に再マウントしない(手動でマウントはできるので問題無し?)とかの現象は確認しました。今後のCatalina、Mojaveアップデートで機能しなくなった場合の考察としては、お気づきかもしれませんが40200000がKeyです。Bytes)でアップデート時に微妙にスクランブルがかかってくるようです。Bytes)をパッチのFindの対象にしたパッチを自前することで、今後も安定的に?使い続けることが可能であると思われます。AMSATAのホットプラグを常用した運用する場合は、Sleep時の対策でSDカードとかの外付けドライブと同じ感覚でドライブの取り出しツールの併用も考えないといけませんね。PlugをONにした状態だったかもしれくて、Jettson併用してたので、Sleep時にEjectされたことでWake時に自動マウントされなかったかもしれないと思い返しました。PM教えていただいたパッチを試して記事に反映しておきました。ありがとうございました。コメントをキャンセルメールアドレスが公開されることはありません。date*「名前」「メールアドレス」「サイト」は空白でも投稿できますが、日本語が含まれない投稿は無視されます。