<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ストレージ on Boot macOS</title><link>https://bootmacos.rinontech.com/tags/%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8/</link><description>Recent content in ストレージ on Boot macOS</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Sun, 30 May 2021 20:49:50 +0900</lastBuildDate><atom:link href="https://bootmacos.rinontech.com/tags/%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8/index.xml" rel="self" type="application/rss+xml"/><item><title>macOS で Thunderbolt 4 を使う</title><link>https://bootmacos.rinontech.com/posts/13119/</link><pubDate>Sun, 30 May 2021 20:49:50 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/13119/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2021/05/asrock_card.jpg" alt="Featured image of post macOS で Thunderbolt 4 を使う" /&gt;&lt;p&gt;ASRockのZ590 Extreme + 10900KマシンにThunderbolt 4増設カードを取り付けました。これにThunderbolt 3 SSDを接続して動作確認しました。macOS Big Sur 11.4とOpenCore 0.6.9の環境で動かしたところ、hot plugは機能しないものの外付けドライブとして認識されて、M1 MacBook Airと同程度の速度で使用できました。&lt;/p&gt;
&lt;h3 id="hackintoshでthunderbolt"&gt;HackintoshでThunderbolt
&lt;/h3&gt;&lt;p&gt;Thunderboltの状況について昔の記事で紹介しました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/60/" &gt;ThunderboltとHackintosh&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;現在もあまり変わっていないように思います。hot plugが効かなくても良ければ、つまり起動時に識別されるドライブや機器を使うだけならば、簡単に使用することができます。でもそれ以上の設定を行う場合には、色々と試行錯誤が必要のようです。Thunderboltの初期の頃に、外付けドライブの動作を試したことがありましたが、その時もhot plugは効きませんでした。今回も外付けドライブがとりあえず使えることを目標にします。&lt;/p&gt;
&lt;h3 id="thunderboltの3と4"&gt;Thunderboltの3と4
&lt;/h3&gt;&lt;p&gt;Thunderbolt 4は、ごく最近、500シリーズチップセットになってから登場した規格です。現行のIntel MacとM1 Macが採用しているのはThunderbolt 3で、4ではありません。なのでmacOSも3だけをサポートしていると考えて良いでしょう。&lt;/p&gt;
&lt;p&gt;とはいえ、Thunderbolt 3と4の違いはほとんどありません。最大データ転送速度はどちらも40Gbpsです。Thunderbolt 3の電気特性や仕様にばらつきがあったところを整理したのがThunderbolt 4なのではと理解しています。例えば3では、40Gbpsを実現するケーブル長が0.8mのものもあったところが、4では2mとされてます。また、3では使用するPCIeが2レーンである場合もあったところが、4では4レーンのみになり、32GbpsのPCIe最大データ転送速度が確保されるようです。この結果、PCIe拡張ボックス、Display Port接続などで4レーンの速度が必ず使えるようになってます。&lt;/p&gt;
&lt;h3 id="thunderbolt-3用ssd"&gt;Thunderbolt 3用SSD
&lt;/h3&gt;&lt;p&gt;Thunderboltの機能を確かめるために、Thunderbolt 3 対応SSDを用意しました。具体的には、以下のThunderbolt 3用SSDケースを用意しました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Hbe15a0b6453044c8b2996e3fcf98e5b99.jpg"&gt;&lt;/p&gt;
&lt;p&gt;少し分厚い (15mm) ですが、革風のエンボス加工がしてあって質感は良いです。内部にはNVMeのM.2 SSDを装着することができ、ヒートシンクも付属しています。搭載されているThunderboltコントローラチップはIntel JHL6540です。&lt;/p&gt;
&lt;p&gt;内蔵するSSDは&lt;a class="link" href="https://kakaku.com/item/K0001344733/" target="_blank" rel="noopener"
 &gt;価格コムで安かったPNYのNVMe Gen3 x 4の256GB&lt;/a&gt;にしました。今チェックしたら、倍近くに急騰している様子で、あまりお勧めではないかもしれません。パッケージには、読み取り1,700MB/s, 書き込み1,100MB/sと書いてありました。&lt;/p&gt;
&lt;h3 id="m1-macbook-airで動作確認"&gt;M1 MacBook Airで動作確認
&lt;/h3&gt;&lt;p&gt;自作機で試す前に、ちゃんとしたMacでどのように認識されて、速度が出るのかを確認しました。起動しているMacBook Airに接続したところ、hot plugが効いて、Thunderbolt/USB4ハードウェアとして認識されました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/about_m1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;MacもSSDもThunderbolt 3なので、Thunderbolt 3として認識されています。最高速度は40Gbps x 1となってました。ただ、ディスクユーティリティ.appで情報を見るとPCIe接続になっているようです。装置ツリーバスの値を、Hackintool.appの情報と比較したところ、この場所にはPhison Electronics社のPS5013というチップが接続されていました。調べたところ、NVMe SSDをPCIeに接続するコントローラチップで、M.2 SSDに搭載されているチップのようです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/m1_deskutil.jpg"&gt;&lt;/p&gt;
&lt;p&gt;これをAPFSでフォーマットして、AmorphousDiskMarkで測定しました。以下のように、SSDのパッケージに書いてある通りの速度が出ています。 &lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/speed_m1TB.jpg"&gt;&lt;/p&gt;
&lt;p&gt;参考までにM1 MacBook Air内蔵のSSDはこの倍くらい高速です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/speed_m1SSD.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Thunderboltドライブは取り外し可能ドライブとして認識されています。取り外した後、再度接続すると再認識されてマウントされます。hot plugが完璧に動作していることを確認できました。&lt;/p&gt;
&lt;h3 id="おまけ-z390のusb-type-cで使ってみる"&gt;(おまけ) Z390のUSB Type Cで使ってみる
&lt;/h3&gt;&lt;p&gt;MacでのThunderbolt SSDの動作確認ができたので、いよいよhackintoshで試してみます。まずは、Thunderboltの無い自作PCに、Thunderbolt SSDを挿すとどうなるのかを確認しました。使用したのはASUSのZ390マザーボードです。バックパネルにUSB Type Cポートがついていますが、Thunderboltではありません。OpenCore 0.6.9 + macOS Big Sur 11.4の構成です。ここにThunderbolt SSDを接続したところ、しばらくして以下のような通知が出ました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/tb4_Z390.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Thunderboltがついていないので当然の結果ですが、Thunderboltデバイスが接続されたということをmacOSが正しく把握していることが確認できました。&lt;/p&gt;
&lt;h3 id="asrockのtb-4カード"&gt;ASRockのTB 4カード
&lt;/h3&gt;&lt;p&gt;では、いよいよThunderboltハードウェアを搭載したhackintoshで試してみます。使用するマザーボードはASRockのZ590 Extremeです。最近になって。メーカのサイトによると、搭載されているコントローラはIntel JHL8540だそうです。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.ask-corp.jp/products/asrock/accessory/thunderbolt-4-aic.html" target="_blank" rel="noopener"
 &gt;ASRock「Thunderbolt 4 AIC」製品情報&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thunderbolt 3でよく使われたチップはJHL6x40でファミリー名はAlpine Ridgeでした。JHL8540は、Maple Ridgeというファミリー名だそうです。macOSがサポートしているのはAlpine Ridgeと言われていて、Maple Ridgeがどの程度動くのか未知数です。&lt;/p&gt;
&lt;p&gt;カードはPCIe x 4を使用するので、マザーボードの真ん中のPCIe x 16スロット (PCIE3) に挿しました。このソケットは、形状こそx16ですが、マニュアルによると実際にはx4で接続されるようです。ここはチップセット経由のPCIeで、大元のCPUとの接続がx4なので仕方ないですね。Thunderboltカードには十分な仕様です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/asrockAIC.jpg"&gt;&lt;/p&gt;
&lt;p&gt;カードには、マザーボードに接続するケーブルが2本付属しています。1本はPCIE3ソケットにすぐ隣にあるThunderbolt AICコネクタへ接続します。5ピンでケーブルも太いので、おそらくは電源強化用ですね。Type CのPD (Power Delivery) に対応するための強化策だと思います。もう1本のケーブルは、マザーボード上のUSB 2.0ピンに接続します。Type CにはUSB 2.0を一本用意しないといけないので、その接続用だと思います。&lt;/p&gt;
&lt;p&gt;カード背面には2個のType CコネクタとDisplay Portコネクタがついています。DPの方は入力用で、グラフィックスカードなどに接続します。Type Cコネクタにディスプレイを接続する場合に使用します。今回は接続しませんでした。&lt;/p&gt;
&lt;h3 id="bios設定"&gt;BIOS設定
&lt;/h3&gt;&lt;p&gt;次に、Thunderboltが動くようにBIOS設定します。BIOS設定のAdvanced –&amp;gt; Intel Thunderbolt –&amp;gt; Discrete Thunderbolt SupportをEnabledにします。デフォルトではDisabledになっています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/bios.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Thunderboltを有効にすると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thunderbolt Boot Support&lt;/li&gt;
&lt;li&gt;Thunderbolt USB Support&lt;/li&gt;
&lt;li&gt;Windows 10 Thunderbolt support&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の項目が現れます。最初の2個は、接続したThunderboltまたはUSBドライブからbootするようにするかどうかの設定です。3番目はWindowsでの設定のようです。とりあえず全部Disabledで良いようです。&lt;/p&gt;
&lt;p&gt;また、Thunderboltを有効にすると、自動的に PCI Express Native Controlという項目がEnabledに設定されます。この項目のデフォルト設定はDisabledです。何か必要な設定だと思いますので、そのままEnabledにしておきました。&lt;/p&gt;
&lt;h3 id="自作pcmacosでtbの動作確認"&gt;自作PC+macOSでTBの動作確認
&lt;/h3&gt;&lt;p&gt;以上でインストールと設定は終了です。Thunderbolt端子に、先に紹介したThunderbolt M.2 SSDを接続し、OpenCore 0.6.9でmacOS Big Sur 11.4を起動させました。その結果、リムーバブルドライブとして認識されました。ただしhot plugは効いていないようで、起動時にSSDが接続されている場合しか認識されず、一旦アンマウントすると再接続しても認識されません。&lt;/p&gt;
&lt;p&gt;ディスクユーティリティ.appで情報を調べると以下のようでした。実機のMacと同様に、SSDはPCI-Express経由で接続されたドライブとして見えています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2021-05-30-13.38.31.png"&gt;&lt;/p&gt;
&lt;p&gt;装置ツリーバスの値を、Hackintool.appの情報と比較したところ、実際のMacと同様に、この場所にはPhison Electronics社のPS5013が接続されていました。ここまでは、SSDが実機とほとんど同じように見えているのですが、システム情報のThunderboltの項目を見ると、ハードウェアが見つかりませんとの表示です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/aboutZ590.png"&gt;&lt;/p&gt;
&lt;p&gt;この先、頑張れば、hot plugも効くように調整できるのかもしれません。でも、大昔にThunderboltを試した時も、同様にhot plugが効かず、Thunderboltハードウェアの認識もされませんでした。なので、hot plugの制約を乗り越えるのは難しいかもしれません。Thunderboltはそこまで必要と感じていないので、今回はここまでとしました。&lt;/p&gt;
&lt;p&gt;最後に性能のチェックです。Z590マシンにこのSSDを取り付けた状態で、AmorphousDiskMarkで測定しました。なんとM1 MacBook Airの結果とほとんど同じ結果が出ました。ということで、hot plugは効かないものの、実際のMacでのThunderbolt 3接続と同等の性能が出ていることを確認できました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2021/05/speed_Z590.png"&gt;&lt;/p&gt;
&lt;h3 id="おまけtb-4-aicをusbで使う"&gt;(おまけ)TB 4 AICをUSBで使う
&lt;/h3&gt;&lt;p&gt;ASRockのThunderbolt 4 AICにUSB Type-CのUSB 3.1メモリを挿してみたところ、マウントされて認識されました。ThunderboltとしてだけではなくUSBとしても使えるようです。USBとして使う場合は、hot plugが効きました。&lt;/p&gt;
&lt;h3 id="まとめ"&gt;まとめ
&lt;/h3&gt;&lt;p&gt;ASRock Z590 Extremeマザーボードに、ASRockのThunderbolt 4 AICを追加して動作を確認しました。ソフトウェア環境はOpenCore 0.6.9とBig Sur 11.4です。Thunderbolt 3 SSDを接続したところ、hot plugは効かないものの実機のMacと同じ転送速度が達成されていることを確認しました。&lt;/p&gt;</description></item><item><title>リムーバブルHDD/SSDのホットプラグパッチ (Big Sur版)</title><link>https://bootmacos.rinontech.com/posts/11406/</link><pubDate>Sun, 15 Nov 2020 01:10:14 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/11406/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2020/11/orangeicon.png" alt="Featured image of post リムーバブルHDD/SSDのホットプラグパッチ (Big Sur版)" /&gt;&lt;p&gt;抜き挿し可能なリムーバブルSATAドライブベイで、HDD/SSDのホットプラグを可能にするパッチを以前ご紹介しました。Big Surでパッチパターンが変わったので、これに対応しました。&lt;/p&gt;
&lt;h3 id="525インチベイ用リムーバブルhddラック"&gt;5.25インチベイ用リムーバブルHDDラック
&lt;/h3&gt;&lt;p&gt;&lt;img alt="Rack for 5.25″ bay" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/5-25-inch-internal-hot-plug-font.jpg"&gt;&lt;/p&gt;
&lt;p&gt;上の写真のような、5.25インチベイに取り付けるリムーバブルHDDラックは、本物のMacには無い、自作hackintoshならではの便利な装備です。でもHDDラックを取り付けただけではHDD/SSDのホットプラグが効きませんでした。macOS起動時にリムーバブルベイに装着されているHDD/SSDは認識され、ファインダー上でアンマウントして、安全に取り外すことはできます。しかし、macOS稼動中にHDD/SSDを挿しても認識されません。そこでホットプラグが機能するようにconfig.plistにkextパッチを当て、対応していました。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/123/" &gt;SATA接続HDD/SSDのホットプラグ&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/9033/" &gt;リムーバブルHDD/SSDのホットプラグパッチをOpenCoreに適用する&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;このパッチが効くと、マザーボードのチップセットが持っているSATA端子以外、つまり、マザーボード上にSATAチップを追加して増設したSATA端子が、リムーバブルドライブとして扱われるようになります。チップセットがサポートするSATAは通常6個ですので、8個のSATAを持っているマザーボードは、最後の2個が対象になります。また、PCIeスロットにSATAアダプターカードを挿してSATA端子を増設した場合も、そこに接続されるドライブがリムーバブルになります。例えば以下のような、Marvell 88SE9230チップセットや、ASMedia ASM1061チップセットを搭載したカードです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Marvell 88SE9230" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Marvell-88SE9230-Chip-SATA-PCIE-Raid-Controller-SATA-PCIE-SATA-Raid-Ca.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="PCIe to SATA" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Pci-E-To-Sata3-Pci-E-Sata3-0-6Gb-S-the-Ssd-Asmedia-Chip-Expansion-Card.jpg"&gt;&lt;/p&gt;
&lt;p&gt;ところが、Big Surにバージョンアップしたら、このパッチが効かなくなったようで、ホットプラグが機能しなくなりました。調べたところパッチパターンが変わっていたようです。&lt;/p&gt;
&lt;h3 id="パッチの方法"&gt;パッチの方法
&lt;/h3&gt;&lt;p&gt;パッチは、/System/Library/ExtensionsにあるAppleAHCIPort.kextのバイナリファイルの該当部分を、0x90 (マシンコードでNOP, &lt;strong&gt;N&lt;/strong&gt;o &lt;strong&gt;OP&lt;/strong&gt;erationに相当します) に置き換えるものです。置き換える範囲は、ファイルの中の0x40200000というデータ列の4バイト、その前8バイト、その後14バイトの、合計26バイトです。この26バイトのパターンが、Big Surになって変わっていたようで、パッチが効かなくなっていました。&lt;/p&gt;
&lt;p&gt;そこで、Big Surのkextの中で0x40200000を探して、書き換えるべきデータ列を調べなおすことにしました。まずは、AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPortをhexdumpして、lessコマンドで表示を一旦停止しておきます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% hexdump /System/Library/Extensions/AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPort | less
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;lessが起動しているところ、以下のサーチコマンドをタイプし、40 20 00 00を探します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/40 20 00 00
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ところが運悪く途中に改行が入っているようで見つかりません。40 20だけでもう一度探索します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/40 20
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;今度は見つかりました。改行の先に00 00があるので、間違い無いようです。他にも40 20は見つかりますが、その先に00 00が続く場所はありません。もしもこれで見つからなければ、他の場所に改行が入っているかもしれませんので、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/20 00 00
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;で探せば良いと思います。&lt;/p&gt;
&lt;p&gt;今回、発見できた場所の前後のデータは以下です。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;0003da0 01 00 00 89 d1 81 e1 40 60 02 00 81 f9 40 20 00
0003db0 00 75 0c 81 e2 bf 7f ff ff 89 93 69 01 00 00 f6
0003dc0 c2 40 74 7e 3d 09 01 01 00 72 77 44 89 fe c1 ee
0003dd0 0a 81 e6 80 00 00 00 81 e2 7f ff ff ff 89 d1 09
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ここで発見した0x40200000の4バイト、その前8バイト、その後14バイトの、合計26バイトをNOP (90) に置き換えるパッチを作ります。つまり、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 81E14060 020081F9 40200000 750C81E2 BF7FFFFF 89936901 0000
Replace --&amp;gt; 90909090 90909090 90909090 90909090 90909090 90909090 9090
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というパッチを作ります。&lt;a class="link" href="https://bootmacos.rinontech.com/posts/9033/" &gt;前回のパッチパターン&lt;/a&gt;に類似していますのでおそらく合っていると思います。&lt;/p&gt;
&lt;p&gt;config.plistをテキストエディタで編集する場合はbase 64に変換します。詳しくは&lt;a class="link" href="https://bootmacos.rinontech.com/posts/6753/" &gt;こちら&lt;/a&gt;をご覧ください。Findするデータはbase 64では以下になります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% echo -en &amp;#34;\x81\xE1\x40\x60\x02\x00\x81\xF9\x40\x20\x00\x00\x75\x0C\x81\xE2\xBF\x7F\xFF\xFF\x89\x93\x69\x01\x00\x00&amp;#34; | base64 
geFAYAIAgflAIAAAdQyB4r9///+Jk2kBAAA=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Replaceするデータは、NOPコマンド列である9090…なのですが、このbase 64は以下です。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% echo -en &amp;#34;\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90&amp;#34; | base64
kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="cloverの場合"&gt;Cloverの場合
&lt;/h3&gt;&lt;p&gt;最近Cloverは使っていないので検証できませんが、Cloverの場合、config.plistに以下を書けば良いはずです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;Enables hot plug for removal drives&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Disabled&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;geFAYAIAgflAIAAAdQyB4r9///+Jk2kBAAA=&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;InfoPlistPatch&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="opencoreの場合"&gt;OpenCoreの場合
&lt;/h3&gt;&lt;p&gt;OpenCoreで、カーネルとkextに対してパッチを当てる項目は、Kernel, Patchの場所です。また、使用するキーは以下です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comment : Cloverと同じ。人が読むためのメモ書き。&lt;/li&gt;
&lt;li&gt;Find : Cloverと同じ。検索データ列。&lt;/li&gt;
&lt;li&gt;Replace : Cloverと同じ。置き換えるデータ列。&lt;/li&gt;
&lt;li&gt;Identifier : CloverのNameに相当するキー。kextを指定するためのIDで、バンドルIDを使う。&lt;/li&gt;
&lt;li&gt;Enabled : パッチを有効にする場合はtrueにする。（有効にしたいのでtrueにする）&lt;/li&gt;
&lt;li&gt;Count : パッチを当てる箇所の数。今回の場合は1回なので1。&lt;/li&gt;
&lt;li&gt;その他のキー : デフォルトで良いので省略。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;kextのバンドルIDは、システム情報で知ることができます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/11/AppleAHCIPort.png"&gt;&lt;/p&gt;
&lt;p&gt;システム情報の拡張機能のAppleAHCIPortの項目を選択すると、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;com.apple.driver.AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;であることがわかります。これはBig Surになっても変更はありませんでした。そこで、OpenCoreのパッチは以下になります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;Kernel&amp;lt;/key&amp;gt;
&amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Patch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;Enables hot plug for removal drives&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Count&amp;lt;/key&amp;gt;
 &amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
 &amp;lt;key&amp;gt;Enabled&amp;lt;/key&amp;gt;
 &amp;lt;true/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;geFAYAIAgflAIAAAdQyB4r9///+Jk2kBAAA=&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;Identifier&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;com.apple.driver.AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&amp;lt;/dict&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ProperTreeやPlistEDPlusなどのアプリケーションで設定するなら、16進数でそのまま書けます。ProperTreeでは16進数のデータの8バイトごとにスペースを入れる流儀のようですが、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;81E14060 020081F9 40200000 750C81E2 BF7FFFFF 89936901 0000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;PlistEDPlusではスペースを入れないようです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;81E14060020081F940200000750C81E2BF7FFFFF899369010000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下はPlistEDPlusの例です。Item番号はたまたま7番目になっていますが、何番目でも大丈夫です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/11/PlistEDPlus-1.png"&gt;&lt;/p&gt;
&lt;h3 id="動作確認"&gt;動作確認
&lt;/h3&gt;&lt;p&gt;パッチをOpenCore 0.6.3のconfig.plistに追加したところ、Big Surでもこのホットプラグが機能しました。オレンジ色のドライブがmacOS起動後にリムーバブルベイに取り付けた3.5インチHDDです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/11/HDDicons.png"&gt;&lt;/p&gt;
&lt;h3 id="補足"&gt;補足
&lt;/h3&gt;&lt;p&gt;最初の記事、&lt;/p&gt;
&lt;p&gt;では、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 40600200
Replace --&amp;gt; 00000000
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というパッチを当てれば、ASMediaやMarvellのチップでホットプラグが可能になるという情報を紹介しました。今回、Big Surで試したところ、マウントする際にシステムが落ちてしまう現象が発生しました。PCIeに挿すASMediaやMarvellのSATAカードでも、ここで紹介した長いパッチは安定して動きますので、この記事の方式を使ってください。&lt;/p&gt;
&lt;h3 id="まとめ"&gt;まとめ
&lt;/h3&gt;&lt;p&gt;リムーバブルドライブベイのホットプラグを可能にするパッチを、Big Sur用に書き換えて動作を確認しました。これからも、しばらくはBig Surへの対応作業を楽しめそうです。&lt;/p&gt;</description></item><item><title>SSDのtrimを有効にする (OpenCore編)</title><link>https://bootmacos.rinontech.com/posts/9109/</link><pubDate>Thu, 28 May 2020 22:42:16 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/9109/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2020/05/systeminfo-2.png" alt="Featured image of post SSDのtrimを有効にする (OpenCore編)" /&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/sandiskssd.png"&gt;&lt;/p&gt;
&lt;p&gt;2.5インチSSDのtrim機能をtrimforceコマンドで有効にしました。&lt;a class="link" href="https://bootmacos.rinontech.com/posts/7682/" &gt;nvramを正しく動くようにしておいた&lt;/a&gt;ためか、trimforceが効きました。もしtrimforceが効かない場合、Cloverでは、IOAHCIBlockStorage.kextにパッチ当てしてましたが、OpenCoreではThirdPartyDrivesをtrueにするだけで良いようです。&lt;/p&gt;
&lt;h3 id="trim有効化方法-oc対応版"&gt;trim有効化方法 (OC対応版)
&lt;/h3&gt;&lt;p&gt;今回、trimの有効化を試したマシンは、&lt;a class="link" href="https://bootmacos.rinontech.com/posts/1915/" &gt;ASUSのZ390マザーボードとSanDiskの2.5インチSATA SSDの構成&lt;/a&gt;です。また、trimの仕組みと設定方法は以下の記事で紹介しました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/74/" &gt;SSDのTRIMを有効にする&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SSDを使う場合、trimは有効になっていた方が良いと言われてます。そこで以下のステップでtrim設定に対処します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SSDによっては、macOSがtrim対応している場合があります。特にNVMe方式のM.2 SSDはOOBでtrimが働くようです。その場合は、何もしなくて良いです。&lt;/li&gt;
&lt;li&gt;非対応SSDの場合、trim機能をmacOSのtrimforceコマンドで起動することができます。このコマンドには、nvramが関係している様子です。ただし、trimforceが効かないこともあります。&lt;/li&gt;
&lt;li&gt;trimforceが効かない場合は、config.plistに設定してパッチを当てます。Cloverでは、IOAHCIBlockStorage.kextにパッチ当てしてます。OpenCoreではThirdPartyDrivesをtrueにします。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;でも実のところ、このマシンでは、メインのSSDをM.2 NVMeにしたため、データを入れる場所にした2.5インチSSDのtrim設定は長らくほったらかしにしていました。trimforceは効かないし、パッチ当てるのも面倒だったのも理由です。&lt;/p&gt;
&lt;h3 id="thirdpartydrivesの説明を読む"&gt;ThirdPartyDrivesの説明を読む
&lt;/h3&gt;&lt;p&gt;という状況だったのですが、OpenCoreにしたところ、パッチ当てが簡単になっていることに気づきました。上のステップに書いたように、config.plistの中で設定できるThirdPartyDrivesというプロパティをtrueにすれば、IOAHCIBlockStorage.kextにパッチを当ててくれます。これなら簡単にtrim有効化できます。さらにその説明を読むと、以下のように、できればtrimforceが望ましいようなことが書いてありました。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;**ThirdPartyDrives :**デフォルトはfalseです。IOAHCIBlockStorage.kextにパッチを当て、サードパーティのドライブでtrimやハイバーネーションを可能にします。このオプションは、ユーザの判断で使わないことにしても良いです。最近のmacOSバージョンには、専用のユーティリティであるtrimforceが提供されています。10.15以降では、このユーティリティは、01 00 00 00という値のEnableTRIMという変数をnvramに作ります。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;ThirdPartyDrivesでパッチ当てをしてくれるものの、trimforceはmacOSがサポートするtrim機能を活性化するmacOSのコマンドなので、これでtrim有効化するのが望ましいそうです。trimforceで有効化できない場合の時だけ、ThirdPartyDrivesをtrueするのが良いと思います。&lt;/p&gt;
&lt;h3 id="trimforceコマンドでtrim有効化する"&gt;trimforceコマンドでtrim有効化する
&lt;/h3&gt;&lt;p&gt;そこで、久々にtrimforceを試したところ、すんなり動いてしまいました。Terminalからtrimforceとタイプすると、説明が出ます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% trimforce
Usage:
trimforce enable
trimforce disable
trimforce help
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;次に、OpenCoreの説明にある、EnableTRIMがnvramの中にあるかどうか調べてみました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% nvram -p | grep EnableTRIM
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;何も表示されません。定義されていないようです。そこでtrimforceコマンドで、trimを有効にするよう試みました。色々警告が出ますが進めます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% sudo trimforce enable
Password:
IMPORTANT NOTICE:  This tool force-enables TRIM for all relevant attached devices, even though such devices may not have been validated for data integrity while using TRIM.  Use of this tool to enable TRIM may result in unintended data loss or data corruption.  It should not be used in a commercial operating environment or with important data. Before using this tool, you should back up all of your data and regularly back up data while TRIM is enabled.  This tool is provided on an “as is” basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THIS TOOL OR ITS USE ALONE OR IN COMBINATION WITH YOUR DEVICES, SYSTEMS, OR SERVICES. BY USING THIS TOOL TO ENABLE TRIM, YOU AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE TOOL IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU.
Are you sure you wish to proceed (y/N)? y
Your system will immediately reboot when this is complete.
Is this OK (y/N)?
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;この後、警告の通り、自動的に再起動してしまいます。再起動後に、先ほどのnvram変数を調べてみました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% nvram -p | grep EnableTRIM
EnableTRIM %01
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;OpenCoreのマニュアルにある通り、01という値のEnableTRIM変数が出来上がっていました。システム情報を見ると、設定前は「いいえ」だったTRIMサポートの項目が「はい」に変化していました。trimforceで正しく設定できたようです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/systeminfo-2.png"&gt;&lt;/p&gt;
&lt;p&gt;trimforceは長らく機能しなかったので、あきらめていましたが、設定できるようになっていました。trimforceがnvramを使うようになったためか、さらにはSSDT-PMC.amlでnvramが正しく使えるようになったおかげのようです。&lt;/p&gt;
&lt;h3 id="まとめ"&gt;まとめ
&lt;/h3&gt;&lt;p&gt;ひさびさにtrimforceコマンドを試したら、2.5インチSSDのtrimが有効になりました。ちなみにM.2 NVMe SSDの方は、何もしない状態でtrim有効でした。もしtrimforceが効かない場合は、OpenCoreでしたらThirdPartyDrivesをtrueにすれば良いと思われます。&lt;/p&gt;</description></item><item><title>リムーバブルHDD/SSDのホットプラグパッチをOpenCoreに適用する</title><link>https://bootmacos.rinontech.com/posts/9033/</link><pubDate>Tue, 19 May 2020 22:29:04 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/9033/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170926165208.png" alt="Featured image of post リムーバブルHDD/SSDのホットプラグパッチをOpenCoreに適用する" /&gt;&lt;p&gt;抜き挿し可能なリムーバブルSATAドライブベイを使うために、Cloverでは、macOS稼動中にHDD/SSDドライブのホットプラグを可能にするパッチをconfig.plistに書いてました。OpenCoreに移行したのでこのパッチも移行しました。&lt;/p&gt;
&lt;h3 id="525インチベイ用リムーバブルhddラック"&gt;5.25インチベイ用リムーバブルHDDラック
&lt;/h3&gt;&lt;p&gt;&lt;img alt="Rack for 5.25″ bay" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/5-25-inch-internal-hot-plug-font-3.jpg"&gt;&lt;/p&gt;
&lt;p&gt;上の写真のような、5.25インチベイに取り付けるリムーバブルHDDラックは、本物のMacには無い、自作hackintoshならではの便利な装備です。でもHDDラックを取り付けただけではHDD/SSDのホットプラグが効きませんでした。macOS起動時にリムーバブルベイに装着されているHDD/SSDは認識され、ファインダー上でアンマウントして、安全に取り外すことはできます。しかし、macOS稼動中にHDD/SSDを挿しても認識されません。そこでCloverでは、ホットプラグが機能するようにconfig.plistにkextパッチを当て対応していました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/123/" &gt;SATA接続HDD/SSDのホットプラグ&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="cloverで使用していたパッチ"&gt;Cloverで使用していたパッチ
&lt;/h3&gt;&lt;p&gt;このパッチは、AppleAHCIPort.kextの一部を0x90 (マシンコードでNOPに相当します) に置き換えるものです。置き換える範囲は、kextの中の0x40200000というデータ列の4バイト、その前8バイト、その後14バイトの、合計26バイトです。コメントでまっくぷろさんに教えていただいたパッチです。&lt;/p&gt;
&lt;p&gt;このパッチを作るために、kextの中で0x40200000を探して、書き換えるべきデータ列を調べます。例として、macOS 10.15.4で、書き換えるべきデータを探してみます。まずは、AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPortをhexdumpします。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% hexdump /System/Library/Extensions/AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPort | less
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;lessが起動しているところ、以下のサーチコマンドをタイプし、40 20 00 00を探します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/40 20 00 00
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ところが運悪く途中に改行が入っているようで見つかりません。40 20だけでもう一度探索します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/40 20
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;今度は見つかりました。改行の先に00 00があるので、間違い無いようです。他にも40 20は見つかりますが、その先に00 00が続く場所はありません。おそらくは2バイト単位で位置揃えされているので、この場所以外に改行が来る可能性は無いと思います。40 20 00 00と40 20の2種類の探索を試みれば、40 20 00 00の場所を発見できると思います。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;0002a40 69 01 00 00 89 ca 81 e2 40 60 02 00 81 fa 40 20
0002a50 00 00 75 0c 81 e1 bf 7f ff ff 89 8b 69 01 00 00
0002a60 f6 c1 40 74 7e 3d 09 01 01 00 72 77 44 89 fa c1
0002a70 ea 0a 81 e2 80 00 00 00 81 e1 7f ff ff ff 09 d1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ここで発見した0x40200000の4バイト、その前8バイト、その後14バイトの、合計26バイトをNOP (90) に置き換えるパッチを作ります。つまり、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 81E24060 020081FA 40200000 750C81E1 BF7FFFFF 898B6901 0000
Replace --&amp;gt; 90909090 90909090 90909090 90909090 90909090 90909090 9090
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というパッチを作ります。ProperTreeなどのツールならこのまま16進数が使えますが、テキストエディタで作る場合はbase 64に変換します。詳しくは&lt;a class="link" href="https://bootmacos.rinontech.com/posts/6753/" &gt;こちら&lt;/a&gt;をご覧ください。Findするデータはbase 64では以下になります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% echo -en &amp;#34;\x81\xE2\x40\x60\x02\x00\x81\xFA\x40\x20\x00\x00\x75\x0C\x81\xE1\xBF\x7F\xFF\xFF\x89\x8B\x69\x01\x00\x00&amp;#34; | base64
geJAYAIAgfpAIAAAdQyB4b9///+Ji2kBAAA=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Replaceするデータは、NOPコマンド列である9090…なのですが、このbase 64は以下です。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;% echo -en &amp;#34;\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90&amp;#34; | base64
kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;なのでCloverのconfig.plistには、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;Enables hot plug for removal drives&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Disabled&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;geJAYAIAgfpAIAAAdQyB4b9///+Ji2kBAAA=&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;InfoPlistPatch&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というパッチを追加していました。これでBIOSでホットスワップ指定したチップセットSATA接続ドライブがオレンジ色アイコンになり、随時マウント・アンマウントできるようになりました。またスリープしても問題ありませんでした。&lt;/p&gt;
&lt;h3 id="opencore用のパッチに書き換える"&gt;OpenCore用のパッチに書き換える
&lt;/h3&gt;&lt;p&gt;OpenCoreには、CloverのようなKextToPatchの項目はありません。OpenCoreで、カーネルとkextに対してパッチを当てる項目は、Kernel, Patchの場所です。また、使用するキーの一部がCloverのパッチとは異なります。OpenCoreのパッチで使うキーは以下です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comment : Cloverと同じ。人が読むためのメモ書き。&lt;/li&gt;
&lt;li&gt;Find : Cloverと同じ。検索データ列。&lt;/li&gt;
&lt;li&gt;Replace : Cloverと同じ。置き換えるデータ列。&lt;/li&gt;
&lt;li&gt;Identifier : CloverのNameに相当するキー。kextを指定するためのIDで、バンドルIDを使う。&lt;/li&gt;
&lt;li&gt;Enabled : パッチを有効にする場合はtrueにする。（有効にしたいのでtrueにする）&lt;/li&gt;
&lt;li&gt;Count : パッチを当てる箇所の数。今回の場合は1回なので1。&lt;/li&gt;
&lt;li&gt;その他のキー : デフォルトで良いので省略。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;kextのバンドルIDは、システム情報で知ることができます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/appleahciport_id.png"&gt;&lt;/p&gt;
&lt;p&gt;システム情報の拡張機能のAppleAHCIPortの項目を選択すると、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;com.apple.driver.AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;であることがわかります。そこで、上記のCloverのパッチに相当する、OpenCoreのパッチは以下になります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;Kernel&amp;lt;/key&amp;gt;
&amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Patch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;Enables hot plug for removal drives&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Count&amp;lt;/key&amp;gt;
 &amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
 &amp;lt;key&amp;gt;Enabled&amp;lt;/key&amp;gt;
 &amp;lt;true/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;geJAYAIAgfpAIAAAdQyB4b9///+Ji2kBAAA=&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;Identifier&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;com.apple.driver.AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&amp;lt;/dict&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ProperTreeで設定するなら、以下のようになります。（0番から4番までに、OpenCore付属のSample.plistにあった無効設定のパッチを残してあるので、たまたま5番目になっていますが、何番目でも大丈夫です。）&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/propertree_patch.png"&gt;&lt;/p&gt;
&lt;p&gt;このパッチをOpenCoreのconfig.plistに追加したところ、OpenCoreでも、ホットプラグが機能しました。オレンジ色のドライブがmacOS起動後にリムーバブルベイに取り付けた2.5インチHDDです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/drives-1.png"&gt;&lt;/p&gt;
&lt;p&gt;パッチを施したconfig.plistを以下に置いておきます。もしこれを使用する場合は、SystemSerialNumber, SystemUUID, MLB, ROMの値を必ず置換えてください。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://pastebin.com/7VdSZmbr" target="_blank" rel="noopener"
 &gt;OpenCore config.plist for 9900K - Pastebin.com&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="まとめ"&gt;まとめ
&lt;/h3&gt;&lt;p&gt;リムーバブルドライブベイのホットプラグを可能にするCloverパッチを、OpenCoreのconfig.plist用に書き換えて動作を確認しました。これでまた一歩、OpenCoreに適応できた気がします。&lt;/p&gt;
&lt;h3 id="つづき"&gt;つづき
&lt;/h3&gt;&lt;p&gt;Big Sur対応パッチはこちらをご覧ください。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/11406/" &gt;リムーバブルHDD/SSDのホットプラグパッチ (Big Sur版)&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;</description></item><item><title>Pioneer光学ドライブのパッチをOpenCoreに適用する</title><link>https://bootmacos.rinontech.com/posts/9006/</link><pubDate>Sun, 17 May 2020 11:16:49 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/9006/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2018/10/20181029215850.png" alt="Featured image of post Pioneer光学ドライブのパッチをOpenCoreに適用する" /&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20181029215850p:plain" data-title-escaped="f:id:siroanko:20181029215850p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20181029215850.png" title="f:id:siroanko:20181029215850p:plain"&gt;&lt;/p&gt;
&lt;p&gt;Pioneerの光学ドライブを使用していると「空のdvdがセットされました」というメッセージが出て、操作不能になることがあります。Cloverのconfig.plistでパッチを当てて対処していたのですが、OpenCoreに移行したので同様のパッチを当てました。&lt;/p&gt;
&lt;h3 id="cloverで使用していたパッチ"&gt;Cloverで使用していたパッチ
&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2021-05-27-10.16.58.png"&gt;&lt;/p&gt;
&lt;p&gt;「空のdvdがセットされました」というエラーメッセージが出ることの原因と対策をこちらの記事で紹介しました。macOSがPioneerのドライブにスリープ指令を送りつけると、スリープ後も復帰しないことが原因のようです。そこで、光学ドライブにはスリープ命令を送らないように、macOSでは設定してあるらしいです。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/135/" &gt;光学ドライブを使う&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;なので、本物のMacと同型番のPioneer DVDドライブを使っていれば、操作不能に陥る問題は多分発生しないです。でも違う型番、例えばBDドライブを使う場合は、PioneerSuperDrive.kextにパッチを当てて、本物のMacが搭載している型番 (DVD-RW DVR-105) を、hackintoshで使用している型番 (例えばBD-RW BDR-205) に書き換えることで、この問題を解決できます。実際には、config.plistに以下のパッチを追加していました。これでスリープ命令が送られなくなり、操作不能に陥ることを回避できました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
  &amp;lt;array&amp;gt;
  &amp;lt;dict&amp;gt;
          &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
          &amp;lt;string&amp;gt;PioneerBD-RW No Sleep&amp;lt;/string&amp;gt;
          &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
          &amp;lt;data&amp;gt;RFZELVJXICBEVlItMTA1&amp;lt;/data&amp;gt;
          &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
          &amp;lt;string&amp;gt;PioneerSuperDrive&amp;lt;/string&amp;gt;
          &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
          &amp;lt;data&amp;gt;QkQtUlcgICBCRFItMjA1&amp;lt;/data&amp;gt;
  &amp;lt;/dict&amp;gt;
  &amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;OpenCoreに移行したところ、再び、「空のdvdがセットされました」というエラーメッセージが出るようになりました。Cloverで使っていたパッチと同様の内容を、OpenCoreのconfig.plistにも書いておく必要があるようです。&lt;/p&gt;
&lt;h3 id="cloverのkexttopatchをopencoreに移行する方法"&gt;CloverのKextToPatchをOpenCoreに移行する方法
&lt;/h3&gt;&lt;p&gt;OpenCoreには、CloverのようなKextToPatchの項目はありません。OpenCoreで、カーネルとkextに対してパッチを当てる項目は、Kernel, Patchの場所です。また、書式もCloverのパッチとは多少異なります。上記のCloverのパッチを、OpenCoreで書く場合は、以下になります。ちなみにReplaceの値は、BD-RW BDR-205の型番になっています。他の型番の光学ドライブを使用している方は、その型番に書き換えてください。詳しくは、&lt;a class="link" href="https://bootmacos.rinontech.com/posts/135/" &gt;以前の記事&lt;/a&gt;をご覧ください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;Kernel&amp;lt;/key&amp;gt;
&amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Patch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;PioneerBD-RW No Sleep&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Count&amp;lt;/key&amp;gt;
 &amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
 &amp;lt;key&amp;gt;Enabled&amp;lt;/key&amp;gt;
 &amp;lt;true/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;RFZELVJXICBEVlItMTA1&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;Identifier&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;com.apple.driver.PioneerSuperDrive&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;QkQtUlcgICBCRFItMjA1&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&amp;lt;/dict&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Cloverと比べてOpenCoreでは、一部のキーが削除追加されています。OpenCoreのサンプルconfig.plistを見ると、もっとたくさんのキーがあります。ただOpenCoreのパッケージに付属するマニュアルを読んでみたところ、デフォルト値のままで問題ないキーが多かったです。それらは省略しました。&lt;/p&gt;
&lt;p&gt;Cloverのkeyのうち、&lt;strong&gt;Comment&lt;/strong&gt;, &lt;strong&gt;Find&lt;/strong&gt;, &lt;strong&gt;Replace&lt;/strong&gt;はOpenCoreでも同じ名前で、同じ意味です。つまり、Commentは人が読むためのメモ書き、Findは検索データ列、Replaceは置き換えるデータ列です。これらはCloverの内容からそのままコピーしました。&lt;/p&gt;
&lt;p&gt;Cloverでは、kextをファイル名（この例ではPioneerSuperDrive）で指定していました。使用するキーの名前はNameでした。OpenCoreでは、&lt;strong&gt;Identifier&lt;/strong&gt;というキーで指定します。URLを逆順にしたような形式の一意の名前なので、より正確です。PioneerSuperDrive.kextがどのようなIdentifierなのかは、システム情報の拡張機能で、該当するkextを選択すると調べられます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/identifier.png"&gt;&lt;/p&gt;
&lt;p&gt;identifierは、バンドルIDという項目に書いてあります。以下のようです。Identifierの項目にはこれを書いておきます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;com.apple.driver.PioneerSuperDrive
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Enabled&lt;/strong&gt;キーでは、このパッチを有効にするかどうかを指定します。デフォルトがfalseですので、明示的にtrueを書いておかないと有効になりません。なので追加しました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Count&lt;/strong&gt;キーは発見された項目を何個置き換えるかを指定する箇所です。1個置換えてくれれば十分（それ以上検索する必要は無い）なので、1を指定しておきました。デフォルトは0で、それは発見できうる限り全て置換するという指定です。1箇所変換することで十分ならば、Countには1を指定したほうが、残りの部分を全部検索するという無駄な処理が不要になるので、高速になると思います。&lt;/p&gt;
&lt;p&gt;このパッチをOpenCoreのconfig.plistに追加したところ、Pioneerのブルーレイドライブが正常に動くようになりました。パッチを施したconfig.plistを以下に置いておきます。もしこれを使用する場合は、SystemSerialNumber、SystemUUID、MLB、ROMの値を必ず置換えてください。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://pastebin.com/7VdSZmbr" target="_blank" rel="noopener"
 &gt;OpenCore config.plist for 9900K - Pastebin.com&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="plistedplusで編集"&gt;PlistEDPlusで編集
&lt;/h3&gt;&lt;p&gt;（追記）PlistEDPlusでOpenCore 0.6.9のconfig.plistを編集する様子を以下に示します。いくつか項目が増えていますがデフォルトで良いです。データがASCII表示もされるので確認が楽です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2020/05/oc069.jpg"&gt;&lt;/p&gt;
&lt;h3 id="まとめ"&gt;まとめ
&lt;/h3&gt;&lt;p&gt;Cloverに当てていた光学ドライブのパッチを、OpenCoreのconfig.plist用に書き換えて動作を確認しました。CloverとOpenCoreでは、パッチのキー構成が多少違います。Cloverに当てていた他のkext用パッチも、必要に応じてOpenCoreに移行して、動作を確認していこうと考えています。&lt;/p&gt;</description></item><item><title>SATA接続HDD/SSDのホットプラグ（改訂版）</title><link>https://bootmacos.rinontech.com/posts/7857/</link><pubDate>Tue, 11 Feb 2020 17:15:22 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/7857/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170926165208.png" alt="Featured image of post SATA接続HDD/SSDのホットプラグ（改訂版）" /&gt;&lt;p&gt;SATA接続HDD/SSDのホットプラグに関する以下の記事をアップデートしました。最近のmacOSバージョンでホットプラグが効かなくなっていたのですが、コメントでパッチを教えていただき、快調に動くようになりました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/123/" &gt;SATA接続HDD/SSDのホットプラグ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>HackintoshでFileVaultを使う</title><link>https://bootmacos.rinontech.com/posts/6256/</link><pubDate>Thu, 22 Aug 2019 23:01:31 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/6256/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2019/08/FileVaultIcon.png" alt="Featured image of post HackintoshでFileVaultを使う" /&gt;&lt;p&gt;FileVaultを使うとファイルが全て暗号化されて、パスワードを知らない人は開けなくなります。OS標準組みなので面倒な設定や手順が不要です。以前はHackintoshで使えないと言われていましたが、最近では使えるようになってました。&lt;/p&gt;
&lt;h3 id="filevault"&gt;FileVault
&lt;/h3&gt;&lt;p&gt;FileVaultはMac OS X 10.3で登場したシステム組み込みのディスク暗号化機能です。10.7でFileVault2になりました。ちなみにvaultというのは金庫室という意味です。Windowsにも標準機能でBitLockerというツールがあるようです。どちらも多分、同様な機能を提供するツールだと思います。&lt;/p&gt;
&lt;p&gt;今のパソコンOSはアカウントのパスワードで保護されているから、暗号化の必要性をあまり感じないかもしれません。でもアカウント／パスワードは、ネットワーク経由のアクセスには一応の役に立ちますが、コンピュータ本体を操作されるとひとたまりもありません。シングルユーザモードで起動したらなんでもできてしまいます。リカバリーボリュームで起動されても同じです。さらにはSSD/HDDを取り外して他のマシンでマウントしたら、全て読み書きできてしまいます。そんな場面でも、FileVaultで保護してあれば、パスワードが知られない限り、アクセスされる恐れはありません。FileVaultを施したSSDをマウントしようとすると、以下のように必ずパスワードを要求されるからです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-08-22-18.08.25.png"&gt;&lt;/p&gt;
&lt;p&gt;FileVaultを使うと、読み書きに暗号化・復号化のオーバーヘッドがかかるために、ファイルアクセスが遅くなる欠点があります。そのため使っている人は少ないと思います。さらにHackintoshでは使えない、つまり、FileVaultを設定した途端に起動不可能になると長年言われていました。でも、最近ではFileVaultを使うためのEFIドライバーが充実しているようです。そこで、HackintoshでFileVaultを使ってみました。&lt;/p&gt;
&lt;h3 id="usbメモリをfilevaultする"&gt;USBメモリをFileVaultする
&lt;/h3&gt;&lt;p&gt;暗号化機能は、コンピュータやドライブを何処かに置き忘れたり、盗難にあったりした時に頼りになります。逆に、家から持ち出さないデスクトップコンピュータの場合、それほど必要ではないかもしれません。デスクトップコンピュータがメインのHackintoshユーザには、使わなくても良い機能かもしれないです。私もずっと使っていませんでした。&lt;/p&gt;
&lt;p&gt;でも、持ち歩くUSBドライブに対しては是非活用したいところです。他人の個人データが入ったUSBメモリーを電車の中にでも置き忘れたら、このご時世では大変な事案になってしまいます。暗号化されていれば安心です。非起動ディスクのFileVault化は、Hackintoshであっても面倒な準備不要です。USBメモリーをディスクユーティリティ.appでフォーマットする際に、「暗号化」と書かれたフォーマットを選択するだけです。これでHackintoshでも実機でも同様に使用することができます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-08-15-17.16.02.png"&gt;&lt;/p&gt;
&lt;h3 id="起動ディスクをfilevaultにする"&gt;起動ディスクをFileVaultにする
&lt;/h3&gt;&lt;p&gt;さていよいよ本題です。Hackintoshの起動ディスクをFileVaultにするとどうなるでしょう？&lt;a class="link" href="https://bootmacos.rinontech.com/posts/6191/" &gt;こちらで紹介したマシンに&lt;/a&gt;接続した起動可能SSDに対してFileVaultを有効にしてみました。起動ディスクをFileVaultにするには、macOS稼働中に「システム環境設定」「セキュリティとプライバシー」から「FileVault」タブを選択します。次にウィンドウ左下の鍵マークをクリックして、パスワードを入力し、「FileVaultをオンにする」ボタンを押します。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-08-22-10.45.57.png"&gt;&lt;/p&gt;
&lt;p&gt;次に、パスワードを忘れた時の対策を選択します。iCloudを使用する方法と、復旧キーをユーザが管理する方法を選択できます。復旧キーを選択した場合は、次のステップで表示される24文字のキーを記録しておく必要があります。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-08-22-10.46.37.png"&gt;&lt;/p&gt;
&lt;p&gt;この後、バックグラウンドで暗号化処理が開始されます。起動ボリューム容量に依存しますが、インストールしたばかりのmacOSなら数分で暗号化されます。これで起動ディスクがFileVaultで保護されるようになります。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-08-22-10.53.19.png"&gt;&lt;/p&gt;
&lt;p&gt;本物のMacならこれで設定終了です。次に起動する場合も、FileVaultになった起動ディスクから何事もなく起動します。しかしHackintoshではそうはいきません。&lt;/p&gt;
&lt;h3 id="hackintoshでfilevaultから起動する"&gt;HackintoshでFileVaultから起動する
&lt;/h3&gt;&lt;h4 id="起動ボリュームが見えない"&gt;起動ボリュームが見えない
&lt;/h4&gt;&lt;p&gt;FileVaultにした起動ボリュームは、Cloverの選択画面から消えてしまいます。&lt;/p&gt;
&lt;p&gt;下のスクリーンショットは、コンピュータに2個の起動可能なドライブである、2.5 inch SATA SSDと、M.2 SSDを取り付けた場合のボリューム選択画面です。左3個のリンゴマークがSATA SSDのボリュームで、右4個のリンゴマークがM.2 SSDです。ここでは、SATA SSDがFileVault化されていて、M.2 SSDは通常のドライブです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/bootitem1.png"&gt;&lt;/p&gt;
&lt;p&gt;通常のドライブでは、右側のM.2 SSDの項目に現れているように、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Boot FileVault Prebooter from Preboot&lt;/li&gt;
&lt;li&gt;Boot macOS Install Prebooter from preboot&lt;/li&gt;
&lt;li&gt;Boot macOS from XXXX （XXXXは起動ボリューム名）&lt;/li&gt;
&lt;li&gt;Boot Recovery from Recovery&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の4個の選択肢があります。起動ボリュームが、Boot macOS from XXXXという名前で見えています。一方で左側のFileVault化されたSATA SSDの項目には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Boot FileVault Prebooter from Preboot&lt;/li&gt;
&lt;li&gt;Boot macOS Install Prebooter from preboot&lt;/li&gt;
&lt;li&gt;Boot Recovery from Recovery&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の3個しかありません。通常の起動で使用するBoot macOS from XXXXというボリューム名の選択肢がなくなってしまっています。このボリュームがFileVaultで暗号化されたので、選択肢に現れなくなったのです。FileVaultになった起動ボリュームから起動するには、左端のBoot FileVault Prebooter from Prebootを選択します。preboot(er)という名前の通り、通常のブート手順に先立って処理を行うための選択肢です。ただ、FileVault用のefiドライバが入っていないと、この選択肢を選んだとしても、通常のブート手順に至る前に止まってしまいます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/bootitem2.png"&gt;&lt;/p&gt;
&lt;h4 id="filevaultのためのefiドライバを追加する"&gt;FileVaultのためのefiドライバを追加する
&lt;/h4&gt;&lt;p&gt;Boot FileVault Prebooter from Prebootを選択して起動させるためには、FileVault用のefiドライバを入れておく必要があります。最近のCloverインストーラでは、efiドライバーが機能ごとに分類分けされています。分類カテゴリーに「FileVault 2 UEFI Drivers」があります。この中にあるefiドライバーを入れておけば起動できます。ここには6個のefiドライバーがあります。それぞれクリックすると、説明が出ます。それらは、&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/08/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-08-22-23.07.32.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AppleImageCodec.efi&lt;/strong&gt; : FileVaultのためにPNGとBMPをデコードします。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AppleKeyAggregator.efi&lt;/strong&gt; : FileVaultのためにブートUIダイアログをサポートします。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AppleKeyFeeder.efi&lt;/strong&gt; : FileVaultで使うためにPS/2キーボードをサポートします。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AppleUITheme.efi&lt;/strong&gt; : FileVaultのためにブート用UIテーマをサポートします。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FirmwareVolume.efi&lt;/strong&gt; : FileVaultで使うポインター画像用のためにFirmwareVolumeを作ります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HashServiceFix.efi&lt;/strong&gt; : UEFI BIOSに含まれていない場合のためにhashフィックスをサポートします。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;です。説明文を見ると、ダイアログの表示、イメージの表示、キーボードのサポートというように、ユーザインタフェースを実現する機能ばかりです。後でわかりますが、実はこのユーザインタフェース機能が重要なようです。実際、これらのefiが無い場合には、「ログインダイアログを開けなかった」というような内容のエラーが出て止まります。&lt;/p&gt;
&lt;p&gt;説明を見ると、全部は必要がないように思えます。例えば、PS/2キーボードを使わなければ、AppleKeyFeeder.efiは不要なような説明になっています。でも、このefiが無い場合、USBやBluetoothキーボードからの入力ができませんでした。他のドライバには、不要なものがあるかもしれませんが、とりあえずは、6個のドライバーの全部をCLOVER/drivers/UEFI/の中に入れることでFileVaultが機能しました。&lt;/p&gt;
&lt;h4 id="filevaultから起動する"&gt;FileVaultから起動する
&lt;/h4&gt;&lt;p&gt;これらのefiドライバーをCLOVER/drivers/UEFI/フォルダに入れた後、マシンを起動します。そして、上記で説明したように「Boot FileVault Prebooter from Preboot」を選択します。ちなみに「Boot macOS Install Prebooter from preboot」を選択すると途中で止まります。名前から推測すると、FileVaultの中のmacOSをインストール・アップデートするときに使う選択肢のように思えます。（ご存知の方いらしたらコメント欄で教えてください）。いずれにしてもここでは使いません。&lt;/p&gt;
&lt;p&gt;「Boot FileVault Prebooter from Preboot」から起動すると、すぐに通常のmacOSのログイン画面が出ます。ただ、実際のログイン画面と違って、解像度が低い画面でした。恐らくは、本物のログイン画面ではなく、Cloverが頑張って表示している画面なのかもしれません。ディスプレイドライバーが機能する前段階なので、解像度が低いと思われます。このログイン画面でアカウントを選択しパスワードを入力することで、起動ボリュームの復号化が行われます。-vオプションで様子を見ると、この後、通常の起動手順が開始されるようです。これで正常に起動し、通常通りのmacOS操作が可能でした。&lt;/p&gt;
&lt;h3 id="まとめ"&gt;まとめ
&lt;/h3&gt;&lt;p&gt;HackintoshでもFileVaultは不具合なく使用することができました。ただ、起動ドライブをFileVaultにした場合、Bluetoothキーボード／トラックパッドが認識されるまで多少時間がかかる様子もありました。また、Prebootから起動した後で、起動ボリュームの起動を行うので、起動時間は長くなります。Hackintoshに適したコンピュータは、置き忘れや盗難の危険性が少ないデスクトップコンピュータですので、Hackintoshの起動ドライブにFileVaultを設定する必要性は低いと思いました。&lt;/p&gt;
&lt;p&gt;一方で、ノートPCでHackintoshして外に持ち出している方は（あまりいらっしゃらないかもしれませんが）FileVaultを設定しておくと安心だと思います。またデスクトップユーザも、USBメモリーなどのリムーバブルドライブに対しては、FileVaultを活用すると良いと思います。起動ドライブ以外でしたら、実際のMacもHackintoshも同じようにFileVaultを利用できます。&lt;/p&gt;</description></item><item><title>Crucialの1TB NVMe M.2 SSD (CT1000P1SSD8) を使う</title><link>https://bootmacos.rinontech.com/posts/5883/</link><pubDate>Fri, 26 Jul 2019 01:16:55 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/5883/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2019/07/m2ssd-1.jpg" alt="Featured image of post Crucialの1TB NVMe M.2 SSD (CT1000P1SSD8) を使う" /&gt;&lt;p&gt;NVMeプロトコルのM.2 SSDが安くなっています。1TBでも1万円代前半です。ということでCrucialのお安い1TB M.2 SSD, CT1000P1SSD8をmacOSで使ってみました。問題なく動作し性能もそこそこ良いです。&lt;/p&gt;
&lt;h3 id="ssdが安くなった"&gt;SSDが安くなった
&lt;/h3&gt;&lt;p&gt;メモリーの価格が下がっている関係か、M.2 NVMe SSDも安くなっているようです。以前は、1TBだと結構なお値段だったのですが、セールだと1万円を切ってたりします。以下はその時のスクリーンショットです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/07/nvmessd.png"&gt;&lt;/p&gt;
&lt;p&gt;残念ながら現在の価格は1,400円ほど上昇して11,323円ですが、それでも1TBでのこの価格は、ちょっと前なら考えられなかった状況です。ただし、品薄のようで納期が長いです。（この記事の執筆時の状況です。現在の価格、納期は下のリンクから確認してください。）&lt;/p&gt;
&lt;h3 id="マザーボードに取り付け"&gt;マザーボードに取り付け
&lt;/h3&gt;&lt;p&gt;ということで、このSSDをmacOSで動かしました。使用したハードウェア構成は以下です。マザーボードはMSIのB360搭載Micro ATXです。SATAコネクタに接続した2.5 inch SATA SSDでmacOS Mojaveが問題なく動作しています。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/5459/" &gt;MSI B360M Mortar Titaniumと9100Fで作る格安Hackintosh&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CT1000P1SSD8JPをマザーボードのSSD用M.2ソケット（CPUのすぐ隣の方のソケット）に取り付けました。廉価版のB360マザーボードなので、M.2 SSD用のヒートシンクは用意されていません。なので別途ヒートシンクを用意しました。CPU隣のM.2ソケットは、PCIe拡張カードに干渉しない場所にあるので、背の高いヒートシンクを取り付けられます。大型の空冷CPUクーラを使わなければ、ケースの高さまで上空が空いています。ギリギリの高さまでヒートシンクとしたいところです。そこで入手し得る限り背の高いヒートシンクを探して取り付けました。以下の製品で高さは3cmあります。マザーボードがチタン色なのでシルバー（塗装無しアルミ）版を購入しましたが、黒いマザーボードをお使いならブラック（塗装ありアルミ）版が合うと思います。&lt;/p&gt;
&lt;p&gt;Amazonの写真では、取り付けゴムが輪ゴム色（ブラック版は白色）で多少微妙でしたが、実際に届いた製品には白い耐熱ゴムでした。マザーボードに取り付けるとこんな感じです。それほど違和感はありません。CPUのリテールクーラと比べると、背の高さがわかるかと思います。このM.2 SSDも他製品と同様に、酷使するとコントローラチップが発熱します。でもこれだけの熱容量のあるヒートシンクだと、穏やかに暖かくなる程度でした。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/07/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-07-26-22.01.51.png"&gt;&lt;/p&gt;
&lt;h3 id="フォーマット"&gt;フォーマット
&lt;/h3&gt;&lt;p&gt;M.2 SSDをマザーボードに取り付けたら、ディスクユーティリティ.appでAPFSでフォーマットします。HFS+でフォーマットしても良いですが、macOSをインストールする際に結局はAPFSに自動変換されると思います。以前だとシステム用とデータ用にパーティション分けしたりしていたのですが、今はAPFSのコンテナ機能により柔軟にボリューム作成できるので、ちまちまとパーティション分けするのはやめました。ということで1TBを丸ごと一つのパーティションにしました。ディスクユーティリティ.appでは、M.2 SSDを選んで「消去」ボタンを押します。この操作により、SSD全体を占める1パーティションが作られ、その中にコンテナが一つ出来上がり、コンテナにボリュームが1個追加されます。macOSの伝統に従って、ボリューム名はMacintosh HDにしました。APFSコンテナなので、将来、このコンテナにデータ用のボリュームを新設・追加することが容易です。そうすれば、システム用とデータ用の2つのボリューム構成になり、macOSをクリーンインストールするときに便利になります。&lt;/p&gt;
&lt;h3 id="mojaveのインストール"&gt;Mojaveのインストール
&lt;/h3&gt;&lt;p&gt;現用の2.5 inch SATA SSDで起動して、macOS最新版をダウンロードし、M.2 SSDにインストールします。ここまでは通常のMac機種と同じです。今回は、ダウンロードの時間節約のために、あらかじめダウンロードしてあった10.14.5をインストールしました。10.14.6へのアップデートも問題ないはずです。9900Kマシンでは&lt;a class="link" href="https://bootmacos.rinontech.com/posts/5997/" &gt;10.14.6インストール時にiGPUを無効にする必要がありました&lt;/a&gt;が、このマシンはFモデルCPUで、そもそもiGPUが存在しないので、その心配はないと思います。この段階ではM.2 SSDから起動できません。2.5 inch SATA SSDからCloverを起動してM.2 SSDのmacOSの動作を確認します。&lt;/p&gt;
&lt;h3 id="esp内容のインストール"&gt;ESP内容のインストール
&lt;/h3&gt;&lt;p&gt;次に、現用の2.5 inch SATA SSDと、M.2 SSDの両方のESPをマウントし（それぞれ/Volumes/EFIと/Volumes/EFI 1としてマウントされるはずです）、2.5 inch SATA SSDの内容をM.2 SSDに、ファインダーのドラッグ&amp;amp;ドロップ操作でコピーします。あとはBIOSでM.2 SSDを起動ドライブに設定するだけで、macOSが起動しました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/07/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-07-26-19.30.22.png"&gt;&lt;/p&gt;
&lt;h3 id="システム環境で確認"&gt;システム環境で確認
&lt;/h3&gt;&lt;p&gt;システム情報を開いてM.2 SSDの動作を確認しました。TRIMが有効になっているようです。しばらく使用しましたが、特に問題はありませんでした。Crucialの格安のSSDがmacOSで使用できることが確認できました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/07/systeminfo.png"&gt;&lt;/p&gt;
&lt;h3 id="速度測定"&gt;速度測定
&lt;/h3&gt;&lt;p&gt;この格安SSDは自作PCユーザの間で評判のようで、Windowsで測定した速度がいくつかのページで紹介されています。例えば、以下のページです。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://blog.livedoor.jp/wisteriear/archives/1072975150.html" target="_blank" rel="noopener"
 &gt;QLC型NVMe M.2 SSD「Crucial P1 1TB」をレビュー。SATA SSDに近い容量単価でSATA S&amp;hellip;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;これによるとCrucialの1TBモデルは、メーカー発表の仕様書通りの性能を発揮して、Readが2000MB/s, Writeが1700MB/sのようです。Windowsベンチマークでよく使われるCrystalDiskMarkに近い動作をするmacOS用の &lt;a class="link" href="http://www.katsurashareware.com/pgs/adm-j.html" target="_blank" rel="noopener"
 &gt;AmorphousDiskMark.app&lt;/a&gt; を使って速度を測定しました。その結果、仕様書通りの性能が得られました。macOSでもこのSSD本来の性能を活かせているようです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/07/CT1000P1SSD8_2.png"&gt;&lt;/p&gt;</description></item><item><title>USB 3.1とType-Cコネクタ</title><link>https://bootmacos.rinontech.com/posts/5314/</link><pubDate>Sun, 09 Jun 2019 17:30:24 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/5314/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170930110251.png" alt="Featured image of post USB 3.1とType-Cコネクタ" /&gt;&lt;p&gt;USB Type-Cは逆さにも挿せる便利なUSBコネクタです。最近のほとんどのマザーボードに搭載されています。Z390/H370以降のマザーボードならOOBでgen 2の速度が達成できます。&lt;/p&gt;
&lt;h3 id="usbの速度"&gt;USBの速度
&lt;/h3&gt;&lt;p&gt;まずはUSBの規格のおさらいです。今のコンピュータで使えるUSBには以下の三種類があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;USB 2.0&lt;/strong&gt; 速度は480Mbps。以下では簡単に&lt;strong&gt;2.0&lt;/strong&gt;と書きます。5V、接地、信号線2本（D+とD-) の4本の配線を使います。D+とD-は、一般的にはhigh/lowが逆で動作しますが、特別の場合にはどちらもhighやlowになります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USB 3.1 Gen 1&lt;/strong&gt; 速度は5Gbps。長い間USB 3.0と呼ばれていた規格です。以下では&lt;strong&gt;Gen 1&lt;/strong&gt;と書きます。信号線は、送信用に2本、受信用に2本の合計4本になります。それぞれの2本は、high/lowが逆になる差動対です。互換性のためにUSB 2.0の配線と一緒に使われます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USB 3.1 Gen 2&lt;/strong&gt; 速度は10Gbps (毎秒10Gビット)。以下では簡単に&lt;strong&gt;Gen 2&lt;/strong&gt;と書きます。また、Gen 1とGen 2のことをまとめて&lt;strong&gt;3.1&lt;/strong&gt;と書くことにします。配線は Gen 1と同じです。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="usbのコネクタ"&gt;USBのコネクタ
&lt;/h3&gt;&lt;p&gt;速度の規格とは別に、コネクタもいろいろあります。ここではUSB AとUSB Type-Cを説明します。&lt;/p&gt;
&lt;h4 id="usb-aコネクタ"&gt;USB Aコネクタ
&lt;/h4&gt;&lt;p&gt;一般的な四角のコネクタです。2.0, 3.1のどちらもAコネクタを使えます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/wikimedia/USB_Male_Plug_Type_A.jpg"&gt;&lt;/p&gt;
&lt;p&gt;のぞきこむと4個の接点が見えます。これは2.0が使う電源、接地、D+、D-の4本です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/USB_A.png"&gt;&lt;/p&gt;
&lt;p&gt;3.1も同じ形のコネクタを使い、やはりのぞきこむと4本の接点があります。ただこれは互換性のために残された2.0のコネクタです。なので3.1対応のAコネクタに2.0のケーブルや機器を接続すると2.0として機能します。3.1用のAコネクタの奥の方には、3.1のために、さらに5本のピンがあります。この5本は、送信用の2対、受信用の2対、接地用の1本です。&lt;/p&gt;
&lt;h4 id="usb-type-c-コネクタ"&gt;USB Type-C コネクタ
&lt;/h4&gt;&lt;p&gt;USB Type-Cのコネクタは24ピンで、逆挿ししても機能します。なので以下のように、上下に点対称でピンが配置されています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/wikimedia/USB_Type-C_Receptacle_Pinout.svg"&gt;&lt;/p&gt;
&lt;p&gt;中央のD+, D-は2.0の速度の通信のためのピンです。メス側（マザーボード側）は2組ありますが、これに接続するケーブル側は片方しかありません。なので、実際には裏か表の1組（D+, D-）だけが動作します。そこで、表のD+, D-と裏のD+, D-は同じものです。&lt;/p&gt;
&lt;p&gt;これに対して3.1のための高速通信ピンには独立した2組があります。TX1+, TX1-, RX1+, RX1-の4本は1組目のピンで、TX2+, TX2-, RX2+, RX2-の4本が2組目のピンです。2組の3.1があるので同時に通信したら2倍高速になるような気もします。しかし、多くのマザーボードでは内部に3.1用USBハブを持っていて、TX1+, TX1-, RX1+, RX1-と、TX2+, TX2-, RX2+, RX2-は、1本の3.1を分岐しているだけのようです。なので同時に通信できたとしても合計で1本分の速度にしかならないです。&lt;/p&gt;
&lt;h3 id="type-cの特殊能力"&gt;Type-Cの特殊能力
&lt;/h3&gt;&lt;h4 id="usb-type-c-pd"&gt;USB Type-C PD
&lt;/h4&gt;&lt;p&gt;Type-Cには以前のUSBコネクタには無かった新しい機能があります。その一つがPD (Power delivery パワーデリバリー)機能です。Aコネクタなどでも5Vの電源を供給していて、これを使って機器に電力供給したり充電したりしていました。これをさらに強化したのがType-CのPD機能です。PDでは、上記のコネクタに示す4本のVBUS線を使って大容量の電力を供給します。しかし、配線に流せる電流量には上限があります。なので必要に応じて電圧を上げて、同じ電流でより多くの電力を供給する工夫がされています。そのために、CCと書かれたピンを使って送電側と受電側で何ボルトに対応しているのかネゴシエーションします。双方が高電圧に対応している場合、20Vまで電圧を上げて、5Aまでの電流を流します。これで最大100Wもの電力を供給します。&lt;/p&gt;
&lt;p&gt;多くのマザーボードはPDに対応していません。なのでMacBookを接続してもACアダプターほどの速度で充電できません。市販の30W PD対応ACアダプターとASUS ROG MAXIMUS XIで充電時間を比較しました。以下のように、ACアダプターだと1時間46分で充電できるところが、マザーボードだと約6時間かかるという表示になりました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/recharge1.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/recharge2.png"&gt;&lt;/p&gt;
&lt;p&gt;単純に比例計算するとマザーボードの供給電力は9Wのようです。通常のUSB 2.0端子が5V 2A程度（10W）ですので、従来のUSBの5Vがそのまま出ているだけでPDには対応していない様子です。&lt;/p&gt;
&lt;p&gt;仕様書に「PDに対応している」ことが明記されたマザーボードもあります。例えば、[ASRockのZ390 Phantom Gaming-ITX/acは12V-3A (36W) までのPDに対応](&lt;a class="link" href="https://www.asrock.com/mb/Intel/Z390" target="_blank" rel="noopener"
 &gt;https://www.asrock.com/mb/Intel/Z390&lt;/a&gt; Phantom Gaming-ITXac/index.jp.asp#Specification)しているようです。このマザーボードを使えばMacBook付属ACアダプター並みの充電が可能と思われます。&lt;/p&gt;
&lt;h4 id="usb-type-c-alternate-mode"&gt;USB Type-C Alternate-mode
&lt;/h4&gt;&lt;p&gt;Type-Cのすごい機能で、それゆえわかりにくいのがオルタネートモードです。ケーブルのデータ信号線を他のプロトコルによるデータ送受信に転用できるという機能です。3.1のデータ線のうち4本、2.0のデータ線2本などが他のプロトコルの信号を流すために使えます。使えるプロトコルには、Thunderbolt 3, DisplayPort, HDMIなどがあります。Type-CのコネクタがThunderboltやHDMIなどとして使えるのはこの機能があるからです。&lt;/p&gt;
&lt;p&gt;現行製品でType-CがThunderbolt 3としても機能するマザーボードには、上記のASRock[Phantom Gaming-ITX/ac](&lt;a class="link" href="https://www.asrock.com/mb/Intel/Z390" target="_blank" rel="noopener"
 &gt;https://www.asrock.com/mb/Intel/Z390&lt;/a&gt; Phantom Gaming-ITXac/index.jp.asp#Specification)や、&lt;a class="link" href="https://www.gigabyte.com/Motherboard/Z390-DESIGNARE-rev-10#sp" target="_blank" rel="noopener"
 &gt;GIGABYE Z390 DESIGNARE&lt;/a&gt;などがあります。ASRockのType-Cはディスプレイへの接続も可能と記されています。&lt;/p&gt;
&lt;h3 id="gen-1-も-2-もあるtype-c"&gt;Gen 1 も 2 もあるType-C
&lt;/h3&gt;&lt;p&gt;USB 3.1の速度仕様には紛らわしい点が多い気がします。長い間5GbpsのUSB 3.0が使われてきて、10GbpsのUSB 3.1が登場しました。その後、前者がUSB 3.1 Gen 1、後者がUSB 3.1 Gen 2と呼ばれるようになりました。5Gbpsでも3.1と呼んで良いことになり、なんとなく騙されそうな気分になります。一方、Type-CはUSB 3.1のためのコネクタとして登場しました。なのでType-Cに装備されている3.1は当然Gen 2だと思っている人も多いと思います。実際には、Type-CにもGen 1のものとGen 2のものがあります。&lt;/p&gt;
&lt;h4 id="mac"&gt;Mac
&lt;/h4&gt;&lt;p&gt;Macは他社製品に比べて早い時期からType-Cを積極的に搭載し、PD機能やThunderbolt, DisplayPortなどのオルタネートモード機能を採用してきました。でもUSB機能に関しては最近の機種でようやく対応したところです。MacBookシリーズではMacBookがまだGen 1です。デスクトップ機はMac ProがGen 1です。&lt;/p&gt;
&lt;h4 id="マザーボード"&gt;マザーボード
&lt;/h4&gt;&lt;p&gt;マザーボードの3.1用Aコネクタにも、Type-Cにも、Gen 1とGen 2の両方があります。インテルのチップセットでGen 2がサポートされたのは300シリーズからです。（ちなみにZ370はZ270と同じ200シリーズです）。なので、300シリーズのマザーボードに搭載されているType-CコネクタはGen 2と考えて良いです。&lt;/p&gt;
&lt;p&gt;200シリーズ以前でも、付加価値が求められる上位機種マザーボードでは、AsmediaなどのサードパーティUSBチップを搭載してGen 2をサポートしています。これらもHackintoshで使えなくはないようですが、使われているチップのバリエーションが多く不安定要素があります。これに対して、300シリーズのチップセット搭載Gen 2はmacOSがサポートしています。OOBで使えることが確実なので安心です。&lt;/p&gt;
&lt;p&gt;同様な状況はGen 1の時にもありました。インテルのチップセットがGen 1（当時のUSB 3.0）をサポートしたのは7シリーズからです。それ以前のチップセットは2.0しかサポートしていませんでした。そこで色々なサードパーティUSBチップを搭載していたので、2.0は問題なく動くけどGen 1は不安定な状況でした。7シリーズになって何の問題もなくOOBで動くようになりました。&lt;/p&gt;
&lt;h3 id="type-cの速度を実測する"&gt;Type-Cの速度を実測する
&lt;/h3&gt;&lt;h4 id="測定方法"&gt;測定方法
&lt;/h4&gt;&lt;p&gt;手元にあるマシンのType-Cの速度を計測しました。現在入手できるUSBメモリはType-C接続であってもほとんどすべてGen 1です。なので、M.2 SSDをGen 2ケースに入れて測定しました。M.2 SSDには以前のビルドでmacOSと相性の良かったWestern Digitalの250GB M.2 SSDを使用しました。&lt;/p&gt;
&lt;p&gt;これをType-Cケースに入れました。これでUSB 3.1 Gen 2外付けSSDになります。このケースは透明で放熱板もついています。&lt;/p&gt;
&lt;p&gt;ケーブルがGen 1にしか対応していなかったら台無しですので、Gen 2対応製品を購入しました。10Gbpsは電気的に厳しい周波数になるので、品質や長さに注意する必要があります。&lt;/p&gt;
&lt;p&gt;測定にはAmorphousDiskMarkを使いました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="http://www.katsurashareware.com/pgs/adm-j.html" target="_blank" rel="noopener"
 &gt;http://www.katsurashareware.com/pgs/adm-j.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;素のままのSSDは、M.2接続で以下のようなスピードでした。Readが30Gbpsです。Gen 2の速度 (10Gbps) よりはるかに高速ですので、外付けケースに入れるとUSB通信速度がボトルネックになります。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/adm1.png"&gt;&lt;/p&gt;
&lt;h4 id="macbook-2017のtype-c"&gt;MacBook 2017のType-C
&lt;/h4&gt;&lt;p&gt;現行の製品ですがType-CはGen 1です。測定したらReadが4.3Gbpsでした。Gen 1の速度である5Gbpsと同程度です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/macbook.png"&gt;&lt;/p&gt;
&lt;h4 id="msi-h270m-mortar-arcticのtype-c"&gt;MSI H270M Mortar ArcticのType-C
&lt;/h4&gt;&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/5097/" &gt;こちらで紹介した&lt;/a&gt;ビルトです。200シリーズのチップセットなのでGen 1です。チップセットのUSBがType-Cで使われているので、Type-CもGen 1です。MacBookと同程度の速度です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/h270M.png"&gt;&lt;/p&gt;
&lt;p&gt;システム情報を見てもスピードが5Gbpsであることが確認できます。コントローラのPCI製造元IDを見るとIntel (0x8086) なのでインテルチップセットを使っていることがわかります。ちなみにJMicron Technology Corp.は、このUSB Type-Cケースで使われているチップの製造会社と思われます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/H270M_systeminfo.png"&gt;&lt;/p&gt;
&lt;h4 id="asus-rog-maximus-xi-hero-z390のtype-c"&gt;ASUS ROG Maximus XI Hero (Z390)のType-C
&lt;/h4&gt;&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/1915/" &gt;こちらの記事で紹介したビルド&lt;/a&gt;です。こちらは300シリーズのチップセットなのでGen 2です。速度が9.7Gbpsと、ほぼGen 2の上限の10Gbpsになっています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/ASUSz390.png"&gt;&lt;/p&gt;
&lt;p&gt;システム情報を見てもスピードが10Gbpsであることが確認できます。これもIntel (0x8086) のチップセットを使っています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/06/ASUSz390_info.png"&gt;&lt;/p&gt;</description></item><item><title>PCIe拡張カードでSATAを増設する</title><link>https://bootmacos.rinontech.com/posts/2036/</link><pubDate>Sat, 25 May 2019 23:17:47 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/2036/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2019/05/2560px-Serial_ATA.svg_.png" alt="Featured image of post PCIe拡張カードでSATAを増設する" /&gt;&lt;p&gt;SATAポートをASM1061搭載の格安PCIe拡張カードを使って増設しました。macOSから見たSATAチップの互換性は高いようで、大抵の拡張カードはそのまま「一般的なSATA」として認識されて動作します。&lt;/p&gt;
&lt;h3 id="減少するsataポート"&gt;減少するSATAポート
&lt;/h3&gt;&lt;p&gt;マザーボードに搭載されているSATAポートの数が減っています。HDDの容量が増えたので、3.5インチのHDDを多数搭載する人が減ったためかもしれないです。光学ドライブも使われなくなりました。高速SSDはM.2でPCIeに直接接続するようになりました。このような理由なのか、従来のフルサイズマザーボードにはSATAが8本くらい搭載されていたところが、今は多くて6本止まりです。&lt;/p&gt;
&lt;p&gt;SATA最大数が6本なのには理由があります。現行の300シリーズチップセット (Z390, H370, Q370, B360) がサポートするSATA 3.0の数が6本だからです（H310は4本）。これ以前のチップセットでも、サポートするSATAの数はだいたい6本でした。6本を超えるSATAポートを搭載したマザーボードは、チップセット以外にサードパーティのSATA 3.0チップを搭載していたのです。サードパーティメーカーには、ASMedia, JMicron, Marvellなどがあります。&lt;/p&gt;
&lt;h3 id="sataインタフェースカード"&gt;SATAインタフェースカード
&lt;/h3&gt;&lt;p&gt;今の時代、SATAは6本もあれば大体足ります。でも昔風の大型ケースで作った自作パソコンに、光学ドライブを1台、3.5インチHDDを3台、2.5インチSSDを2台、さらにHDD2台搭載のリムーバブルベイを取り付けたりしていると、これでSATAが8本必要になります。そんなSATAを増やしたい人のために、PCIeソケット用SATAインタフェースカードが多数販売されています。そこで、SATAインタフェースカードを取り付けて増設することにしました。PCIeスロットを使ってなんでも増設できるところが、自作macOSマシンの強みです。&lt;/p&gt;
&lt;p&gt;macOSは、インテルチップセットのSATAに加えて、サードパーティのSATAもサポートしています。なので大抵のSATAインタフェースカードはPCIeスロットに挿すだけで動作します。でも、「システム情報」のSATA装置ツリーを見ると、インテルのSATAはその名前で認識されているのに対して、サードパーティのSATAは「一般的なSATA」となっています。下は、後述するASMediaのSATAカードを取り付けた様子です。6本のインテルチップセットは正しく反映されているのに対して、追加の2本はGeneric Controllerと表示されています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/05/generic.png"&gt;&lt;/p&gt;
&lt;p&gt;そのような場合に、MultiBeastと一緒に配布されているAHCI_3rdParty_SATA.kextまたは、AHCI_3rdParty_eSATA.kextを使用すると、正しい名称を表示してくれるようになります。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/21/" &gt;tonymacx86式インストール手順 (その2: MultiBeast)&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;更新&lt;/strong&gt;：eのつく方のkextを使うと、以前のmacOSでは、接続したドライブが外部ドライブとして表示され、ホットスワップできました。ただ、Sierraあたりからこれが機能しなくなったようです。Sierra以降の対処法をこちらに書いておきました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/7857/" &gt;SATA接続HDD/SSDのホットプラグ（改訂版）&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/05/ahci_3rdparty_esata.png"&gt;&lt;/p&gt;
&lt;p&gt;このkextの中のInfo.plistには、PCIeの製造者ID, 製品IDと製品名を結びつける記述があります。逆に、このkextに記述されたチップならば、macOSで間違いなく機能すると考えて良いです。すなわち、macOSで機能するSATAチップは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ASMedia ASM1061&lt;/li&gt;
&lt;li&gt;JMicron JMB360 AHCI&lt;/li&gt;
&lt;li&gt;JMicron JMB360 RAID&lt;/li&gt;
&lt;li&gt;JMicron JMB361 AHCI&lt;/li&gt;
&lt;li&gt;JMicron JMB361 RAID&lt;/li&gt;
&lt;li&gt;JMicron JMB362 AHCI&lt;/li&gt;
&lt;li&gt;JMicron JMB362 RAID&lt;/li&gt;
&lt;li&gt;JMicron JMB363 AHCI&lt;/li&gt;
&lt;li&gt;JMicron JMB363 RAID&lt;/li&gt;
&lt;li&gt;JMicron JMB366 AHCI&lt;/li&gt;
&lt;li&gt;JMicron JMB366 RAID&lt;/li&gt;
&lt;li&gt;Marvell 88SE9120&lt;/li&gt;
&lt;li&gt;Marvell 88SE9123&lt;/li&gt;
&lt;li&gt;Marvell 88SE9125&lt;/li&gt;
&lt;li&gt;Marvell 88SE9128&lt;/li&gt;
&lt;li&gt;Marvell 88SE9172&lt;/li&gt;
&lt;li&gt;Marvell 88SE9230&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;です。これが搭載されたSATAインタフェースカードを入手すると良いです。ASM1061を搭載したカードは、2個のSATA 3.0コネクタがあります。価格は安いです。eSATA端子もついているので、外部HDDも使用できます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="PCIe to SATA" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Pci-E-To-Sata3-Pci-E-Sata3-0-6Gb-S-the-Ssd-Asmedia-Chip-Expansion-Card-3.jpg"&gt;&lt;/p&gt;
&lt;p&gt;こちらはeSATAの無いタイプです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="PCIe to SATA" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/H16b446e9aba44a92976218275801e3268.jpg"&gt;&lt;/p&gt;
&lt;p&gt;ちょっと高級なのがMarvell 88SE9230搭載のカードです。SATA 3.0が4個付いています。放熱板も付いて少し良い作りです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Marvell 88SE9230" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Marvell-88SE9230-Chip-SATA-PCIE-Raid-Controller-SATA-PCIE-SATA-Raid-Ca-3.jpg"&gt;&lt;/p&gt;
&lt;h3 id="激安sataカードを試す"&gt;激安SATAカードを試す
&lt;/h3&gt;&lt;p&gt;今回はSATAがあと2個欲しい状況でしたし、破格のカードを試してみたい気もしたので、ASM1061のカードを入手してみました。Amazonで送料込み1,000円未満なのがすごいです。（&lt;strong&gt;追記&lt;/strong&gt;：その後、1,000円未満の商品は見つからなくなりました）中国から配送されるので、到着までに2週間ほどかかりました。購入した製品は、ジャンパーピンで、eSATAと内部用SATAコネクタを切り替えることができるタイプでした。挿すだけで認識されて機能します。AHCI_3rdParty_eSATA.kextを入れたところ、以下のように製造元・製品名が正しく表示されました。SATAが2.0しか搭載されていないタワー型Mac Proにも使えるカードだと思います。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/05/asmedia.png"&gt;&lt;/p&gt;</description></item><item><title>Hackintoshが起動しなくなる前にやっておくこと</title><link>https://bootmacos.rinontech.com/posts/1621/</link><pubDate>Sun, 14 Apr 2019 15:59:40 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/1621/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2018/09/20180628102100.png" alt="Featured image of post Hackintoshが起動しなくなる前にやっておくこと" /&gt;&lt;p&gt;設定を変更したら起動しなくなってしまったという経験は誰にでもあると思います。その前に少しだけ準備しておけば復旧の手間を減らすことができます。そんな工夫をいくつか書き連ねてみました。&lt;/p&gt;
&lt;p&gt;本物のMacではmacOSが起動しない事態に陥ることは滅多にありません。しかし色々設定してなんとか本物のMacに近い動きを実現しているHackintoshでは、ちょっとした設定の変更やOSのバージョンアップでマシンが起動しなくなることはよくあることです。真っ黒な画面を目にして、設定を変えなければよかったとか、もっと考えてからバージョンアップすればよかったと後悔することが多いです。どんなに間違った設定をしても、それ以前に動いていたなら、インストールした手順を最初から繰り返せば元に戻せます。でもそこまで手間をかけなくても、大抵の失敗はもっと簡単に取り戻せます。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;追記&lt;/strong&gt;：EFI Shellを使うと良いですとコメントいただきました。確かに、ここで書いた事態は、EFI Shellを使って回復できるようです。ということで、続きは以下をご覧ください。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/1754/" &gt;起動しないマシンをUEFI Shellで救う&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="動作するconfigplistをバックアップしておく"&gt;動作するconfig.plistをバックアップしておく
&lt;/h3&gt;&lt;p&gt;config.plistをちょっとだけ書き換えたら動かなくなるという失敗はいつもやってます。こんな事態に備えて、動いているconfig.plistを変更する場合には、そのコピーを作っておくと良いです。コピーの名前は、configXXXXX.plistとします。例えば、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cp config.plist config_old.plit
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;としてから、config.plistに変更を加えます。こうするとESPのCLOVERディレクトリにconfig.plistとconfig_old.plistの二つの設定ファイルが出来上がります。CLOVERはconfig.plistの内容を読んで起動します。config.plistを書き換えたことにより起動に失敗する場合は、Cloverの起動ドライブを選ぶ画面から、Optionメニューを選んで、config.plistメニューを選びます。するとconfig_old.plistをラジオボタンで選択できます。これを選べば元どおり起動するはずです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/04/selectconfigs.png"&gt;&lt;/p&gt;
&lt;h3 id="esp全体をクラウドにバックアップしておく"&gt;ESP全体をクラウドにバックアップしておく
&lt;/h3&gt;&lt;p&gt;config.plistを別名でコピーしておくことを忘れてしまい、起動するconfig.plistがESPにもはや存在しない場合は、上の方法は使えません。ただ、Cloverのオプションメニューからは、いろいろな設定を一時的に変更できるので、それで復旧できることもあります。でも、config.plist編集以外の作業をした場合、例えばefiファイルやkextファイルを差し替えたとか、DSDTを書き換えたなどの場合は、復旧が難しい場合が多いです。&lt;/p&gt;
&lt;p&gt;その場合、動いていた時のESP全体のバックアップがあれば復旧は楽です。バニラなインストールをしている場合、ESP以外は実機のMacと同じで、いろいろな復旧方法があります。OSならApp Storeからダウンロードし直せば良いです。またTime Machineでバックアップしておけば、データが壊れたとしても取り戻せます。HDDを多数接続できる自作HackintoshはTime Machineの利用がやりやすいので、是非検討してください。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/128/" &gt;Time Machineは良いです&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ESPは常時マウントするものでは無いので、Time Machineバックアップには不向きです。量も少ないですし、手作業でバックアップしておくのが良いでしょう。バックアップ先は色々考えられますが、今時ならばクラウドが良いと思います。絶対安全ですし、紛失しませんし、他のマシンからアクセスできるので、復旧用USBメモリーを作成するのも簡単です。バックアップのタイミングも色々考えられますが、一番効率が良いのは、ESP書き換え作業の直前です。作業直前に動作している最新のESPをバックアップしておけば、次の起動に失敗しても復旧できます。ということで、ESPをマウントすると同時にバックアップを取っておく方法を以前にこちらで説明しました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/35/" &gt;ESPをマウントしてついでにバックアップする&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="訓練バックアップespから復旧する"&gt;訓練：バックアップESPから復旧する
&lt;/h4&gt;&lt;p&gt;いざという時に本当に復旧できるのかどうか、訓練してみました。まずはメインで使っているHackintoshをシャットダウンします。次に、サブで使っているMacBookで、以下の作業をしました。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;適当なUSBメモリ(GUIDパーティション) のESPをマウントして開く&lt;/li&gt;
&lt;li&gt;iCloudドライブにアクセスして最新ESPをUSBメモリにコピーする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;手持ちのGUIDパーティションのUSBメモリーにEFIがなかったり、diskutil repairdiskコマンドでEFIが作れるらしいとか、でもUSBメモリーのサイズが小さいとEFIが作れないなど、色々発見がありましたが、最終的にはUSBメモリーで無事起動できました。&lt;/p&gt;
&lt;h3 id="画面共有sshサーバを起動しておく"&gt;画面共有・sshサーバを起動しておく
&lt;/h3&gt;&lt;p&gt;macOSのインストールに成功して、ネットワーク機能が動くようになったらすぐにやっておくと良いことがあります。それは、「システム環境設定」「共有」から「画面共有」と「リモートログイン」を有効にしておくことです。リモートログインはsshd (sshのサーバ) を動かす機能です。これらが有効になっていれば、他のマシンから画面共有やsshで接続することができます。&lt;/p&gt;
&lt;p&gt;Hackintoshを設定していて、グラフィックス機能が動かなくなり、起動しても画面が出ないことがあります。また、スリープから目覚めた時に、グラフィックス機能が復帰できずに画面が真っ黒なままなこともあります。このような場合、コンピュータは止まっているように見えますが、内部では動いています。なので、画面共有やsshで接続して、設定を調整し直すことが可能です。また、それが可能ならば、不具合の原因がグラフィックス関係であることが特定できます。&lt;/p&gt;
&lt;h3 id="apfsコンテナにボリュームを作っておく"&gt;APFSコンテナにボリュームを作っておく
&lt;/h3&gt;&lt;p&gt;macOSのバージョンアップで起動しなくなる場合もあります。Cloverやkext類が最新でないことが原因である場合が多いです。また、kextをバージョン別のフォルダに入れている場合、新しいバージョン用のフォルダを作り忘れるというケアレスミスもあります。現在動いているmacOSを非常用のシステムとしてインストールしておくと、このような場合に早く復旧作業に入れます。外付けのドライブやUSBメモリーに非常用のシステムを作っておくと、いざという時に見つからない場合もあります。接続中のドライブに非常用システムのボリュームを作っておくのが安心です。&lt;/p&gt;
&lt;p&gt;APFSになってからボリュームを作る作業が楽になりました。APFSコンテナの中に、好きな時に必要なだけのボリュームを作ったり消したりできます。パーティション一つがボリューム一つだった時代は、使われない記憶領域ができて無駄だったのですが、APFSのボリュームなら必要な記憶容量しか使用しません。何も加えないmacOSならば14GBほどのサイズです。私が作ったMojaveの起動ボリュームは13.6GBでした。これが苦にならない程度のAPFSコンテナがあれば、非常用システムを作っておくと良いと思います。こちらで説明しておきました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/27/#OS%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%AB%E3%82%82%E8%A4%87%E6%95%B0Volume%E3%81%8C%E4%BE%BF%E5%88%A9" &gt;APFSのVolumeを活用する&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ASUS MAXIMUS XI HEROにM.2 SSD (WD SN750)を取り付ける</title><link>https://bootmacos.rinontech.com/posts/1416/</link><pubDate>Mon, 11 Mar 2019 18:08:02 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/1416/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2019/03/1899146-n0.png" alt="Featured image of post ASUS MAXIMUS XI HEROにM.2 SSD (WD SN750)を取り付ける" /&gt;&lt;p&gt;Z390チップセットの9900Kマシンは順調に動いているのですが、起動ドライブは手元にあった2.5 inch SSDを流用してました。これを今風のM.2 SSDに交換しました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/988/" &gt;9900K搭載Z390マザーボードでHackintoshを作る&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="ストレージ構成をどうするか"&gt;ストレージ構成をどうするか
&lt;/h3&gt;&lt;p&gt;ATX基板を使っていますし、ケースはそれなりの大きなケースを考えているので、SATAケーブルで接続するドライブはいくつか使用するつもりです。大容量の3.5 inch HDDを2台くらいは使って、片方をデータの倉庫に、もう一方をTimeMahineのバックアップに使おうと考えています。Windowsは滅多に使わないのですが、気が変わってWindows用に2.5 inch SSDを一個くらい付けるかもしれません。&lt;/p&gt;
&lt;p&gt;M.2 SSDは高速・小型なので、将来はM.2が主流になって、SATAケーブルで接続するドライブはマイナーな存在になると思います。ただ現状では、M.2 SSDは、割高ですし、体感速度で考えると2.5 inch SSDとそれほど違わないし、他のマシンやMacにつなぎ変えて動作を確認するなどの場面では取り外し・取り付けが面倒です。ということで、メインで作業するデータ領域（/Users）は、2.5 inch SSDにして、システム領域（/、/System、/Applications、/Libraryなど）だけをM.2 SSDにするのが良いと考えました。ということで、ゆくゆくは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;250GB程度のシステム用（root用）M.2 SSD&lt;/li&gt;
&lt;li&gt;1TB程度のデータ用（/Users）2.5 inch SSD&lt;/li&gt;
&lt;li&gt;4TB程度のTimeMachine用3.5 inch HDD&lt;/li&gt;
&lt;li&gt;4TB程度のデータ倉庫用3.5 inch HDD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の構成を考えています。&lt;/p&gt;
&lt;h3 id="m2-ssdを選定"&gt;M.2 SSDを選定
&lt;/h3&gt;&lt;p&gt;そこで第一歩として、中小容量のシステム用M.2 SSDを物色しました。OSとアプリケーションを入れるだけなら120GB程度でも十分な容量なのですが、SSDの構造上、容量が小さいと書き込み時間が遅くなります。120GBは製品もあまり多くないので、選択肢の多い250GBを選ぶことにしました。Hackintoshでは、SamsungのSSDがよく使われているようです。tonymacx86などでも実績があります。今回はいろいろ探して評判の良かったWestern DigitalのWD BLACK SN750を使うことにしました。カタログスペックでは、シーケンシャルRead:3,100MB/s、シーケンシャルWrite:1,600MB/sで高速です。以前使っていたSSDはコントローラがかなり高温になったものですが、この製品はそれほど発熱しないような気がします。&lt;/p&gt;
&lt;p&gt;最近のSSDの低価格化に寄与している技術が、記憶セルあたりの情報量を増やす手法です。通常のメモリは、セルに電荷を貯める・貯めないの2状態で1ビットを記録します。貯める電荷量を、3段階にすれば、電荷が無い状態を含めて4状態になり、2ビット記録できます。記憶セルあたり1ビット記録する方式をSLC (シングルレベルセル)、2ビットをMLC (マルチ〜)と呼ぶようです。さらに8状態にして3ビット記録するTLC (トリプル〜)や、16状態にして4ビット記録するQLC (クアドラプル〜)があるようです。セルあたりの記憶量を増やすことで、低価格なSSDが作れます。その一方で、速度や耐久性が弱くなると指摘されています。WD BLACK SN750はTLCのSSDのようです。（最初の記事ではSLCだと勘違いしていました。訂正します。）若干不安はありますが、ちゃんとした製品なので当然のことですが、何の問題もなく動いています。&lt;/p&gt;
&lt;h3 id="マザーボードに取り付ける"&gt;マザーボードに取り付ける
&lt;/h3&gt;&lt;p&gt;ASUS MAXIMUS XI HEROにはSSD用に2個のM.2ソケットが用意されています。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/03/%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-09-17.20.19.png"&gt;&lt;/p&gt;
&lt;p&gt;マザーボードの中央、CPUの近くにあるM.2_1と、マザーボードの端にあるM.2_2です。それぞれ多少機能が違います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;M.2_1はKey M, Type 2242/2260/2280のSSD用で、インタフェースはPCI Express 3.0 x4およびSATAに対応します。ただしSATA SSD取り付けた場合、SATA 6Gb/s 第 2ポート(SATA6G_2)は無効になります。&lt;/li&gt;
&lt;li&gt;M.2_2はKey M, Type 2242/2260/2280/22110のSSD用で、インタフェースはPCI Express 3.0 x4のみに対応します。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;WD BLACK SN750は、2280のSSDでPCI Express 3.0 x4接続なので、どちらのソケットにも取り付けることができます。どちらでも良かったのですが、M.2_2の方を使うことにしました。というのは、M.2_1は、CPUに近くて、大きなCPUクーラを使用すると、取り付け・取り外し作業が困難です。また、M.2_2の方がより大型の22110対応なのでヒートシンクが大きく、多少は放熱性能が良いと考えたからです。&lt;/p&gt;
&lt;h3 id="hackintoshのインストール"&gt;Hackintoshのインストール
&lt;/h3&gt;&lt;p&gt;すでに2.5 inch SSDでHackintoshが動いているので、この先の作業は簡単です。成功することが見えているようなものです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;M.2 SSDをソケットに取り付ける&lt;/li&gt;
&lt;li&gt;現在の2.5 inch SSDで起動してM.2 SSDをAPFSでフォーマットする&lt;/li&gt;
&lt;li&gt;App StoreからmacOS Mojaveインストール.appを入手する&lt;/li&gt;
&lt;li&gt;macOS Mojaveインストール.appを起動してM.2 SSDにmacOSをインストールする&lt;br&gt;
（インストール中に2度ほど再起動しました。Cloverのドライブ選択画面でBoot macOS install from xxxx (M.2 SSDにつけた名前）が表示される間は、そのドライブを選びます。）&lt;/li&gt;
&lt;li&gt;Cloverインストーラを起動してブートローダ類をM.2 SSDにインストールする&lt;/li&gt;
&lt;li&gt;config.plist, efi, kext類を2.5 inch SSDからM.2 SSDのESPにコピーする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;今回は、何の問題もなくインストールできました。しかしMojaveになってからmacOSのインストールに失敗する場面が増えたように思います。どうしてもmacOSがインストールできない場合は、最後の手段として、M.2 SSDを本物のMacにUSB接続してインストールするのも良いと思います。その場合、M.2 SSDを2.5 inch SATAドライブのように変換してくれるアダプタがあると便利です。&lt;/p&gt;
&lt;p&gt;&lt;img alt="U.2 SFF-8639 To NGFF M.2 M-Key PCIE SSD Adapter For Mainboard Case Enclosure" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/U-2-SFF-8639-To-NGFF-M-2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;macOSのインストールが終わったら、2.5 inch SSDのCloverからM.2のmacOSを起動します。macOSとしての設定を色々終了したら、CloverをM.2にインストールします。また、2.5 inch SSDのESPから、config.plistやkext類を、M.2のESPにコピーします。以上で、M.2 SSDに問題なく移行できました。&lt;/p&gt;</description></item><item><title>M.2のソケット</title><link>https://bootmacos.rinontech.com/posts/1101/</link><pubDate>Wed, 02 Jan 2019 21:44:50 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/1101/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2019/01/M2SSD.png" alt="Featured image of post M.2のソケット" /&gt;&lt;p&gt;&lt;a class="link" href="https://www.amazon.co.jp/dp/B078WYRR9S" target="_blank" rel="noopener"
 &gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/amazon/B078WYRR9S.jpg"&gt;&lt;/a&gt;現行マザーボードに必ず付いているM.2のソケットについて、Hackintoshに必要な知識をまとめてみました。&lt;/p&gt;
&lt;p&gt;M.2はWiFi/Bluetoothの無線ユニットやSSDなどの拡張カードを取り付けるソケットです。M.2では、拡張カードの形状と端子が規格化されています。昔はNGFF（Next Generation Form Factor）と呼ばれていたので、今でもそう併記されることもあります。えむどっとつーと呼ぶのが一般的で、Mは大文字のようです。これ以前に、mini PCI Express, Mini-SATA, mSATAという形のソケットがありましたが、これを小型化してPCIeのレーン数を増やした後継規格です。少し前のマザーボードにはmPCIe, mSATAのソケットがついていましたが、今はM.2です。例えば、古いIntel NUCではmPCIe, mSATAが付いていますが、現行モデルはM.2です。&lt;/p&gt;
&lt;h4 id="m2の形と端子"&gt;M.2の形と端子
&lt;/h4&gt;&lt;h4 id="形"&gt;形
&lt;/h4&gt;&lt;p&gt;サイズが決められています。&lt;a class="link" href="https://ja.wikipedia.org/wiki/M.2" target="_blank" rel="noopener"
 &gt;Wikipediaによると、&lt;/a&gt;幅は12、16、22、30mmの4種、長さは16、26、30、38、42、60、80、110mmの8種類だそうです。でも実際に売られている製品は、幅が22mmで、長さが30、42、60、80mmのものが一般的です。それぞれ、2230, 2242, 2260, 2280というような名前がついています。&lt;/p&gt;
&lt;h4 id="端子"&gt;端子
&lt;/h4&gt;&lt;p&gt;端子には、PCIe が最大4レーン、SATA、USB 2.0, USB 3.0, I2C, オーディオなどが出ています。このうち一般に使われているのはPCIe, SATA, USBです。さらに全てが使えるわけではなく、バリエーションがいくつか用意されています。その違いをわかりやすくして、間違って使用されないように、端子に切り欠きが入っています。ソケットの方にも切り欠きに合わせた仕切りが作ってあり、間違ったカードが挿さらないようになっています。&lt;/p&gt;
&lt;p&gt;現在のマザーボードには、主に以下の二種類のソケットがついています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;E key&lt;/strong&gt;: 24-31番ピンの場所が切り欠きになっています。PCIeが2レーン、USB 2.0などが使えます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M key&lt;/strong&gt;: 59-66番ピンの場所が切り欠きになっています。PCIeが4レーンとSATAが使えます。SATAが使えないものもあります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一方で、よく見かけるM.2用カードは、以下の四種類です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;E key&lt;/strong&gt;: 24-31番ピンの場所が切り欠きになっています。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A-E key&lt;/strong&gt;: 8-15番ピンと24-31番ピンの場所が切り欠きになっています。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M key&lt;/strong&gt;: 59-66番ピンの場所が切り欠きになっています。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B-M key&lt;/strong&gt;: 12-19番ピンと59-66番ピンの場所が切り欠きになっています。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ソケットの方は仕切り板で、カードの方は切り欠きなので、ソケットの仕切り板の位置さえあっていれば、物理的には挿すことができます。なので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A-E keyとE keyのカードはE key用ソケットに挿さります。&lt;/li&gt;
&lt;li&gt;B-M keyとM keyのカードはM key用ソケットに挿さります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/01/m2pins.jpg"&gt;&lt;/p&gt;
&lt;p&gt;左がE keyソケットとA-E keyカードの例、右がM keyソケットとB-M keyの例です。どちらも挿さります。ただし挿さっても動作するとは限りません。&lt;/p&gt;
&lt;h3 id="m2カードの使い道"&gt;M.2カードの使い道
&lt;/h3&gt;&lt;p&gt;何にでも使える規格ですが、現在一般的に使われているのが、WiFi/Bluetoothの無線カードと、SSDカードです。無線カードは、E keyソケットに、SSDはM keyソケットに挿して使います。&lt;/p&gt;
&lt;h4 id="無線カード"&gt;無線カード
&lt;/h4&gt;&lt;p&gt;一般的なM.2用無線カードは、A-E keyもしくはE keyです。どちらもE keyのソケットに刺さります。E keyには2レーンのPCIeと、USB 2.0の端子があります。WiFiのチップはPCIeに接続して動作し、BluetoothのチップはUSB 2.0に接続します。無線カードはそれほど高速ではないので、PCIeは1レーンで十分です。M keyだとUSBが配線されていないので、Bluetoothが使えません。という理由でE keyなのです。&lt;/p&gt;
&lt;p&gt;macOSで使えるM.2無線カードの種類は、それほど多くないです。こちら&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/138/" &gt;Hackintoshのパーツ選び 【その4：無線編】&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;でも紹介しましたが、macOSでOOBで動作するM.2 WiFi/Bluetoothカードは、BCM94360NGです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Hackintosh-macOS-Broadcom-BCM94360NG-M-2-Wifi-Card-Than-DW1560-BCM9435.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Dell DW1830 (BCM943602BAED)はより高速で高価ですが、多少互換性が落ちます。&lt;a class="link" href="https://translate.google.co.jp/translate?sl=de&amp;amp;tl=ja&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=ja&amp;amp;ie=UTF-8&amp;amp;u=https%3A%2F%2Fwww.hackintosh-forum.de%2Fforum%2Fthread%2F32234-dell-wireless-dw1830-ngff%2F&amp;amp;edit-text=&amp;amp;act=url" target="_blank" rel="noopener"
 &gt;こちらの情報のよると&lt;/a&gt;、&lt;/p&gt;
&lt;p&gt;&lt;img alt="BroadCom BCM943602BAED DW1830 BCM943602 NGFF M.2 1300Mbps BT4.1 Network Card better than BCM94352Z DW1560 support mac os" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/BCM943602BAED-DW1830-ac-NGFF-1300Mbps-BT4-1-0HHKJD-WiFi-Wireless-Netwo.jpg"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WifiはOOBで動く&lt;/li&gt;
&lt;li&gt;WiFiのパフォーマンスはFakePCIID Kextで改善できる&lt;/li&gt;
&lt;li&gt;Bluetoothを動かすためにはkextが必要&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;だそうです。&lt;/p&gt;
&lt;p&gt;予算が限られているならDell DW1560 (BCM4352)も選択肢になります。DW1830よりは安いです。4個のkextが必要です。&lt;a class="link" href="https://bootmacos.rinontech.com/posts/138/#Dell_DW1560_BCM4352" &gt;詳細はこちらをご覧ください&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="BCM94352Z BCM94352 DW1560 NGFF 867Mbps Bluetooth 4.0 Wlan Card for MAC" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/BCM94352Z-BCM94352-DW1560-NGFF-867Mbps-802-11ac-Bluetooth-4-0-Wlan-Car.jpg"&gt;&lt;/p&gt;
&lt;h4 id="純正無線カード変換器"&gt;純正無線カード変換器
&lt;/h4&gt;&lt;p&gt;HackintoshでWiFi/Bluetoothカードを使う場合、Macで使われている純正の無線カード、BCM94360CD BCM943602CS BCM94360CSなどを使うと互換性が高く、そのままで問題なく使用できます。純正無線カードは、特殊なピン構成ですが、PCIeとUSBに接続されています。そこで、E keyのPCIeとUSBに変換するアダプタが売られています。&lt;/p&gt;
&lt;p&gt;最初からE key用に設計されたカードと違い、アダプタを使用すると長くなってしまいます。厚みも増えます。マザーボードによっては、他の部品と干渉して取り付けられない場合もあります。シールド用の金属カバーを外せばなんとかなる場合もあります。余裕があっても取り付けネジ位置が合わない場合もあります。ネジだけの問題なら、両面テープで貼り付ければなんとかなります。&lt;/p&gt;
&lt;p&gt;&lt;img alt="XT-XINTE BCM94360CS2 BCM943224PCIEBT2 12+6 Pin Bluetooth Wifi Wireless Card Module to NGFF M.2 Key A / E Adapter for Mac OS" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/XT-XINTE-BCM94360CS2-BCM943224PCIEBT2-12-6-Pin-Bluetooth-Wifi-Wireless.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Mini PCI-E to NGFF M.2 M KEY BCM94360CS2 BCM943224PCIEBT2 Wireless Converter Adapter Card for Mac OS Hackintosh A/E Notebook PC" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Mini-PCI-E-to-NGFF-M-2-M-KEY-BCM94360CS2-BCM943224PCIEBT2-Wireless-Con.jpg"&gt;&lt;/p&gt;
&lt;p&gt;A-E keyもしくはE keyのM.2用ソケットを延長するアダプターもあります。こういう製品を使えば、小型のインテル製無線カードが入っているソケットから、延長して外に引き出して、macOS純正のBroadcom製カードを取り付けることができると思います。&lt;/p&gt;
&lt;p&gt;&lt;img alt="12+6 Pin to M.2 Key A+E Adapter Cable for Wireless WIFI Card for Mac OS and Hackintosh" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/12-6-Pin-to-M-2-Key-A.jpg"&gt;&lt;/p&gt;
&lt;p&gt;M.2用の無線カードは通常はE keyソケットに挿しますが、M keyで無線カードを使うことも可能ではあります。Macで使用されている純正無線カードを、E keyではなく、M keyに変換するアダプターを使えば可能です。ただし、M keyにはUSBは配線されていないので、ケーブルでマザーボード上のUSBコネクタに配線することになります。&lt;/p&gt;
&lt;p&gt;&lt;img alt="VODOOL 12+6Pin Wireless WiFi Bluetooth Card to NGFF M.2 Key Adapter for Mac OS CM94360CD BCM943602CS BCM94360CS2 Add On Care" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2017/09/VODOOL-12-6Pin-WiFi-Bluetooth-NGFF-M-2-Mac-OS-CM94360CD-BCM943602CS-BCM94360CS2.jpg"&gt;&lt;/p&gt;
&lt;h4 id="ssd-カード"&gt;SSD カード
&lt;/h4&gt;&lt;p&gt;M.2 SSDカードは、通常M keyソケットに取り付けます。E keyにもPCIeが2レーン来ているので、速度低下の懸念はあるものの接続可能と思うのですが、そのような製品は無いです。&lt;/p&gt;
&lt;p&gt;M.2 SSDカードには、配線の種類でSATA接続のものとPCIe接続のものがあります。また、データ転送のプロトコル（手順）にAHCIとNVMeのものがあります。NVMeが新しいプロトコルでSSDに特化していて高速です。High Sierraからネイティブにサポートされています。macOSの起動も可能です。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/134/" &gt;Hackintoshのパーツ選び 【その5：SSD】&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SATAまたはPCIeと、AHCIまたはNVMeで4通りの組み合わせがありますが、現在販売されているのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SATAでAHCIのもの&lt;/li&gt;
&lt;li&gt;PCIeでNVMeのもの&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;がほとんどです。SATAでNVMeという製品はありません。PCIeでAHCIという製品はNVMeが一般的になる前は一時ありました。中古で出回っているかもしれませんが互換性が心配ですので避けた方が良いと思います。&lt;/p&gt;
&lt;h4 id="sata-ssd"&gt;SATA SSD
&lt;/h4&gt;&lt;p&gt;SATAで接続する場合はPCIeは不要ですのでPCIeが2レーンになるB keyが最適です。でもM keyのソケットにも挿さるように、M keyも切り欠いてあるB-M keyの製品がほとんどです。なので2箇所切り欠きがあるのはSATAだと考えて良いです。こんな感じです。&lt;/p&gt;
&lt;p&gt;NVMeの方がベンチマークでははるかに高速ですが、使ってみて差を感じる場面はありません。その上、現状ではSATAの方が半額くらいですので、SATA SSDを使っても良いと思います。&lt;/p&gt;
&lt;p&gt;B-M key SATA SSDはM keyも切り欠いてあるので、M keyソケットに挿すことができます。しかし必ず使えるわけではありません。SATA接続も可能なM keyソケットである必要があります。例えばASUSのZ390チップマザーボードであるROG MAXIMUS XIにはM keyソケットが2本ありますが、マニュアルの記述によるとSATAをサポートしているのはそのうちの1本だけです。SATA SSDをM keyソケットに挿す場合は、SATAがサポートされているかどうか確認する必要があります。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2019/01/asus.png"&gt;&lt;/p&gt;
&lt;h4 id="pcie-nvme-ssd"&gt;PCIe NVMe SSD
&lt;/h4&gt;&lt;p&gt;一方でPCIe接続のNVMe SSDは高速データ転送を実現するためにPCIeを4レーン使います。そこでPCIeが4レーンあるM keyの構成で使います。なので切り欠きが一つしかないSSDはPCIe接続のNVMe SSDだと考えて良いです。こんな感じです。現状ではSATAタイプの倍くらいの価格ですが、本来のM.2の速度を得たいのでしたらこちらが良いかと思います。&lt;/p&gt;</description></item><item><title>Recoveryからブートする</title><link>https://bootmacos.rinontech.com/posts/903/</link><pubDate>Sat, 08 Dec 2018 01:54:37 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/903/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2018/12/recovery.png" alt="Featured image of post Recoveryからブートする" /&gt;&lt;p&gt;macOSをインストールすると、macOSの本体が入るボリュームの他に、Recovery（回復）用のボリュームが自動的に作成されます。Recoveryボリュームは、Cloverの起動画面に起動選択肢として現れます。右下の十字マークは、赤十字や病院の印です。macOS本体が起動しなくなってしまった非常時には、Recoveryボリュームから起動して復旧作業を行えます。&lt;/p&gt;
&lt;h3 id="recoveryボリューム"&gt;Recoveryボリューム
&lt;/h3&gt;&lt;h4 id="recoveryボリュームの場所"&gt;Recoveryボリュームの場所
&lt;/h4&gt;&lt;p&gt;diskutil listコマンドでマシンに接続されているドライブを見ることができます。コマンドの結果例を以下に示します。このマシンには512GBのSSDが接続されていますが、それがdisk0に割り当てられていることがわかります。disk0はEFIが使用するESP (EFI System Partition)とAPFSのコンテナに分割されています。APFSのコンテナは仮想的なドライブとしてdisk1に割り当てられています。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil list
/dev/disk0 (internal, physical):
 #: TYPE NAME SIZE IDENTIFIER
 0: GUID_partition_scheme *500.2 GB disk0
 1: EFI EFI 209.7 MB disk0s1
 2: Apple_APFS Container disk1 500.0 GB disk0s2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;disk1の項目を見ると、これが合成された(synthesized)ドライブであると書いてあります。disk1という名前は付いているけど、物理的なドライブではないということです。disk1の中には4つのボリュームができています。これも仮想的なボリュームです。SSDの上では、それぞれがコンテナに割り当てられた500GBを共有しています。ここには実際に使用している容量が書いてあります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/dev/disk1 (synthesized):
 #: TYPE NAME SIZE IDENTIFIER
 0: APFS Container Scheme - +500.0 GB disk1
 Physical Store disk0s2
 1: APFS Volume Macintosh SSD 331.6 GB disk1s1
 2: APFS Volume Preboot 46.0 MB disk1s2
 3: APFS Volume Recovery 517.0 MB disk1s3
 4: APFS Volume VM 20.5 KB disk1s4
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ここに現れたボリュームの中で重要なのはdisk0s1, disk1s1, disk1s3です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;disk0s1&lt;/strong&gt;: &lt;strong&gt;ESP&lt;/strong&gt;です。ここにClover関係のファイル、Cloverが読み込むkext類があります。マザーボードのBIOS設定では、起動ボリュームとしてここを設定します。電源投入後、Cloverがkext読み込みとパッチ当てを終えるとmacOSを動かせます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;disk1s1&lt;/strong&gt;: &lt;strong&gt;macOS&lt;/strong&gt;の本体です。通常はこれで起動します。電源投入後にESPからHackintoshに必要なパッチやkextが読み込まれていれば、純正インストーラがインストールしたそのままで（バニラの状態で）動きます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;disk1s3&lt;/strong&gt;: &lt;strong&gt;Recovery&lt;/strong&gt;ボリュームです。非常時に起動することができます。ESPのファイル群によりHackintoshに必要な処理が終っていれば、これもバニラのまま動きます。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というわけで、バニラなCloverインストールが行われていれば、純正インストーラによりインストールされたmacOSだけでなく、Recoveryからも起動できるわけです。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/131/" &gt;/posts/131/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ちなみに、残りの二つのボリューム、PrebootとVMは、以下のものです。&lt;strong&gt;Preboot&lt;/strong&gt;はAPFSボリュームからmacOSをブートするための作業用ボリュームらしいです。詳しい働きはわかりません。&lt;strong&gt;VM&lt;/strong&gt;は仮想メモリ(Virtual Memory) のスワップ用ボリュームのようです。使われていないメモリ内容をここに保存します。以前のmacOSではスワップ領域がファイルだったようですが、APFSになってボリュームになりました。従来の物理的なボリュームだと記憶領域が固定されてしまうけど、APFSなら他のボリュームと共用できるので無駄がありません。ということで、ファイルよりおそらく効率の良いボリュームに変更されたのかと思います。&lt;/p&gt;
&lt;h4 id="recoveryボリュームの内容"&gt;Recoveryボリュームの内容
&lt;/h4&gt;&lt;p&gt;Recoveryの中に何が保存されているかを調べてみましょう。これがdisk1s3だとわかっているので、以下のコマンドでマウントできます。この結果、/Volumes/Recoveryというフォルダにマウントされます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil mount disk1s3
Volume Recovery on disk1s3 mounted
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;マウントされたフォルダにはUUIDらしい名前のフォルダが一つだけありました。その中を見てみると以下のようでした。（結果を編集して作業ファイルらしい細かいファイルは省略してあります。）&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ ls -l /Volumes/Recovery/A486A01B-7777-8888-9999-000000000000/
total 1058320
-rw-r--r--@ 1 root wheel 1984 11 30 15:41 BaseSystem.chunklist
-rw-r--r--@ 1 root wheel 485344690 11 30 14:28 BaseSystem.dmg
-rw-r--r--@ 1 root wheel 3900 11 14 13:44 PlatformSupport.plist
-r--r--r--@ 1 root wheel 533 11 30 13:07 SystemVersion.plist
-rw-r--r--@ 1 root wheel 592440 11 30 14:20 boot.efi
-rw-r--r-- 1 root wheel 397 12 6 22:36 com.apple.Boot.plist
-rw-r--r--@ 2 root wheel 27924868 11 15 17:52 immutablekernel
-rw-r--r--@ 2 root wheel 27924868 11 15 17:52 prelinkedkernel
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ここにあるBaseSystem.dmgが、最小限の機能でmacOSを動かすための一式が入ったディスクイメージファイルです。これを使って非常時の起動を行なえるようです。&lt;/p&gt;
&lt;h3 id="recoveryでできること"&gt;Recoveryでできること
&lt;/h3&gt;&lt;p&gt;Cloverの起動画面からRecoveryボリュームで起動すると、以下の画面が現れます。Recovery起動中のスクリーンショットの撮り方がわからなかったので、写真です。見にくくてすみません。画面にはmacOSユーティリティが現れます。macOSをインストールするときに現れるお馴染みの画面です。ここから4つの機能を利用できます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;メニューバーにはユーティリティという項目があり、ここにはさらに3個の機能が用意されています。全部で7種類のツールを使えます。順番に見ていきます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery2.jpg"&gt;&lt;/p&gt;
&lt;h4 id="起動セキュリティユーティリティ"&gt;起動セキュリティユーティリティ
&lt;/h4&gt;&lt;p&gt;Hackintoshでは動きません。&lt;a class="link" href="https://support.apple.com/ja-jp/HT208198" target="_blank" rel="noopener"
 &gt;Appleのサポートサイトに機能の説明があります。&lt;/a&gt;Apple T2 セキュリティチップを搭載した Mac コンピュータでファームウェアパスワードによる保護、安全な起動、外部起動を実現するツールのようです。HackintoshだけでなくT2非搭載のMacでは動かない機能です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery3.png"&gt;&lt;/p&gt;
&lt;h4 id="ネットワークユーティリティ"&gt;ネットワークユーティリティ
&lt;/h4&gt;&lt;p&gt;ネットワークの状況がわかります。Ethernetが機能していてDHCPでアドレス取得しているようです。LANチップのAtheros Killer E2200が動いています。CloverがESPにあるAtherosE2200Ethernet.kextを読み込んでくれていて、それが機能していることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery4.jpg"&gt;&lt;/p&gt;
&lt;p&gt;WiFiも動いています。こちらはパスワードを入れなくても接続していました。いつものパスワードがRecoveryから使用できているようです。画面右上にはWiFiアイコンが出ています。もしアクセスポイントの選択やパスワード入力が必要ならば、WiFiアイコンから行えます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery9.jpg"&gt;&lt;/p&gt;
&lt;h4 id="ターミナル"&gt;ターミナル
&lt;/h4&gt;&lt;p&gt;ターミナルさえ動けばなんでもできるので安心です。大体のボリュームがすでにマウントされていますので、/Volumesからどれでも操作できます。ESPの内容も、diskutilコマンドでマウントすれば編集・修正できます。ただ、ESPの内容に不具合があったらRecoveryの起動もできない可能性が高いので、ESPを変更する場面は少ないかもしれません。通常はmacOSボリュームやNVRAMなどが変更対象になるかと思います。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery5.jpg"&gt;&lt;/p&gt;
&lt;h4 id="timemachineバックアップから復元"&gt;TimeMachineバックアップから復元
&lt;/h4&gt;&lt;p&gt;これを選択すると、接続されているドライブとネットワーク上TimeMachineサーバが表示されます。その中から、必要なタイムスタンプのバックアップを復元できます。Recoveryから起動しているので、macOSのシステムも復旧できます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery6-1.jpg"&gt;&lt;/p&gt;
&lt;h4 id="macosを再インストール"&gt;macOSを再インストール
&lt;/h4&gt;&lt;p&gt;おなじみのmacOSインストーラが起動してインストールできます。インストールのためにはネットワークに接続している必要があるらしいです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery8.png"&gt;&lt;/p&gt;
&lt;h4 id="ヘルプ情報をオンラインで取得"&gt;ヘルプ情報をオンラインで取得
&lt;/h4&gt;&lt;p&gt;Safariが起動してヘルプのファイルが開きます。ネットワークが接続されていれば、外部にも接続できます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery7.jpg"&gt;&lt;/p&gt;
&lt;h4 id="ディスクユーティリティ"&gt;ディスクユーティリティ
&lt;/h4&gt;&lt;p&gt;ディスクユーティリティ.appが起動します。BaseSystem.dmgがディスクとしてマウントされている様子がわかります。ディスクユーティリティ.appが動けばドライブのフォーマットもボリューム追加・初期化も思いのままです。ただし起動しているRecoveryボリュームは使用中ですので初期化できません。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/12/recovery10.jpg"&gt;&lt;/p&gt;
&lt;p&gt;macOSに不具合がある場合は、初期化されたボリュームに新規インストールすることが多かったかと思います。APFSになってボリュームが幾つでも作れて、容量も気にする必要がなくなりました。なので、macOSを新規インストールする場合に、既存のボリュームを消去せず、それを残したまま新規にボリュームを追加しても良いかと思います。&lt;/p&gt;</description></item><item><title>APFSのVolumeを活用する</title><link>https://bootmacos.rinontech.com/posts/27/</link><pubDate>Fri, 19 Oct 2018 00:30:00 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/27/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2018/10/20181008122822.png" alt="Featured image of post APFSのVolumeを活用する" /&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20181008122822p:plain" data-title-escaped="f:id:siroanko:20181008122822p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20181008122822.png" title="f:id:siroanko:20181008122822p:plain"&gt;HFS+から大幅刷新されたAPFS (Apple File System)には色々便利な機能があります。今回は、Hackintoshライフに役立つAPFS Volume機能をご紹介します。&lt;/p&gt;
&lt;p&gt;（更新：Catalinaのことを追記しました。2020/3/3）&lt;/p&gt;
&lt;h3 id="hfsのvolume"&gt;HFS+のVolume
&lt;/h3&gt;&lt;p&gt;HFS+でもAPFSでも、アプリケーションから見えるのは最終的にVolumeです。Volumeは物理的にはストレージの一部なのですが、アプリケーションからは&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/Volumes/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下にマウントされ、ディレクトリのように見えます。&lt;/p&gt;
&lt;p&gt;物理的なストレージからVolumeに至る階層構造を以下にまとめます。HFS+では、&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;物理的なドライブ&lt;/strong&gt;。物理的なSSDやHDDです。本当はファイルではないのですが、システムからは/dev/disk0のように見えます。ファイルのようにも見えますが、実際にはファイルではありません。ストレージの内容を読み書きするデバイスドライバへアクセスする場所として使われます。システムファイルとも呼ばれます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;物理的なパーティション&lt;/strong&gt;。SSDやHDDを分割した領域です。これも/dev/disk0s1のようなスペシャルファイルとして現れます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HFS+のVolume&lt;/strong&gt;。パーティションに名前をつけてHFS+でフォーマットしたもの。/Volumes以下にその名前で現れます。一つのパーティションに一つのVolumeを作ります。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;という構造になっています。2個の異なる物理ドライブの2つのパーティションを一つにみなす機能もあって、それでRAID 1ミラーリングやFusion Driveを実現しています。&lt;/p&gt;
&lt;h3 id="apfsのvolume"&gt;APFSのVolume
&lt;/h3&gt;&lt;p&gt;APFSではこの構造に、コンテナという要素が加わります。物理的なストレージからVolumeに至る階層構造はAPFSでは以下になります。物理的な構造であるドライブとパーティションはHFS+と同じです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;物理的なドライブ&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;物理的なパーティション&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コンテナ&lt;/strong&gt;。通常は1個のパーティションを1つのコンテナにします。2個のパーティションを1つのコンテナにするとFusion Driveになります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;APFSのVolume&lt;/strong&gt;。コンテナの中にAPFSでフォーマットされたVolumeを作ります。これが/Volumes以下に現れます。容量はコンテナの容量と同じです。1つのコンテナを、複数のVolumeで共有することができます。複数Volumeの場合、容量はどれもコンテナの容量と同じですが、他のVolumeが領域を使用すると、その分空き領域が減ります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;High SierraやMojaveのインストーラはHFS+をAPFSに自動変換してしまいますが、そのとき、&lt;strong&gt;パーティション→Volume&lt;/strong&gt;の構造を、&lt;strong&gt;パーティション→コンテナ→Volume&lt;/strong&gt;に変換します。「コンテナが間に挟まってややこしくなってしまった」と感じていたのですが、実は便利だとわかりました。&lt;/p&gt;
&lt;p&gt;Fusion Driveがコンテナの機能で実現されることは、以前の記事で紹介しました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/111/" &gt;APFSに対応したFusion Driveを作る&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以下では、コンテナの中に複数のVolumeが作れる機能を利用して、Hackintoshの保守を簡単にする方法をご紹介します。&lt;/p&gt;
&lt;h3 id="hfsで複数volumeを使う"&gt;HFS+で複数Volumeを使う
&lt;/h3&gt;&lt;p&gt;HFS+以前は1パーティションが1 Volumeでした。&lt;/p&gt;
&lt;p&gt;Hackintoshに限らないのですが、OSをインストールする際に、ストレージを用途ごとにパーティションに分け、別Volumeにする手法が一般的でした。LinuxなどのUnix系OSでは、システムが使用するルート/、利用者がファイルを置くホーム/home、一時ファイルが置かれる/tmpなどなどを、複数のドライブにまたがった複数のパーティションに割り当てます。ファイルシステムにトラブルがあってもパーティションごとに独立していれば被害は少ないし、パーティションごとにフォーマットし直したり、別のドライブに移動するのが容易だという理由です。&lt;/p&gt;
&lt;p&gt;そこまで細かく分けなくても、macOSでも、システムと/Users以下を別パーティションにしている人も多いと思います。分けておけば、macOSのメジャーアップデートの時に、システムパーティションをフォーマットして、綺麗さっぱりクリーンインストールすることも容易です（利用者データは別パーティションに残っていますから）。&lt;/p&gt;
&lt;p&gt;例えば、1TBのSSDがある場合、システムに120GB、/Usersに880GB割り当てたりします。でもmacOS Mojaveをインストールした直後のサイズは約13GBなので、この割り当てだと最初はシステムパーティションが勿体無いです。一方で、Xcodeなどのサイズの大きなアプリケーションをどんどんインストールしていくと、120GBでは苦しくなります。Disk Utility.appでパーティションサイズを変更できることになってはいます。ただ、制約が大きくて、変更できない状況がほとんどです。パーティションを分けるときに、割り当てサイズをどう決めるかは、いつもいつも難しい問題でした。&lt;/p&gt;
&lt;h3 id="apfsで複数volumeを使う例"&gt;APFSで複数Volumeを使う例
&lt;/h3&gt;&lt;p&gt;APFSでは1パーティションが1コンテナになり、複数Volumeを作れます。&lt;/p&gt;
&lt;p&gt;先ほどの例に対して、今度はAPFSコンテナのVolume共有機能を活用します。1TBのSSDを買ってきたら、とりあえず全体をAPFSでフォーマットしてmacOSをインストールします。ここで出来上がったVolumeの名前を例えばmacOSとします。SSD全体に1つのパーティションができて、これに1つのVolumeができるので、サイズは1TBになります。/Volumes/macOSというようにマウントされます。&lt;/p&gt;
&lt;p&gt;次に、新しいVolumeを作って、そこにホームディレクトリを移動させてみましょう。デフォルトでは、/Users以下のアカウント名と同じディレクトリがホームディレクトリになっています。以下では、homeというVolumeを作ってその中にホームディレクトリを置くことにします。まず、Disk Utility.appを開いて、現在のコンテナを選択して、「パーティション作成…」ボタンを押します。すると以下の案内が出ます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/10/20181008130205-300x131.png"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;1つのコンテナは1つのパーティションを占有し、コンテナ内のストレージ領域はコンテナ内の複数のAPFSボリュームで共有されます。APFSボリュームの追加や削除は、パーティションマップを編集するよりも簡単かつ高速に実行できます。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;ここに書いてあるように、新しいVolumeを作るためには、“編集”メニューの“APFSボリュームを追加”コマンドを使用するか、ツールバーの“ボリュームを追加/削除”ボタンを使用しても良いです。本当はそちらの方法が正当で、このメッセージは従来のパーティション作成を試みようとしたユーザにAPFSへの移行を促す目的の案内なのだと思います。&lt;/p&gt;
&lt;p&gt;ここで「ボリュームを追加」を選ぶと、このコンテナにVolumeを追加できます。homeという名前のVolumeを追加します。結果を以下に示します。「このMacについて」から見たいストレージの状況です。ここでお詫びです。ここまで1TBのSSDなどと豪勢なことを言っておりましたが、余分な1TB SSDを持っていなかったので打ち捨てられていた160GB HDDを使いました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/10/20181008133651-300x115.png"&gt;&lt;/p&gt;
&lt;p&gt;/Volumes/macOSも/Volumes/homeも同じ容量であることがわかります。同じ1つのパーティションを共有しているためです。それぞれのVolumeで使った分だけ空き容量が同じように減っていきます。&lt;strong&gt;パーティションのサイズで悩む必要がなくなった&lt;/strong&gt;のです。&lt;/p&gt;
&lt;p&gt;ターミナルのdiskutil listコマンドで見ると、以下のようになります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil list
/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0:     GUID_partition_scheme *160.0 GB disk1
1:     EFI EFI 209.7 MB disk1s1
2:     Apple_APFS Container disk4 159.7 GB disk1s2

/dev/disk4 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0:   APFS Container Scheme - +159.7 GB disk4
Physical Store disk1s2
1:   APFS Volume macOS 13.3 GB disk4s1
2:   APFS Volume home 57.6 MB disk4s2
3:   APFS Volume Preboot 46.1 MB disk4s3
4:   APFS Volume Recovery 512.4 MB disk4s4
5:   APFS Volume VM 20.5 KB disk4s5
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;今回作成したコンテナの物理的な実体は、disk1s2にあります。コンテナの中には現在5個のVolumeができていて、コンテナ全体を共有しています。それぞれの使用量は、macOSが13.3GB（これがmacOS Mojaveの本体です）、homeが57.6MB（こちらは/Users以下のサイズです）などとなっています。&lt;/p&gt;
&lt;p&gt;こうして作った/Volumes/homeの中にホームディレクトリを移動するには以下のようにします。まずアカウント名と同じ名前で空のディレクトリを作ります。アカウント名が例えばhogeだったら /Volumes/home/hoge を作ります。次にシステム環境設定から「ユーザとグループ」を選び、ウィンドウ左からユーザhogeを選んで、右クリックで「詳細オプション」を選び、ホームディレクトリとして/Volumes/home/hogeを指定します。これで再起動すれば、このディレクトリがホームディレクトリになります。&lt;/p&gt;
&lt;p&gt;CatalinaからはmacOS本体の部分が二つに分割されるようになりました。macOSの基本部分は保護されてrootアカウントからも書き込み禁止になりました。別のボリュームの例ですが、以下のようになります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/dev/disk1 (synthesized):
 #: TYPE NAME SIZE IDENTIFIER
 0: APFS Container Scheme - +249.8 GB disk1
 Physical Store disk0s2
 1: APFS Volume Preboot 127.3 MB disk1s1
 2: APFS Volume Recovery 1.0 GB disk1s2
 3: APFS Volume VM 2.1 GB disk1s3
 4: APFS Volume Macintosh HD - Data 41.7 GB disk1s4
 5: APFS Volume Macintosh HD 11.6 GB disk1s5
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ここで Macintosh HDと書かれた部分が保護されたエリアで、Macintosh HD – Dataがそれ以外の書き込み可能な部分です。/Users以下も通常はここに書き込まれます。&lt;/p&gt;
&lt;h3 id="os切り替えにも複数volumeが便利"&gt;OS切り替えにも複数Volumeが便利
&lt;/h3&gt;&lt;p&gt;APFS Volumeは、簡単に追加したり削除したりできます。ストレージの容量は実際に使用している分だけしか消費しません。Mojaveならたったの13GBです。なので、複数Volumeを用意して、複数のmacOSをインストールしておけば、以下のようなことが可能です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;別バージョンのmacOSに切り替える。例えば別のVolumeにCatalina, Mojave, High Sierraをインストールしておく。&lt;/li&gt;
&lt;li&gt;テストバージョンのmacOS、例えばCatalinaを別Volumeにインストールする。古いmacOSは残っていますから、不具合があったらすぐに戻れます。新OSのベータ版を試すような場合にも便利です。&lt;/li&gt;
&lt;li&gt;メインで使うVolumeの他に、別 VolumeにもmacOSをインストールしておく。うっかり怪しいアプリやkextをインストールして起動できなくなった場合でも、バックアップから起動して、修正作業ができます。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの使い方が考えられます。&lt;/p&gt;
&lt;p&gt;バニラなインストールをしておけば、macOSは通常のインストールで機能するので、管理が簡単です。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/131/" &gt;/posts/131/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;不具合があっても別のVolumeのmacOSから起動できます。ただし、ESPの部分は同じものを使いますので、こちらもバックアップをしておくと安心です。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/35/" &gt;ESPをマウントしてついでにバックアップする&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ESPをマウントしてついでにバックアップする</title><link>https://bootmacos.rinontech.com/posts/35/</link><pubDate>Sat, 08 Sep 2018 14:23:46 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/35/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170926165208.png" alt="Featured image of post ESPをマウントしてついでにバックアップする" /&gt;&lt;p&gt;時々は行ってやらないといけないHackintoshのメンテナンスでは、ESPをマウントする必要があります。またESPのバックアップがあれば、メンテナンスで失敗しても復帰できます。ということで、メンテナンスでESPをマウントするときに、同時にバックアップも行えば、万一メンテナンスで失敗しても、稼働していた最後のESPを取り戻せると考えました。&lt;/p&gt;
&lt;h3 id="今までの関連記事"&gt;今までの関連記事
&lt;/h3&gt;&lt;p&gt;振り返ってみると、ESPをマウントする方法と、ESPをバックアップする方法を色々書いてきました。10.13.6でdiskutil mountコマンドにパスワードが必要になったので、使えなくなった方法もあります。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/136/" &gt;ESPをマウントするためのシェルスクリプト&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/76/" &gt;ESPを自動バックアップする&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/45/" &gt;10.13.6でESPをマウントする権限が変更される&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="単にマウントしてバックアップする"&gt;単にマウントしてバックアップする
&lt;/h3&gt;&lt;p&gt;今回は、シンプルにマウントしてバックアップするスクリプトを考えました。過去に紹介したスクリプトを足し合わせた内容です。現在はこのスクリプトで、ESPのマウントもバックアップもどちらも行っています。ESPに手を加える直前にバックアップすることになるので、合理的かと思います。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/sh
ESPUUID=00000000-0000-0000-0000-000000000000
BACKUP=~/Documents/OSX86/_currentESP/
sudo diskutil mount $ESPUUID
MP=`diskutil info $ESPUUID | grep &amp;#34;Mount Point&amp;#34;`
MP3=`echo $MP |  awk &amp;#39;{print $3}&amp;#39;`
MP4=`echo $MP |  awk &amp;#39;{print $4}&amp;#39;`

if [ -n &amp;#34;$MP4&amp;#34; ]; then
 cd $MP3&amp;#34; &amp;#34;$MP4
 rsync -av --delete $MP3&amp;#34; &amp;#34;$MP4&amp;#34;/&amp;#34; $BACKUP
else
 cd $MP3
 rsync -av --delete $MP3&amp;#34;/&amp;#34; $BACKUP
fi

date &amp;gt; timestamp.txt
cd EFI/CLOVER
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;過去記事の重複になりますが、各ステップを説明します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;最初に定義した変数、&lt;strong&gt;ESPUUID&lt;/strong&gt;はESPのUUIDです。例えばESPがdisk0s1に割り当てられた場合、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;diskutil info disk0s1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;とすると色々な情報が出てきます。この中に&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Disk / Partition UUID:  00000000-0000-0000-0000-000000000000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というように表示されているのが、ESPのUUIDです。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;次に定義した変数、&lt;strong&gt;BACKUP&lt;/strong&gt;はESPの内容をバックアップしたい場所です。最後に/をつけます。これはのちに実行するrsyncコマンドの仕様上、重要です。バックアップ場所としては、iCloudやDropboxなどでクラウドと同期しているディレクトリを指定すると良いと思います。そうしておけば、万一マシンが起動しなくなっても、他のマシンから内容を取り寄せることができます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;diskutil mount&lt;/strong&gt;の行で、ESPUUIDで指定したESPをマウントします。10.13.6からsuper user権限が必要になったのでsuコマンドをつけています。実行するとパスワードを求められるのでタイプします。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;diskutil info&lt;/strong&gt;の行で、マウントポイントを得ています。このコマンドでマウントポイントが&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Mount Point: /Volumes/EFI
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;のように表示されます。この行を取得しています。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;次のawkコマンドとif文が続くところで、diskutil infoコマンドで得られる行から、マウントポイントだけを抽出しています。ややこしいですが、マウントポイントは、最初は&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/Volumes/EFI
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;になるのですが、2個目以降は&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/Volumes/EFI 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;のように、空白＋数字になります。どっちでも対応できるようにif文で対応しています。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;cd $MP3″ “$MP4&lt;/strong&gt;もしくは&lt;strong&gt;cd $MP3&lt;/strong&gt;でESPの場所にカレントディレクトリを移動しています。シェルスクリプトの実行で移動する場合は、このスクリプトに例えばESPBackup.shと名前をつけた場合、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;. ESPBackup.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;として実行します。.の後には空白を入れます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;rsync&lt;/strong&gt;コマンドで、$BACKUPで指定したディレクトリにバックアップしています。更新のあったファイルだけが置き換わります。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;date&lt;/strong&gt;コマンドでバックアップを取ったタイムスタンプを入れてみました。なくても良いですが、最後にバックアップした時刻がわかるので便利かと思います。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;おまけ。本当の最後にCLOVERディレクトリに移動しています。引き続き作業するのに便利かと思いました。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>SSDのTRIMを有効にする</title><link>https://bootmacos.rinontech.com/posts/74/</link><pubDate>Thu, 01 Feb 2018 23:39:45 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/74/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2018/02/20180821123202.png" alt="Featured image of post SSDのTRIMを有効にする" /&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/02/20180821123202.png"&gt;&lt;/p&gt;
&lt;h3 id="hddssdの読み書き"&gt;HDD/SSDの読み書き
&lt;/h3&gt;&lt;p&gt;HDDやSSDは、大容量のデータを低価格で管理するために、一定のかたまり単位でデータの読み書きを提供しています。このかたまりは、HDDではセクターと呼ばれ、SSDではページと呼んでいます。HDDにはセクターサイズが512バイトと4kBのものがあり、SSDのページは一般的には2kBです。これを、以下ではページと統一して呼ぶことにします。&lt;/p&gt;
&lt;p&gt;新しいファイルは、新しいページから書き始めます。ページを使い切らなくても、そのページは全部そのファイルのものです。例えば以下のようにすると、Aという文字が書かれたファイルができます。ダンプしてみると文字と改行コードの2バイトの大きさのファイルだということがわかります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;echo A &amp;gt; tako
hexdump tako
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;このように小さなファイルでも、HDD/SSD上では1ページを使用します。（実際のHFS+では複数ページをまとめた4kBのサイズが最小単位です）&lt;/p&gt;
&lt;p&gt;1ページに収まらないファイルは、複数ページに書き込まれます。どのファイルがどのページに書かれて、続きはどのページなのかを管理するのがファイルシステムです。その情報(目次に相当する情報)は特別なページに書いて管理しています。ページの情報が不要になっても、ページの内容をわざわざ消すことはしません。不要になったページ番号を、目次から削除するだけです。&lt;/p&gt;
&lt;h3 id="ssdのデータ書込手順"&gt;SSDのデータ書込手順
&lt;/h3&gt;&lt;p&gt;HDDは、円板に塗布した磁性体に微小な磁石を多数作成して、これの磁極を変更してビットを記録します。磁極は磁場を加えると反転するので、上書きが容易です。例えば、ページにAという情報を書き込んだ後からBを書くと、それだけでAがBに書き変わってくれます。&lt;/p&gt;
&lt;p&gt;一方SSDは、絶縁された微小な領域に電子を閉じ込める事でビットを記録します。電子を加えるのは比較的に簡単なのですが、取り除くのは手間がかかります。例えると、紙にインクで文字を書くようなものです。とあるページにインクで書かれているAの代わりに、新たにBを書くためには、手間をかけてAの文字を消さないといけません。漂白剤でまっさらな紙に戻してから書き込む必要があります。その上、SSDではページ単位での消去はできません。標準的なSSDでは64ページをまとめてブロックと呼んでいて、消去できるのはこのブロック単位です。いわば、64ページのノートブックになっていて、冊子ごと漂白剤に突っ込んでインクを消さないといけない状況です。&lt;/p&gt;
&lt;p&gt;なのでOSから、例えばとある冊子(ブロック)の10ページ目に新たな情報を書き込んでくれと依頼されたSSDコントローラは、次のような作業をします。10ページ目以外の他のページに情報が書かれていたら、その内容を作業用メモリにバックアップします。次に、この冊子全体を漂白します。最後に、バックアップした情報を書き戻し、10ページ目に依頼された情報を書き込みます。かなり面倒な処理です。一方で、これが初めて使う冊子なら、バックアップは不要です。ですからSSDの書き込み速度は色々な要素で変動しますし、一般的にはSSDを使い込んでいくと書き込み速度が低下していきます。&lt;/p&gt;
&lt;h3 id="trimの役割"&gt;TRIMの役割
&lt;/h3&gt;&lt;p&gt;SSDの書き込み速度を低下させる原因の一つが、HDDのことしか考えないで設計されたOSです。先に述べたように、OSは不要になったページをいちいち消去することはせず、目次から削除するだけです。ですが、目次がどのページに書かれているかとか、目次のデータ構造がどう決められているかは、HDD/SSDのコントローラにはわかりません。もしOSが、不要になったページ番号だけでもSSDコントローラに教えてくれれば、そのページを無駄にバックアップしたり、書き戻さないですむでしょう。SSDのメモリー素子は書き込むごとに疲弊して、故障の原因になると言われています。なので、不要な書き戻しは避けたいところです。また、一回のブロック消去で真っさらなページを多く用意できれば、次回の書き込みが高速になると期待できます。&lt;/p&gt;
&lt;p&gt;このように、使用しなくなったページをSSDコントローラに知らせる機能がTRIMです。TRIMはSSDのために追加された拡張機能です。不要になった葉っぱ（ページ）を刈り取る (trimする) という意味から名付けられたのだと思います。&lt;/p&gt;
&lt;h3 id="macosのtrim機能"&gt;macOSのTRIM機能
&lt;/h3&gt;&lt;p&gt;SSDには是非とも欲しいTRIM機能ですが、macOSでは、Macに最初から搭載されているSSDにだけ機能します。なので、本物のMacであっても、ユーザが蓋を開けて交換した市販のSSDでは、TRIM機能が効きません。残念な状況ですが、あらゆるSSDでの動作を保証できないと考えて、そうしているのかと思われます。&lt;/p&gt;
&lt;p&gt;Apple非純正のSSDに交換した場合は、macOSに標準で搭載されているtrimforceコマンドを使うと良いです。ターミナルから、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo trimforce enable
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;と打ち込んで、パスワードなどを入力すると、しばらく処理が行われた後、自動的に再起動して、搭載された全てのSSDでTRIMが機能するようになります。&lt;/p&gt;
&lt;h4 id="実際はちょっと違います"&gt;実際はちょっと違います
&lt;/h4&gt;&lt;p&gt;というような説明がネット上にはあります。が、実際にはそんなに単純ではないです。実際には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apple非純正のSSDでも何もせずにTRIMが機能することがあります。&lt;/li&gt;
&lt;li&gt;一方でtrimforceコマンドでTRIMが有効にならないSSDもあります。&lt;/li&gt;
&lt;li&gt;そんな場合はIOAHCIBlockStorage.kextにパッチを当てれば良いです。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という状況です。&lt;/p&gt;
&lt;h3 id="hackintoshでtrimを有効化"&gt;HackintoshでTRIMを有効化
&lt;/h3&gt;&lt;p&gt;HackintoshではApple純正SSDなどはまず使いませんので、そのままではTRIMが機能しない可能性が高いです。でも、非純正SSDでもTRIMが機能することもあります。ということでまずは状況を確認しましょう。それで機能していなければ対策をしましょう。&lt;/p&gt;
&lt;h4 id="step-1-trimが有効になっているかどうか確認する"&gt;Step 1. TRIMが有効になっているかどうか確認する
&lt;/h4&gt;&lt;p&gt;リンゴマーク–&amp;gt;このMacについて–&amp;gt;システムレポート…–&amp;gt;ハードウェアから、SATA/SATA ExpressやNVMExpressの項目を見て、接続されているSSDを選択します。この中に、TRIMサポート：という項目があります。これが「はい」ならTRIMが機能しています。手元のマシンでは、M.2ソケット接続のSamsungのNVMe SSDは、バニラなmacOSでTRIMサポートされていました。TRIMサポートが「いいえ」なら次のステップに進みます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/02/20180201222505.png"&gt;&lt;/p&gt;
&lt;h4 id="step-2-trimforceコマンドを試す"&gt;Step 2. trimforceコマンドを試す
&lt;/h4&gt;&lt;p&gt;以前のmacOSではtrimforceがよく機能したものの、最近のmacOSではあまり当てにならない気がしています。でも機能することもあります。OS標準機能なので、一度は試しておきましょう。保証はしないよという警告が出ますが、実行してしまいます。再起動した後で、また「システム情報」でTRIMサポートを確認します。手元のSATA接続SanDiskの2.5インチSSDは、trimforceコマンドでもTRIM有効化できませんでした。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/02/20180201222505-1.png"&gt;&lt;/p&gt;
&lt;p&gt;でも、AliExpressで買ったmSATA接続SSDはTRIM有効化できました。&lt;/p&gt;
&lt;h4 id="step-3ioahciblockstoragekextにパッチを当てる"&gt;Step 3. IOAHCIBlockStorage.kextにパッチを当てる
&lt;/h4&gt;&lt;p&gt;これは確実です。本物のMacを対象としたネット上の情報でも、パッチを当てる方法が紹介されています。でも、結構面倒ですし、SIPを無効にする必要がありますし、OSがバニラな状態ではなくなってしまいます。OSのアップデートごとに、同じパッチ当てをする必要があるでしょう。でもCloverを使ったHackintoshなら、config.plistで設定するだけで、起動時に動的にパッチを当てます。OS本体は手つかずのままパッチを当ててくれます。素晴らしいです。config.plistのKextsToPatchにセクションに以下のように書き込みます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
&amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;IOAHCIBlockStorage&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;
 AEFQUExFIFNTRAA=
 &amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;
 AAAAAAAAAAAAAAA=
 &amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;TRIM Enabler&amp;lt;/string&amp;gt;
 &amp;lt;/dict&amp;gt;
&amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;このパッチでは、Base64表記でAEFQUExFIFNTRAA=というデータを、AAAAというAの羅列データに置き換えています。16進数で表すと&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;004150504c452053534400
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というデータを&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;0000000000000000000000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;で置き換えていることになります（Base64ではAが数値の0です）。元のデータは、最初と最後の0x00を除くと、真ん中はASCIIコードになっていて、APPLE SSDという文字列です。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;004150504c452053534400
 A P P L E S S D
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;おそらくApple社のSSDに限定している場所を、0で消しているようです。この結果、手元のSanDisk 2.5インチSSDでもTRIMが有効になりました。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2018/02/20180201223835.png"&gt;&lt;/p&gt;</description></item><item><title>起動失敗に備えてバックアップ</title><link>https://bootmacos.rinontech.com/posts/82/</link><pubDate>Wed, 03 Jan 2018 12:01:34 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/82/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/12/20171217172024.png" alt="Featured image of post 起動失敗に備えてバックアップ" /&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20171217172024p:plain" data-title-escaped="f:id:siroanko:20171217172024p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171217172024.png" title="f:id:siroanko:20171217172024p:plain"&gt;&lt;/p&gt;
&lt;p&gt;Hackintoshでkextを入れ替えたり、config.plistを書き換えたりなど、色々実験していると、起動しなくなる状況に遭遇することがあります。そんな場合に対処できるように、起動可能なパーティションのバックアップを持つことは、Hackintoshを使う上での必須の習慣だと思います。&lt;/p&gt;
&lt;p&gt;バニラなインストールをすると、SSD/HDDの本体パーティションにmacOSが入り、macOSでは使用しないEFI System Partition (ESP)にClover bootloaderやkext類がインストールされます。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/131/" &gt;/posts/131/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hackintoshが動かなくなったことに備え、バックアップする対象は、以下のいずれかになります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ESPとmacOSインストーラ&lt;/li&gt;
&lt;li&gt;ESPとmacOS&lt;/li&gt;
&lt;li&gt;ESPのみ&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;それぞれについて、以下で説明します。&lt;/p&gt;
&lt;h3 id="1-導入用usbメモリを残しておく"&gt;1. 導入用USBメモリを残しておく
&lt;/h3&gt;&lt;p&gt;一番普通の方法かもしれません。一般的な手順では、USBメモリにmacOSインストーラを作り、これにCloverをインストールします。このUSBメモリを大事に保存しておけば、本体が起動しなくなった場合に利用できます。これがあれば、一切を消去してもう一度インストールし直すことができます。でも、そこまでやらなくても、macOSインストーラで起動できれば、ターミナル.appを起動することができるので、かなりの作業が可能です。起動失敗を引き起こしたkextを取り除いたり、config.plistを元に戻したりできます。&lt;/p&gt;
&lt;p&gt;またバニラなインストールがされていれば、ESP部分を書き損じても、macOS本体は正しく残っている可能性が高いです。USBメモリのCloverで起動して、起動しなくなったドライブのmacOSから起動できれば、修復作業が容易です。&lt;/p&gt;
&lt;p&gt;この方式の難点は、非常用のUSBメモリは滅多に使わないので、失くしてしまいやすいことです。手元にあるとついつい他の用途に使ってしまいます。気軽に使えないようにPCケースの中に入れておくのも良いかもしれないです。&lt;/p&gt;
&lt;h3 id="2-cloverとmacosを複製しておく"&gt;2. CloverとmacOSを複製しておく
&lt;/h3&gt;&lt;p&gt;バニラなインストールをしていれば、macOS本体に手を入れることはないので、Hackintoshの不具合でmacOS本体を壊す危険はありません。でも、macOSのバージョンアップ、特に年に一回のメジャーバージョンアップに備えて、CloverとmacOSの両方をインストールして、バックアップとしておくのが良いです。&lt;/p&gt;
&lt;p&gt;バックアップのためには、いつも使うSSD/HDDとは別のドライブに、macOSとCloverをインストールします。通常のインストールと同様に、インストール用のUSBメモリから起動して、対象とするドライブのパーティションをフォーマットして、macOSとCloverをインストールしても良いです。でも、すでに起動できるmacOSドライブがあってこれをバックアップするならもっと簡単です。以下のようにできます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;App StoreからダウンロードするmacOSインストーラを起動して、対象とするパーティションにmacOSをインストールします。&lt;/li&gt;
&lt;li&gt;必要ならば移行アシスタントを使って現在の設定とアプリケーションもバックアップします。&lt;/li&gt;
&lt;li&gt;対象とするドライブのESPに、現在起動しているESPの内容をコピーします。（Cloverインストーラを起動しても良いですが、ファインダによるドラッグ&amp;amp;ドロップだけでもバックアップできます）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;もしマシンに複数のHDDを接続していて、その一部をデータ用やTimemachine用にしているような場合、そのHDDの最初に60GBくらいのパーティションを用意します。そしてこのパーティションとESPそれぞれに、上記の手順でmacOSとCloverを入れておくと良いです。macOS自体は30GB弱あればインストールできます。60GBあれば必須のアプリケーションと多少の作業は可能です。内蔵HDDにバックアップを用意しておけば、USBメモリと違って紛失する心配もありません。&lt;/p&gt;
&lt;h3 id="3-espを複製しておく"&gt;3. ESPを複製しておく
&lt;/h3&gt;&lt;p&gt;バニラなインストールをしておけば、Hackintoshに必要なものは全てESPに入っています。設定を変えて起動しなくなる場合も、ほとんどの場合がESPの内容を書き換えてしまったことが原因です。そこで、ESPだけをバックアップしておけば、大抵の場合は、これから起動することで復帰できます。ESPは容量も少ないですので、バックアップも容易です。データ用のHDDやUSBメモリでは使われていない領域ですので、あちこちにバックアップしておくと良いです。内蔵SSD/HDDにも、空のESPがあったら、今使っているESPの内容をコピーしておきましょう。&lt;/p&gt;
&lt;p&gt;ESPにあるファイルだけを、ファイルサーバやクラウドに保存しておいても良いと思います。これまでの説明で用意したバックアップのSSD/HDD/USBメモリが全て無くなってしまっても、ESPの内容さえ持って入れば、手元のSSD/HDD/USBメモリのESPにコピーして起動させることができます。&lt;/p&gt;
&lt;h3 id="4-espを自動バックアップする"&gt;4. ESPを自動バックアップする
&lt;/h3&gt;&lt;p&gt;**追記：**ESPを自動的にバックアップする方法をこちらに書きました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/76/" &gt;ESPを自動バックアップする&lt;/a&gt;&lt;/p&gt;</description></item><item><title>macOSでRAIDを組む</title><link>https://bootmacos.rinontech.com/posts/110/</link><pubDate>Thu, 12 Oct 2017 22:19:01 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/110/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/10/20171009151639.png" alt="Featured image of post macOSでRAIDを組む" /&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20171009151639p:plain" data-title-escaped="f:id:siroanko:20171009151639p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009151639.png" title="f:id:siroanko:20171009151639p:plain"&gt;&lt;/p&gt;
&lt;p&gt;macOSには、ミラーリング、ストライピング、単純な合算の3通りのRAIDを作る機能が備わっています。RAIDはもともと、安価なディスク(Inexpensive Disks)をたくさん使って冗長なディスクアレイ(Redundant Array)を作って信頼性をあげようという目的で考えられました。なので、ミラーリングを行うRAID 1が本来の姿です。本家のMacintoshで複数のHDDを内蔵できる機種は一部のMac miniだけです（それもSSDを搭載しようとすると、HDDは1台です）。一方でHackintoshなら、大容量のHDDを何台でも内蔵することが可能です。Fusion Driveもそうでしたが、RAIDも、Hackintoshならではのメリットを生かせる機能と言えます。&lt;/p&gt;
&lt;p&gt;RAIDはディスクユーティリティ.appからGUI操作で作成することができます。El Capitanの時にRAID作成機能がディスクユーティリティ.appから削除されたことがあります。しかしGUI機能はSierraから復活して、High Sierraでも使うことができます。ディスクユーティリティ.appは、diskutilコマンドを呼び出しているだけですので、GUIで作れなくてもdiskutilコマンドで作ることにできます。&lt;/p&gt;
&lt;p&gt;ここでは、ディスクユーティリティ.appを使ってRAID 1を作ってみます。&lt;/p&gt;
&lt;h4 id="ディスクユーティリティでraidを作る"&gt;ディスクユーティリティでRAIDを作る
&lt;/h4&gt;&lt;p&gt;まずは手元にある古いHDDを2台、Hackintoshに接続しました。そこでディスクユーティリティを起動します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20170926120848p:plain" data-title-escaped="f:id:siroanko:20170926120848p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20170926120848.png" title="f:id:siroanko:20170926120848p:plain"&gt;&lt;/p&gt;
&lt;p&gt;ファイルメニューからRAIDアシスタントを起動します。ここでRAID 1を選択します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009152343p:plain" data-title-escaped="f:id:siroanko:20171009152343p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009152343.png" title="f:id:siroanko:20171009152343p:plain"&gt;&lt;/p&gt;
&lt;p&gt;次のダイアログで、RAIDにするHDDを選択し、次に名前をつけます。RaidOneという名前にしてみました。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009152357p:plain" data-title-escaped="f:id:siroanko:20171009152357p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009152357.png" title="f:id:siroanko:20171009152357p:plain"&gt;&lt;/p&gt;
&lt;p&gt;これで完成です。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009152602p:plain" data-title-escaped="f:id:siroanko:20171009152602p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009152602.png" title="f:id:siroanko:20171009152602p:plain"&gt;&lt;/p&gt;
&lt;p&gt;ファインダには、通常のHDDのようにマウントされています。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009152757p:plain" data-title-escaped="f:id:siroanko:20171009152757p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009152757.png" title="f:id:siroanko:20171009152757p:plain"&gt;&lt;/p&gt;
&lt;p&gt;diskutil listコマンドで確認してみると、/dev/disk1と/dev/disk6に実際のハードディスクがマウントされていて、RAIDのドライブは/dev/disk7にマウントされています。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil list
/dev/disk1 (internal, physical):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   GUID_partition_scheme                     *80.0 GB    disk1
   1:                     EFI EFI                  209.7 MB   disk1s1
   2:              Apple_RAID                      79.7 GB    disk1s2
   3:              Apple_Boot Boot OS X            134.2 MB   disk1s3

/dev/disk6 (internal, physical):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   GUID_partition_scheme                     *80.0 GB    disk6
   1:                     EFI EFI                  209.7 MB   disk6s1
   2:              Apple_RAID                      79.7 GB    disk6s2
   3:              Apple_Boot Boot OS X            134.2 MB   disk6s3

/dev/disk7 (internal, virtual):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:               Apple_HFS RaidOne             +79.7 GB    disk7
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;RAIDのドライブはHFS+でフォーマット済みです。これはAPFSでフォーマットし直すことも可能です。APFSでフォーマットすると、/dev/disk7にはAPFS Containerができて、実際の中身は/dev/disk8にマウントされました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/dev/disk7 (internal, virtual):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:              Apple_APFS                     +79.7 GB    disk7
/dev/disk8 (synthesized):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   APFS Container Scheme -                   +79.7 GB    disk8
                                 Physical Store disk7
   1:             APFS Volume RaidOne              938.0 KB   disk8s1
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="raidを使ってみる"&gt;RAIDを使ってみる
&lt;/h4&gt;&lt;p&gt;今回使用した2台のHDDは同じもので、Blackmagic Disk Speed Testで計測するとReadが42MB/sでWriteが44MB/sでした。RAIDを構成した場合は、Readは変わらず42MB/sでWriteが56MB/sでした。ほとんど変わらないばかりか、むしろWriteは高速化されていました。RAIDにすることでの速度低下は無いと言えます。&lt;/p&gt;
&lt;p&gt;ディスクユーティリティでRAIDの状態を知ることができます。同じことは、diskutil appleRAID listコマンドでも行えます。（ディスクユーティリティの応答が悪かったりする場合があり、diskutilコマンドの方が確実でした。なので以下でも対応するdiskutilコマンドも書いていきます）&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009161954p:plain" data-title-escaped="f:id:siroanko:20171009161954p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009161954.png" title="f:id:siroanko:20171009161954p:plain"&gt;&lt;/p&gt;
&lt;h5 id="hddが壊れた状況を作り出す"&gt;HDDが壊れた状況を作り出す
&lt;/h5&gt;&lt;p&gt;ミラーリングなので、どちらかが故障した時にどう対処できるか試してみました。そこで、電源が入ったまま片方のHDDを引き抜いてみました。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009162948p:plain" data-title-escaped="f:id:siroanko:20171009162948p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009162948.png" title="f:id:siroanko:20171009162948p:plain"&gt;&lt;/p&gt;
&lt;p&gt;抜いた方のディスクが「見つからない/破損」の表示になりました。diskutil appleRAID listでは、Missing/Damagedと表示されます。&lt;/p&gt;
&lt;h5 id="壊れたhddをraidから除外する"&gt;壊れたHDDをRAIDから除外する
&lt;/h5&gt;&lt;p&gt;壊れた（抜いたのですが）HDDをRAIDから切り離してみます。これには、対象のドライブを選択して、マイナスボタンを押します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009163425p:plain" data-title-escaped="f:id:siroanko:20171009163425p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009163425.png" title="f:id:siroanko:20171009163425p:plain"&gt;&lt;/p&gt;
&lt;p&gt;ターミナルからは、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;diskutil appleRAID remove XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX disk7
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というコマンドを打ちます。HDDを指定するにはいろいろな方法が提供されています。&lt;br&gt;
diskutil appleRAID removeとだけタイプすると説明が出ます。ここでは、listコマンドで出てきたUUIDを使って指定してみました（XXXXの部分が壊れたHDDに相当するUUIDです。またdisk7はRAIDのマウント位置です）。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009164910p:plain" data-title-escaped="f:id:siroanko:20171009164910p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009164910.png" title="f:id:siroanko:20171009164910p:plain"&gt;&lt;/p&gt;
&lt;p&gt;こんな感じでRAID 1の片方が解除されました。&lt;/p&gt;
&lt;h5 id="交換のhddを取り付ける"&gt;交換のHDDを取り付ける
&lt;/h5&gt;&lt;p&gt;次に別のHDDを差し込んで、これをRAIDに追加しました。上の画面の「+」ボタンを押して、「メンバーを追加…」を選び、HDDを選択します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20171009174702p:plain" data-title-escaped="f:id:siroanko:20171009174702p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20171009174702.png" title="f:id:siroanko:20171009174702p:plain"&gt;&lt;/p&gt;
&lt;p&gt;もしくは、ターミナルから、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;diskutil ar add member disk2 /Volumes/RaidOne
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;をタイプします。これは交換のHDDが/dev/disk2としてマウントされた場合の例です。この後、rebuild（再構成）が開始されて、1時間後くらいに2台のミラーリングとして復帰しました。再構成の進捗はdiskutil appleRAID listコマンドで確認できます。&lt;/p&gt;
&lt;h4 id="ミラーリングの利点"&gt;ミラーリングの利点
&lt;/h4&gt;&lt;p&gt;ミラーリングによりHDDの一台が故障してもデータを失わないで済みます。ということで、バックアップできることはメリットなのですが、バックアップだけが目的ならTimemachineでも良いです。むしろ過去の状況に戻ることで、操作ミスによるデータ損失まで復帰できるので、Timemachineの方が優れています。&lt;/p&gt;
&lt;p&gt;ミラーリングのメリットは、バックアップ機能そのものよりも、システムを停止しないでバックアップからの復帰ができることだと思います。HDDをいきなり引っこ抜いて故障状況を作り出して、新しいHDDと交換する作業を上記に示しましたが、この復旧作業中にもかかわらず、RAIDディスクにはずっとアクセス可能でした。rebuildには時間がかかりますが、その間もアクセス可能です。&lt;/p&gt;
&lt;p&gt;ということで、ミラーリングとTimemachineを組み合わせたら、最強のバックアップになると思います。HDDをたくさん組み込めるマシンを作ったら、HackintoshでしかできないmacOSのRAID機能を活用してはどうでしょう。&lt;/p&gt;</description></item><item><title>APFSに対応したFusion Driveを作る</title><link>https://bootmacos.rinontech.com/posts/111/</link><pubDate>Mon, 09 Oct 2017 10:44:44 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/111/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/10/20171008193447.png" alt="Featured image of post APFSに対応したFusion Driveを作る" /&gt;&lt;p&gt;macOSでは、高速なSSDと大容量のHDDを組み合わせてFusion Driveを構成することができます。実際のMacintoshと全く同じく、Hackintoshでも、ターミナル上でdiskutilコマンドを使ってFusion Driveを作れます。今でしたら、ビット単価の安い240GB程度のm.2のNVMe SSDと、3TB~4TB程度の3.5インチHDDを組み合わせることで、高速で大容量のドライブを作ることができます。本家のMacintoshでは、市販のm.2 SSDや大容量3.5インチHDDは内蔵できませんので、Hackintoshのメリットを生かせる機能と言えます。&lt;/p&gt;
&lt;p&gt;Fusion Driveは従来は&lt;strong&gt;coreStorage&lt;/strong&gt;という枠組みを使って構成していました。ところが、APFSになって導入された&lt;strong&gt;APFS Container&lt;/strong&gt;を用いることで、APFS対応のFusion Driveが作れるようです。そこで今回は、APFS ContainerによるFusion Driveを作ってみました。&lt;/p&gt;
&lt;h3 id="apfs-container"&gt;APFS Container
&lt;/h3&gt;&lt;p&gt;ターミナルから、diskutilとだけタイプすると簡単なコマンドリストが出てきます。（詳細はman diskutilで出ます）コマンドリストの最後に、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;appleRAID&lt;/li&gt;
&lt;li&gt;coreStorage&lt;/li&gt;
&lt;li&gt;apfs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の3つのサブコマンドがあります。appleRAIDはソフトウェアRAIDを作る機能で、ミラーリング、ストライピング、単純な合算の3通りのRAIDを作ってくれます。coreStorageというのは、Macintoshでサポートされている論理ディスクの仕組みです。coreStorageには、性能の異なるディスクをまとめ上げた場合、性能の良い方を優先して使う機能があります。こうして作られていたのが従来型のFusion Driveです。coreStorageはAPFSに対応していません。&lt;/p&gt;
&lt;p&gt;最後のapfsは、新しく追加されたAPFSに関する機能を使うコマンドです。diskutil apfsとタイプすると、apfsサブコマンドで実行できる内容が一覧表示されます。このうちAPFS Containerに関するコマンドには、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;createContainer (新しい空のAPFS Containerを作る)&lt;/li&gt;
&lt;li&gt;deleteContainer (APFS Containerを消して構成ディスクをHFSでフォーマット)&lt;/li&gt;
&lt;li&gt;resizeContainer (APFS Containerのサイズを変更)&lt;/li&gt;
&lt;li&gt;addVolume (APFS VolumeをAPFS Containerに追加する)&lt;/li&gt;
&lt;li&gt;deleteVolume (APFS ContainerからAPFS Volumeを削除する)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; があります。ここでdiskutil apfs createContainerとタイプするとヘルプが表示されます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil apfs createContainer
Usage:  diskutil apfs createContainer []
        diskutil apfs createContainer -main [-secondary ]
        where = MountPoint|DiskIdentifier|DeviceNode

Create an empty APFS Container. You can then add APFS Volumes with the diskutil apfs addVolume verb. If you specify two disks, then a &amp;#34;Fusion&amp;#34; Container is created, with the performance roles assigned automatically unless you use the -main and -secondary options, in which case, the secondary disk is assumed to be on &amp;#34;slower&amp;#34; hardware which is preferably not solid solid state, usually larger, and often used to store associated &amp;#34;auxiliary&amp;#34; data such as the Windows partition(s) for Boot Camp Assistant. Ownership of any affected disks is required.

Example:  diskutil apfs createContainer disk0s2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ここに書いてあるように、&lt;strong&gt;createContainerコマンドで、2つのディスクを指定すると、Fusion方式のAPFS Containerが生成&lt;/strong&gt;されます。2つのディスクのうち、高速なディスクの方が、自動的にメインのディスク（高速な方のディスク。HDDとSSDを組み合わせた場合のSSD側）になります。-mainと-secondaryオプションでメインのディスクをマニュアルで指定することもできます。&lt;/p&gt;
&lt;h3 id="fusion-driveを組んでみる"&gt;Fusion Driveを組んでみる
&lt;/h3&gt;&lt;p&gt;実際にAPFSでFusion Driveを構成してみます。まずはマシンにssdとhdd（手元にあった古い64GBと160GBのものを使いました）を接続して、番号をdiskutil listで調べておきます。ここではHDDが/dev/disk0に、SSDが/dev/disk3に割り当てられました。&lt;/p&gt;
&lt;p&gt;APFS Containerはボリュームが出来ていないと構成できないようです。そこで、シンプルにジャーナル付HFS+でフォーマットしました。APFSでフォーマットすると自動的にAPFS Containerが作られてしまうので、この後のステップでcreateContainerコマンドを実行するときに邪魔になるようです。ディスクユーティリティ.appでフォーマットしても良かったと思いますが、コマンドラインでやってみました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil eraseDisk JHFS+ HDD160GB disk0
$ diskutil eraseDisk JHFS+ SSD64GB disk3
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;それぞれの名前をHDD160GBとSSD64GBとしました。$ diskutil listで見てみると：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/dev/disk0 (internal, physical):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   GUID_partition_scheme                     *160.0 GB   disk0
   1:                     EFI EFI                  209.7 MB   disk0s1
   2:               Apple_HFS HDD160GB             159.7 GB   disk0s2

/dev/disk3 (internal, physical):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   GUID_partition_scheme                     *64.0 GB    disk3
   1:                     EFI EFI                  209.7 MB   disk3s1
   2:               Apple_HFS SSD64GB              63.7 GB    disk3s2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;となっていました。ここで&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil apfs createContainer disk0s2 disk3s2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;とすると、APFS Containerが作られます。フォーマットも自動的にAPFSに変更されます。再び&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil list
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;で見ると：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil list
/dev/disk0 (internal, physical):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   GUID_partition_scheme                     *160.0 GB   disk0
   1:                     EFI EFI                  209.7 MB   disk0s1
   2:              Apple_APFS Container disk7      159.8 GB   disk0s2
/dev/disk3 (internal, physical):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   GUID_partition_scheme                     *64.0 GB    disk3
   1:                     EFI EFI                  209.7 MB   disk3s1
   2:              Apple_APFS Container disk7      63.8 GB    disk3s2
/dev/disk7 (synthesized):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   APFS Container Scheme -                   +223.6 GB   disk7
                              Physical Stores disk0s2, disk3s2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;/dev/disk7というドライブが出来上がっていました（disk4,5,6は実ドライブが搭載されていたので7番になりました）。この状態では、入れ物ができた段階で、まだフォーマットされていません。そこで、例えば&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ diskutil apfs addVolume disk7 APFS Fusion
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;としてフォーマットします。APFSはファイルフォーマットの指定です。でもAPFS以外は指定できないようです。最後のオプションはボリュームの名前です。わかりやすいようにFusionにしてみました。&lt;/p&gt;
&lt;h3 id="fusion-driveを使ってみる"&gt;Fusion Driveを使ってみる
&lt;/h3&gt;&lt;p&gt;こうして作成したFusion Driveを使ってみました。まずはdiskutil listしてみると、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/dev/disk7 (synthesized):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   APFS Container Scheme -                   +223.6 GB   disk7
                                 Physical Stores disk0s2, disk3s2
   1:             APFS Volume Fusion               880.6 KB   disk7s1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というようにFusionドライブができていることがわかります。ボリュームサイズが880KBと、とても小さいのですが、これは動的に拡張されていくようです。実際に3GB以上のサイズのファイルを入れてみたら、それに合わせてサイズが増えていました。addVolumeコマンドの-reserveオプションで最低サイズを指定したり、-quotaオプションで最大サイズを指定することもできるようです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/dev/disk7 (synthesized):
   #:                    TYPE NAME                SIZE     IDENTIFIER
   0:   APFS Container Scheme -                  +223.6 GB   disk7
                                 Physical Stores disk2s2, disk3s2
   1:             APFS Volume Fusion              3.1 GB     disk7s1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;この段階で、Fusionという名前のボリュームが自動的にマウントされています。ここでのサイズ表示はSSDとHDDの合計になっています。Blackmagicで読み書き速度を測ってみたら、SSDの速度とほぼ同じでした。ほとんど空の状態なのでSSDだけが仕事をしていたのだと思います。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2017/10/20171008223318.png"&gt;&lt;/p&gt;
&lt;p&gt;このドライブにHigh Sierraをインストールしてみようとしたところ、APFSを止めてHFS+にするよう指示が出てしまいました。APFS ContainerのFusion Driveであっても、今のHigh SierraではAPFS未対応のようです。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2017/10/20171009133734.png"&gt;&lt;/p&gt;</description></item><item><title>SATA接続HDD/SSDのホットプラグ</title><link>https://bootmacos.rinontech.com/posts/123/</link><pubDate>Sun, 17 Sep 2017 12:18:24 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/123/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170926165208.png" alt="Featured image of post SATA接続HDD/SSDのホットプラグ" /&gt;&lt;h3 id="525インチベイに取り付ける取り外し可能なhddケース"&gt;5.25インチベイに取り付ける取り外し可能なHDDケース
&lt;/h3&gt;&lt;p&gt;今のMacintosh製品には5.25インチベイが無いです。最近の自作PCケースも、5.25インチベイの無い製品が増えていますが、あれば色々便利です。中でも、簡単に5.25/2.5インチドライブを取り付け・取り外しできるリムーバブルディスクケースは便利だと思います。自作していれば、小容量の古いHDD/SSDが余ってしまいがちです。それが簡単に取り付けられるリムーバブルケースがあれば、大容量のデータを高速にコピーして持ち運ぶとか、新しいバージョンのOSを実験的にインストールするとか、いろいろな場面で便利に使えます。&lt;/p&gt;
&lt;h3 id="市販の製品"&gt;市販の製品
&lt;/h3&gt;&lt;p&gt;5.25インチベイ自体が廃れ始めているので、製品もひところに比べたら少ないですが、いくつかあるようです。5.25インチと2.5インチの両方が入る製品が多いようです。隙間にUSBコネクタを装備している製品とか、光学ドライブも入れられる製品もあります。ちなみに、大は小を兼ねるので、5.25インチが一台だけしか入らないケースも、工夫すれば2.5インチもなんとかなります。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Bay for 2.5/3.5" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/5-25-inch-internal-hot-plug-font-2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Bay for HDD" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/ORICO-Hard-Drive-Caddy-3-5-inch-5-25-b.jpg"&gt;&lt;/p&gt;
&lt;p&gt;HDD/SSDのSATAコネクタは、なんども抜き差しする前提で設計されていないので、壊れやすいと言われています。ちゃんとしたサーバで使うホットプラグケースでは、強度の高いコネクタ付きトレイを用意してHDDをネジ止めする構造になっています。でも、素人がちょっとした実験で抜き差しするくらいなら、全然問題ありません。ねじ止めしなくても取り付けられるケースが楽です。&lt;/p&gt;
&lt;p&gt;またこれらの製品は、ホットプラグ対応を謳っています。電源を入れたまま、HDD/SSDを抜き差しできるという意味です。ただし、これは電気的に問題を起こさないという意味であって、マウントしたままいきなり取り外すと当然ですがデータが損傷する可能性があります。非マウント状態にしてから抜き差しする必要があります。&lt;/p&gt;
&lt;h3 id="ホットプラグなドライブアイコン"&gt;ホットプラグなドライブアイコン
&lt;/h3&gt;&lt;p&gt;ドライブはmacOSでいろいろなアイコンで表示されます。一般的なHDD/SSDは銀色のアイコンです。ちょっと古い感じのハードディスクの形です。USBメモリーは白いアイコンで表示されます。スリットがあるので、光学ドライブの絵なのかもしれません。また、取り外し可能なHDDなどはオレンジ色のアイコンで表示されます。取り外し可能なドライブアイコンの隣には、イジェクトアイコンが表示されていて、これを押すとアンマウントされます。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2017/09/usb.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2017/09/20170926165514.png"&gt;&lt;/p&gt;
&lt;p&gt;上で紹介したリムーバブルケースは、取り外し可能なディスクなので、イジェクトマークのあるアイコンになるべきです。でも、USB接続と違い、リムーバブルケースからマザーボードへは内蔵ドライブと同じSATAケーブルで接続します。マザーボードから見たら、SATAコネクタが内部のHDDに接続されているか、もしくはリムーバブルHDDケースに接続されているのかの区別はつきません。人手で指定する必要があります。&lt;/p&gt;
&lt;p&gt;いくつかのマザーボードではデフォルト設定として、インテルのチップセットに接続されたドライブを内部ドライブ（銀色アイコン）にしています。一方で、チップセットのSATAに加えて追加SATAチップを搭載して、SATAの数を増やしている場合、追加のSATAチップに接続されたドライブはリムーバブルボリュームに設定されていることが一般的です。でも全てをホットプラグ対象とみなすマザーボードも中にはあります。こうした割り当てで、内蔵ドライブがオレンジ色のアイコンになってしまうことがあります。それが嫌な人のために、 &lt;strong&gt;AHCI_3rdParty_eSATA.kext&lt;/strong&gt;や &lt;strong&gt;AHCI_Intel_Generic_SATA.kext&lt;/strong&gt;といったkextが用意されていました。これらのkextの主な目的は、オレンジ色のアイコンを銀色に戻すことです。ただ、これらのkextは最近のmacOSでは機能しないことが多いので、あまり使われなくなりました。&lt;/p&gt;
&lt;h3 id="biosでホットプラグを設定"&gt;BIOSでホットプラグを設定
&lt;/h3&gt;&lt;p&gt;マザーボード搭載のSATAに接続したドライブがリムーバブル（ホットプラグ）なのかどうかは、BIOS設定で指定します。下はMSIのマザーボードの例です。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/2017/09/20170917162614.png"&gt;&lt;/p&gt;
&lt;p&gt;この機能で、それぞれのSATAコネクタに接続されているドライブが、固定ドライブなのか、ホットプラグさせるドライブなのかを設定します。これが一番理想的ですね。この方式ならば、オレンジアイコンの割り当てを正しく行うことができます。ただし、後述するように、BIOSでホットプラグに設定しても、macOSで必ずしもオレンジアイコン表示にはならない場合もあるようです。&lt;/p&gt;
&lt;p&gt;なお銀色アイコンで、イジェクトマークがついていないドライブでも、ゴミ箱方向へドラッグ&amp;amp;ドロップすればアンマウントできます。また、ディスクユーティリティを使ってもアンマウントできます。ターミナルから、diskutil unmount /dev/disk… としてもアンマウントできます。&lt;/p&gt;
&lt;p&gt;ただ、銀色アイコンとして認識されているSATAドライブは、起動時に接続されていなければ認識されません。macOS起動後に接続しても認識されません。また、起動時に接続されてマウントされても、その後で一旦アンマウントしたら、もう一度接続しても認識されません。なので、リムーバブルケースで接続する場合は、オレンジ色のアイコンで認識されないととても不便です。&lt;/p&gt;
&lt;h3 id="macosでホットプラグ"&gt;macOSでホットプラグ
&lt;/h3&gt;&lt;p&gt;BIOSレベルでホットプラグに設定しても、macOSでオレンジアイコンにならない場合があります。銀色アイコンの状態では、起動時にはマウントしますが、ホットプラグによりマウントしてくれない状態になります。SATAチップの種類、マザーボード、macOSのバージョンなどで対応が異なるようです。&lt;/p&gt;
&lt;h4 id="z97マザーボードsierra以前"&gt;Z97マザーボード＋Sierra以前
&lt;/h4&gt;&lt;p&gt;この記事を最初に書いた時点では、MSIのZ97チップセットマザーボードでSierraで動かしていました。BIOSのホットプラグ設定をすると、macOSでもオレンジアイコンになりホットプラグでマウントされ、安定に動作していました。&lt;/p&gt;
&lt;h4 id="z97マザーボードhigh-sierra以降"&gt;Z97マザーボード＋High Sierra以降
&lt;/h4&gt;&lt;p&gt;不安定です。High Sierraになった時点で、BIOSで設定しても銀色アイコンのままのこともあり、動くこともあるようです。ASUS ROG MAXIMUS XI HERO (Z390)マザーボード＋Catalinaの組み合わせでは、BIOS設定のホットプラグが正しくオレンジアイコンに表示されることも何度かありました。その時は、スリープしても問題ありません。でも何度も起動して確認すると、マウントされないこともあります。&lt;/p&gt;
&lt;h4 id="pcie拡張sataカード--catalina"&gt;PCIe拡張SATAカード + Catalina
&lt;/h4&gt;&lt;p&gt;以前、macOSと互換性のあるPCIe拡張SATAカードをご紹介しました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/2036/" &gt;PCIe拡張カードでSATAを増設する&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;追記&lt;/strong&gt;：以下の方法では、マウントする際にBig Surが落ちることがありました。後述する長いパターンのパッチを当ててください。ASMediaやMarvellのチップでもホットプラグ可能です。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;これらのカードの場合、&lt;a class="link" href="https://lycabettus.wordpress.com/2019/03/03/asm1061-based-pcie-cards-for-os-x-mojave/" target="_blank" rel="noopener"
 &gt;こちら&lt;/a&gt;で紹介されているように、&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Marvell 88SE9230" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Marvell-88SE9230-Chip-SATA-PCIE-Raid-Controller-SATA-PCIE-SATA-Raid-Ca-2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="PCIe to SATA" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/Pci-E-To-Sata3-Pci-E-Sata3-0-6Gb-S-the-Ssd-Asmedia-Chip-Expansion-Card-2.jpg"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 40600200
Replace --&amp;gt; 00000000
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;del&gt;というパッチを当てれば、ASMediaやMarvellのチップでホットスワップできるようです。元のサイトの説明では、SATAポートデュプリケータの不具合に対応するパッチらしいですが、ホットプラグ問題も解決するようです。具体的には、config.plistに&lt;/del&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;ALPM IO Error AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Disabled&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;QGACAA==&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;InfoPlistPatch&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;AAAAAA==&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;del&gt;を追加します。QGACAA==が40600200で、AAAAAA==は00000000です。これでホットスワップが動くようになり、スリープしても大丈夫でした。Marvell 88SE9230チップセットによるカードと、ASMedia ASM1061チップセットカードの両方で動作を確認しました。&lt;/del&gt;&lt;/p&gt;
&lt;h4 id="z390--catalinaのパッチ"&gt;Z390 + Catalinaのパッチ
&lt;/h4&gt;&lt;p&gt;コメントでまっくぷろさんからいただいた情報によると、&lt;a class="link" href="https://www.tonymacx86.com/threads/solved-ich10r-and-high-sierra.233435/page-2" target="_blank" rel="noopener"
 &gt;こちらで紹介&lt;/a&gt;されているパッチもしくはその変形を使うと、Z390チップセットのSATAをホットプラグ対応にできるようです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 89C82540 6002003D 40200000 750C81E1 BF7FFFFF 898B5101 0000
Replace --&amp;gt; 90909090 90909090 90909090 90909090 90909090 90909090 9090
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;または、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 81E24060 020081FA 40200000 750C81E1 BF7FFFFF 898B6901 0000
Replace --&amp;gt; 90909090 90909090 90909090 90909090 90909090 90909090 9090
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;のようです。これに対するBase64文字列を、上で紹介したように、config.plistのKextsToPatchセクションに書き込んでおけば良いようです。&lt;/p&gt;
&lt;p&gt;このパッチのいずれでも動かないようでしたら（もしくは将来のmacOSバージョンで動かなくなったら）、AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPortをバイナリーサーチして40200000を検索して、その前後から上記のようなパッチを作れば良いようです。例えば以下のようにします。10.15.3での実施例です。まずはバイナリーをhexdumpしました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;hexdump /System/Library/Extensions/AppleAHCIPort.kext/Contents/MacOS/AppleAHCIPort | less
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;lessの中で、サーチコマンド&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/40 20 00 00
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;をタイプし、40 20 00 00を探します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;00029a0 73 0e 81 ca 40 80 00 00 89 d1 89 93 69 01 00 00
00029b0 89 ca 81 e2 40 60 02 00 81 fa 40 20 00 00 75 0c
00029c0 81 e1 bf 7f ff ff 89 8b 69 01 00 00 f6 c1 40 74
00029d0 7e 3d 09 01 01 00 72 77 44 89 fa c1 ea 0a 81 e2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;この方法では、運悪く改行にかかっているとデータ列が見つからない可能性はありますが、首尾よく発見できました。他には存在していないようです。ということで、まっくぷろさんの情報と同じく、40 20 00 00を挟んだデータ列をNOP (90) に置き換える&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Find --&amp;gt; 81E24060 020081FA 40200000 750C81E1 BF7FFFFF 898B6901 0000
Replace --&amp;gt; 90909090 90909090 90909090 90909090 90909090 90909090 9090
AppleAHCIPort
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;というパッチで良いようです。base 64に変換します。詳しくは&lt;a class="link" href="https://bootmacos.rinontech.com/posts/6753/" &gt;こちら&lt;/a&gt;をご覧ください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;echo -n &amp;#34;\x81\xE2\x40\x60\x02\x00\x81\xFA\x40\x20\x00\x00\x75\x0C\x81\xE1\xBF\x7F\xFF\xFF\x89\x8B\x69\x01\x00\x00&amp;#34; | base64
geJAYAIAgfpAIAAAdQyB4b9///+Ji2kBAAA=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ちなみにNOPコマンド列である9090…の方は、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;echo -n &amp;#34;\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90&amp;#34; | base64
kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;です。なのでconfig.plistには&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
 &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;Enables hot plug for removal drives&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Disabled&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;geJAYAIAgfpAIAAAdQyB4b9///+Ji2kBAAA=&amp;lt;/data&amp;gt;
 &amp;lt;key&amp;gt;InfoPlistPatch&amp;lt;/key&amp;gt;
 &amp;lt;false/&amp;gt;
 &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
 &amp;lt;string&amp;gt;AppleAHCIPort&amp;lt;/string&amp;gt;
 &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
 &amp;lt;data&amp;gt;kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJA=&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;を追加します。これでBIOSでホットスワップ指定したチップセットSATA接続ドライブがオレンジ色アイコンになり、随時マウント・アンマウントできるようになりました。またスリープしても問題ありませんでした。&lt;/p&gt;
&lt;h3 id="つづき"&gt;つづき
&lt;/h3&gt;&lt;p&gt;上記のパッチをOpenCoreのconfig.plistで当てる方法を以下で紹介しました。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/9033/" &gt;リムーバブルHDD/SSDのホットプラグパッチをOpenCoreに適用する&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;また、Big Sur対応のパッチを以下で紹介しました。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/11406/" &gt;リムーバブルHDD/SSDのホットプラグパッチ (Big Sur版)&lt;/a&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="結論"&gt;結論
&lt;/h3&gt;&lt;p&gt;ホットプラグできるリムーバブルベイは便利です。チップセットSATAの場合は、BIOSでホットプラグを設定します。それでもmacOSにホットプラグ対応と認識されない場合は、AppleAHCIPort.kextにconfig.plistでパッチを当てます。手元の環境 (ASUS Z390 + Catalina) では、MarvellのSATA拡張カードを使っているので、拡張カード用のパッチを当てることにしました。&lt;/p&gt;</description></item><item><title>Time Machineは良いです</title><link>https://bootmacos.rinontech.com/posts/128/</link><pubDate>Thu, 14 Sep 2017 23:46:39 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/128/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170914233137.png" alt="Featured image of post Time Machineは良いです" /&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20170914233137p:plain" data-title-escaped="f:id:siroanko:20170914233137p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20170914233137.png" title="f:id:siroanko:20170914233137p:plain"&gt;&lt;/p&gt;
&lt;p&gt;macOSの良いところはたくさんあります。インクリメンタルバックアップのTime Machineが、OS標準でサポートされていることも、他のOSにない、大きなメリットです。Time Machineのおかげで何度も助けられました。&lt;/p&gt;
&lt;p&gt;スタイリッシュなMacintoshと違って、いくらでもHDDを内蔵できる無骨な自作Hackintoshなのですから、是非ともTime Machine専用のドライブを搭載して、Time Machineを動かすべきです。内蔵ドライブにバックアップすれば、ネット越しよりも高速にバックアップできます。なので、OSがバックアップ作業をしていることに気づくことは滅多にありません。快適です。&lt;/p&gt;
&lt;p&gt;今だと、3TBの3.5インチHDDが一番お得な製品です。これを1台内蔵して、全部をバックアップ領域にしてはどうでしょうか。バックアップメディアが大きいほど、過去のデータに戻れます。目安としてはオリジナルデータの2-4倍あると良いらしいです。&lt;/p&gt;
&lt;h3 id="time-machine用ドライブの活用"&gt;Time Machine用ドライブの活用
&lt;/h3&gt;&lt;p&gt;単純に全部をバックアップ領域にしても良いです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;3TBの3.5インチHDDの全体をTime Machine領域にする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;でも、3TB HDDのESP領域は何にも使われていません。それなら、このHDDのESPにCloverとkextなど、メインボリュームのESPと同じものを入れるのも良いと思います。Hackintoshしていると、「メインボリュームのESPに手を入れていたら、起動しなくなってしまった」というピンチを一度は経験します。間違った設定を元に戻したくても、起動しないので作業ができないという状況です。ESPのバックアップがあれば、そんな時にもあわてなくてすみます。マザーボードのUEFI設定で起動ドライブをTime Machineのドライブにすれば良いのです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;3TBの3.5インチHDDのESPにメインのESPをバックアップする&lt;/li&gt;
&lt;li&gt;残りの領域をTime Machine領域にする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ESPは、内蔵HDDだけでなく、当然ながら外付けのHDDやUSBメモリにもバックアップしておけます。でも内蔵ドライブにバックアップしておくと、紛失する心配がありません。間違いなく必ず筐体の中にあって、どこかに行ってしまうことはありませんから。&lt;/p&gt;
&lt;p&gt;また、3TB HDDに60GBくらいのパーティションを作って、ここにmacOSもバックアップして置くと、さらに安心です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;3TBの3.5インチHDDのESPにメインのESPをバックアップする&lt;/li&gt;
&lt;li&gt;頭に60GBくらいのパーティションを作ってここにmacOSをバックアップする&lt;/li&gt;
&lt;li&gt;残りの領域をTime Machine領域にする&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Hackintoshのパーツ選び 【その5：SSD】</title><link>https://bootmacos.rinontech.com/posts/134/</link><pubDate>Mon, 11 Sep 2017 22:12:40 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/134/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/61GPr8ekdcL.jpg" alt="Featured image of post Hackintoshのパーツ選び 【その5：SSD】" /&gt;&lt;p&gt;5回目はストレージについてです。結論を箇条書きすると：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SATAケーブルで接続する2.5インチSSD/HDD、3.5インチHDD、5.25インチCD-ROM/DVD/Blu-rayドライブは、どのバージョンのmacOSでも動きます。&lt;/li&gt;
&lt;li&gt;High Sierra以降ならばM.2 NVMe SSDが使用可能です。ただ相性があるようなのでパーツ選びに注意してください。&lt;/li&gt;
&lt;li&gt;AHCIプロトコルのM.2もしくはmSATAのSSDはそれより古いmacOSでも動きます。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;SATAケーブルで接続するストレージ、ドライブは、どれも問題もないです。好きなものを選んでください。ちょっとだけややこしいのは、マザーボードなどのソケット（mSATAとM.2）に挿すカード型SSDの類です。&lt;/p&gt;
&lt;h3 id="用語の整理"&gt;用語の整理
&lt;/h3&gt;&lt;p&gt;マザーボードなどに挿すカード型のSSDは色々な種類があります。まずはソケットの形で分類できます。最近のマザーボードについているSSD用ソケットの形状は、次の2種類です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一つは、mini SATA (略してmSATA )と呼ばれる形のソケットです。mini PCI Expressというソケットもありますが、形は同じです（これもまたややこしい）。&lt;/li&gt;
&lt;li&gt;もう一つ、最近流行りなのがM.2と呼ばれる形のソケットです。さらに小さくて、細長い形状のカードが多いです。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ちなみに実際のMacに内蔵されているカード型SSDは、このどちらでもない、Apple独自規格のソケットです。&lt;/p&gt;
&lt;p&gt;マザーボードソケットに接続される信号線で分類すると、次の2種類があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一つはSATAです。2.5/3.5インチのドライブに接続しているものと同じ信号です。&lt;/li&gt;
&lt;li&gt;もう一つはPCIeです。マザーボードのPCIeスロットに出ているのと同じ種類の信号です。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;さらに、この信号に流れるプロトコルで分類すると、次の2種類があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一つはAHCIです。2.5/3.5インチのSATAコネクタのドライブで使われているプロトコルです。&lt;/li&gt;
&lt;li&gt;もう一つはNVMeです。SSDに適した命令体系になっていて高速です。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この2x2x2=8通りの組み合わせは、さすがにありませんが、色々な組み合わせがあるので注意が必要です。例えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mini SATAでSATA接続でAHCIプロトコルとか、&lt;/li&gt;
&lt;li&gt;M.2でSATA接続でAHCIプロトコルとか、&lt;/li&gt;
&lt;li&gt;M.2でPCIe接続でAHCIプロトコルとか、&lt;/li&gt;
&lt;li&gt;M.2でPCIe接続でNVMeプロトコルとか、&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;いろいろあります。&lt;/p&gt;
&lt;p&gt;このうち、macOSのどのバージョンでもサポートしているのが、AHCIプロトコルのSSDです。ソケット形状やSATA/PCIeの違いは問題になりません。OSから見たらそのレベルのハードウェアは抽象化されているので、大丈夫なのです。&lt;/p&gt;
&lt;p&gt;&lt;img alt="国内ではmSATAソケットSSDは品薄で割高ですが、海外だと512GBが$60で買えるのですね。mSATAはSATA接続ですのでプロトコルはすべてAHCIです。" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/aliexpress/KingSpec-Original-8GB-16GB-32GB-SSD-mSATA-Internal.jpg"&gt;&lt;/p&gt;
&lt;h3 id="high-sierraで完全サポートされたnvme"&gt;High Sierraで完全サポートされたNVMe
&lt;/h3&gt;&lt;p&gt;問題は、NVMeです。NVMeはEl Capitanのあたりで一般的に流通し始めました。MacBookシリーズには、他のプラットフォームに先駆けて、NVMe登場の早い段階で採用されました。ただし、これはMacintoshの歴史でよくあることですが、一般に売られているNVMe SSDとは互換性のないSSDが使われていました。ソケット形状も独自ですし、データのブロックサイズも違うようです。そのため、一般に販売されているm.2 NVMe SSDは簡単には使えませんでした。&lt;/p&gt;
&lt;p&gt;El Capitanの時には、NVMeGeneric.kextというカーネル拡張がwww.macvidcards.comから配布されて、これで市販のM.2 NVMe SSDが使えました。しかし、Sierraで動かなくなりました。今は配布もされていないようです。&lt;/p&gt;
&lt;p&gt;Sierraでは、市販のM.2 NVMe SSDを動かす長い長いパッチが公開されて、config.plistに組み込んで使うことは可能でした。手間が面倒でした。&lt;/p&gt;
&lt;p&gt;その苦労は、High Sierraで終わりました。High Sierraでは市販のNVMe SSDがサポートされるようになります。今時は、M.2 SSDはどれも高速なNVMeになり、低速のAHCIのモデルは品薄で割高です。とても助かります。&lt;/p&gt;
&lt;p&gt;NVMeのM.2 SSDの製品は増えています。どれもHigh Sierra以降で問題なく使えるはずと思うのですが、ネット上の情報によるとmacOSと相性の悪いものがあるようです。注意が必要です。フォーラムでも貴重な情報をいただいています。それによると：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Samsung 970 EVO Plus と Samsung PM981 は互換性に問題がある&lt;/li&gt;
&lt;li&gt;次のSSDは問題なし：&lt;br&gt;
Samsung 970 EVO Pro&lt;br&gt;
Samsung 970 EVO&lt;br&gt;
Samsung PM961&lt;br&gt;
Samsung PM951&lt;br&gt;
WD SN750&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;私もSamsungの古いSSDと&lt;a class="link" href="https://bootmacos.rinontech.com/posts/1416/" &gt;WDのSN750を使っています&lt;/a&gt;が、どちらも問題なく動いています。SamsungのSSDは使用されるコントローラチップの一部がmacOSと相性が悪いようです。M.2 SSDは発展途上の製品なので今後は問題なくなると思いますが、現状ではWDの方が安心できるかもしれません。&lt;/p&gt;
&lt;h4 id="追記samsung-ssdのファームウェア更新"&gt;追記：Samsung SSDのファームウェア更新
&lt;/h4&gt;&lt;p&gt;Samsungの一部のM.2 SSDがmacOSと相性が悪い問題ですが、フォーラムにいただいた情報によるとファームウェア更新で解決するようです。macOSで不安定だった970 evo plus がまともに動くようになったそうです。やはり何か問題があったんですね。&lt;a class="link" href="https://www.tonymacx86.com/threads/do-the-samsung-970-evo-plus-drives-work-new-firmware-available-for-testing-5-20-19.270757/page-10#post-1959028" target="_blank" rel="noopener"
 &gt;こちらがtonymacx86の情報のページ&lt;/a&gt;だそうです。&lt;/p&gt;</description></item><item><title>光学ドライブを使う</title><link>https://bootmacos.rinontech.com/posts/135/</link><pubDate>Mon, 11 Sep 2017 13:57:04 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/135/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2018/10/20181029215850.png" alt="Featured image of post 光学ドライブを使う" /&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20181029215850p:plain" data-title-escaped="f:id:siroanko:20181029215850p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20181029215850.png" title="f:id:siroanko:20181029215850p:plain"&gt;&lt;/p&gt;
&lt;p&gt;現行のMacintoshからはすっかり駆逐されてしまった光学ドライブですが、Hackintoshなら5.25インチベイ搭載ケースを使っていくらでも復活できます。CD-ROMでもDVDでもokです。実機にはついぞ搭載されなかったBlu-rayドライブも搭載可能です。1台だけでなく2台3台と搭載することだって可能です。読み出すだけじゃなくて書き込むこともできます。搭載するに当たって、特に難しいことはありません。SATAケーブルと電源を配線するだけです。&lt;/p&gt;
&lt;h3 id="可能な場合でもハードディスクをスリープさせない"&gt;「可能な場合でもハードディスクをスリープさせない」
&lt;/h3&gt;&lt;p&gt;簡単、かんたん、a piece of cakeだと思っていたら、「空のdvdがセットされました」というメッセージが出て、操作不能になることがあります。Pioneerのドライブで発生するような気がします。&lt;/p&gt;
&lt;p&gt;一部の光学ドライブは、スリープコマンドを送りつけて動作を止めると、次にアクセスした時に復帰できないようです。にもかかわらず、macOSの省エネルギー設定では、「可能な場合はハードディスクをスリープさせる」ことがデフォルト設定になってます。これがトラブルの原因です。なので、この問題は、「システム環境設定」の「可能な場合はハードディスクをスリープさせる」のチェックを外すことで解決します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="f:id:siroanko:20170911123608p:plain" data-title-escaped="f:id:siroanko:20170911123608p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20170911123608.png" title="f:id:siroanko:20170911123608p:plain"&gt;&lt;/p&gt;
&lt;h3 id="カーネル拡張kextにパッチを当てる"&gt;カーネル拡張(kext)にパッチを当てる
&lt;/h3&gt;&lt;p&gt;上記の方法だと、当然ですがハードディスクはスリープしなくなります。また、私は経験したことがありませんが、この方法でも解決しないという報告もあるようです。そこで正攻法で根本的解決方法、つまりシステムにパッチを当てる方法を紹介します。&lt;/p&gt;
&lt;h4 id="アップル社は対策済み"&gt;アップル社は対策済み
&lt;/h4&gt;&lt;p&gt;アップル社もこの問題はよ〜く分かっていて、旧型Mac Proに搭載されているPioneerの光学ドライブに対して対策をしています。PioneerSuperDrive.kextの中で、Pioneerの光学ドライブの型番を指定して、このドライブだけはスリープさせないようにという設定がされているようです。その型番とは、&lt;/p&gt;
&lt;p&gt;DVD-RW  DVR-105&lt;/p&gt;
&lt;p&gt;です。この対策を担当しているkextは、PioneerSuperDrive.kextです。試しに、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/PioneerSuperDrive.kext/Contents/PlugIns/PioneerSuperDrive.kext/Contents/MacOS/PioneerSuperDrive
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;をhexdump -Cしてみると、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;00000fb0  70 6c 65 5f 64 72 69 76  65 72 5f 50 69 6f 6e 65  |ple_driver_Pione|

00000fc0  65 72 53 75 70 65 72 44  72 69 76 65 00 44 56 44  |erSuperDrive.DVD|

00000fd0  2d 52 57 20 20 44 56 52  2d 31 30 34 00 31 2e 31  |-RW  DVR-104.1.1|

00000fe0  30 00 44 56 44 2d 52 57  20 20 44 56 52 2d 31 30  |0.DVD-RW  DVR-10|

00000ff0  35 00 4e 6f 20 53 6c 65  65 70 00 54 72 75 65 00  |5.No Sleep.True.|
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;と書いてあります。DVD-RW  DVR-105をNo Sleepにするって書いてあるように見えます。DVR-104も対策済みみたいにも見えます。運良く、これらの型番のドライブをHackintoshに搭載した人は、きっとこの問題に遭遇しないのでしょう。そうでない人は、ファイルに書かれた型番を、実際に使っているドライブの型番に書き換えればよいわけです。&lt;/p&gt;
&lt;h4 id="光学ドライブの型番を知る"&gt;光学ドライブの型番を知る
&lt;/h4&gt;&lt;p&gt;光学ドライブの型番は、「リンゴマーク」「このMacについて」「システムレポート（システム情報）」「ハードウェア」「SATA/SATA Express」とだどっていけば、見つかります。手元の例ではPIONEERという表記を除いて、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;BD-RW   BDR-205
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;でした。スペースの数（3個あります）も重要で、全部で15文字のはずです。&lt;/p&gt;
&lt;h3 id="cloverのconfigplistでパッチを当てる"&gt;Cloverのconfig.plistでパッチを当てる
&lt;/h3&gt;&lt;p&gt;古代の手法では、 PioneerSuperDrive.kextの該当ファイルをバイナリーエディタで開いて、データを書き換えていました。これは色々問題があります。特に、OSのバージョンアップのたびに同じことをやらなければならないのが面倒です。現代風の方法では、Cloverの動的パッチ機能を使います。起動するタイミングでパッチを当ててくれる機能です。&lt;/p&gt;
&lt;p&gt;設定ファイルconfig.plistにパッチ情報を書き込むのですが、この時、バイナリーデータを文字に対応させて変換するBase64という方式を使います。Base64への変換は、ターミナルのbase64コマンドで可能です。例えば、DVD-RW DVR-105（スペースは2個）とBD-RW BDR-205（スペースは3個）の文字列をBase64に変換するには、ターミナルで以下のようにタイプすれば良いです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ echo -n &amp;#34;DVD-RW DVR-105&amp;#34; | base64
RFZELVJXICBEVlItMTA1
$ echo -n &amp;#34;BD-RW BDR-205&amp;#34; | base64
QkQtUlcgICBCRFItMjA1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;変換前後の文字列のBase64表記がわかりましたので、いよいよconfig.plistを開いて、KextsToPatchセクションに以下を追加します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;lt;key&amp;gt;KextsToPatch&amp;lt;/key&amp;gt;
 &amp;lt;array&amp;gt;
 &amp;lt;dict&amp;gt;
         &amp;lt;key&amp;gt;Comment&amp;lt;/key&amp;gt;
         &amp;lt;string&amp;gt;PioneerBD-RW No Sleep&amp;lt;/string&amp;gt;
         &amp;lt;key&amp;gt;Find&amp;lt;/key&amp;gt;
         &amp;lt;data&amp;gt;RFZELVJXICBEVlItMTA1&amp;lt;/data&amp;gt;
         &amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
         &amp;lt;string&amp;gt;PioneerSuperDrive&amp;lt;/string&amp;gt;
         &amp;lt;key&amp;gt;Replace&amp;lt;/key&amp;gt;
         &amp;lt;data&amp;gt;QkQtUlcgICBCRFItMjA1&amp;lt;/data&amp;gt;
 &amp;lt;/dict&amp;gt;
 &amp;lt;/array&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;なんとなくわかると思いますが、PioneerSuperDrive.kextの、RFZELVJXICBEVlItMTA1というデータを検索して、QkQtUlcgICBCRFItMjA1に置き換えてくださいという指示です。これでめでたくスリープ問題が根本的に解決されるはずです。&lt;/p&gt;
&lt;h3 id="opencoreのconfigplistでパッチを当てる"&gt;OpenCoreのconfig.plistでパッチを当てる
&lt;/h3&gt;&lt;p&gt;OpenCoreでも同様に、config.pistの指定で動的にパッチ当てが可能です。以下にその方法を紹介しておきました。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://bootmacos.rinontech.com/posts/9006/" &gt;Pioneer光学ドライブのパッチをOpenCoreに適用する&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="キーボードから開閉したい"&gt;キーボードから開閉したい
&lt;/h3&gt;&lt;p&gt;&lt;img alt="f:id:siroanko:20170911121604p:plain" data-title-escaped="f:id:siroanko:20170911121604p:plain" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://bootmacos.rinontech.com/uploads/external/hatena/20170911121604.png" title="f:id:siroanko:20170911121604p:plain"&gt;&lt;/p&gt;
&lt;p&gt;ご存知のようにアップルの純正キーボードには光学ドライブをイジェクトするキーがついています。今風のMacintoshでは使いようのない無駄なキーですが、光学ドライブを搭載したHackintoshなら有効に使ってあげられます。と、思ったら、これが効かないこともありました。&lt;/p&gt;
&lt;p&gt;解決策がこちら、&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.tonymacx86.com/threads/eject-button-in-ml.60793/page-2#post-397207" target="_blank" rel="noopener"
 &gt;www.tonymacx86.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;で紹介されています。AHCI_3rdParty_SATA.kextに手を加えて使用する方法です。日本語で紹介された解説が、こちらにあります。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.reddit.com/r/hackintosh_ja/comments/66wgvv/%e3%82%ad%e3%83%bc%e3%83%9c%e3%83%bc%e3%83%89%e3%81%aeeject%e3%82%ad%e3%83%bc%e3%81%a7%e5%85%89%e5%ad%a6%e3%83%89%e3%83%a9%e3%82%a4%e3%83%96%e3%82%92%e9%96%8b%e9%96%89%e3%81%99%e3%82%8b/" target="_blank" rel="noopener"
 &gt;www.reddit.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ESPをマウントするためのシェルスクリプト</title><link>https://bootmacos.rinontech.com/posts/136/</link><pubDate>Sun, 10 Sep 2017 23:43:45 +0900</pubDate><guid>https://bootmacos.rinontech.com/posts/136/</guid><description>&lt;img src="https://bootmacos.rinontech.com/uploads/2017/09/20170926165208.png" alt="Featured image of post ESPをマウントするためのシェルスクリプト" /&gt;&lt;p&gt;EFIシステムパーティション(頭文字を並べてESP)には、Cloverブートローダとかconfig.plistとかkextファイルなどが置かれてます。ESPは通常はマウントされていませんので、これをメンテするときに、マウントする必要があります。例えば、ESPが/dev/disk0s1にある場合は、ターミナルから&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;diskutil mount /dev/disk0s1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;とすればマウントできます。すると/Volumes/EFI以下にマウントされます。必要ならばここにcdしたり、これをファインダーに表示させます。&lt;/p&gt;
&lt;p&gt;でもこの一連の作業が面倒なので、こんなシェルスクリプトを作って使っています。マウントしたESPは、マウントした順番に/Volumes/EFI, /Volumes/EFI 1, /Volumes/EFI 2のマウントポイントに割り当てられます。このスクリプトでは、マウントした後にCLOVERのディレクトリにcdしています。 この後、open .などすればファインダに表示することもできます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/sh
if [ $# -eq 0 ]; then
DRIVE=&amp;#34;0&amp;#34;
else
DRIVE=$1
fi
diskutil mount /dev/disk${DRIVE}s1 
MP=`diskutil info disk${DRIVE}s1 | grep &amp;#34;Mount Point&amp;#34;`
MP3=`echo $MP |  awk &amp;#39;{print $3}&amp;#39;`
MP4=`echo $MP |  awk &amp;#39;{print $4}&amp;#39;`
if [  -n &amp;#34;$MP4&amp;#34;  ]; then
cd $MP3&amp;#34; &amp;#34;$MP4&amp;#34;/EFI/CLOVER&amp;#34;
else
cd $MP3&amp;#34;/EFI/CLOVER&amp;#34;
fi
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;これをファイルにして、名前をつけて、実行可能にします。例えば、mountESPという名前のファイルにした場合、&lt;/p&gt;
&lt;p&gt;/dev/disk2s1 をマウントしたいならば、ターミナルから以下のようにタイプします。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;. mountESP 2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;引数を省略すると/dev/disk0s1がマウントされます。ドライブが1個しかないマシンでは、必ず/dev/disk0に割り当てられるので、番号を省略できると便利と考えました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;. mountESP
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;ちなみに冒頭のピリオド空白(. )は重要です。通常よくやるように./mountESPとすると、最後のcdコマンドが効きません。実際には効いているのですが、シェルスクリプト実行環境の中で効いているので、ターミナルのプロンプトに戻ると元のディレクトリに帰って来てしまいます。ピリオド空白(. )は、ターミナルの実行環境のままで、キー入力そのもののようにスクリプトを実行するという意味だそうです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;追記&lt;/strong&gt;：10.13.6からESPをマウントするのに管理者パスワードが必要になりました。なので、上記のスクリプトも、diskutil mountの行を、以下に変更する必要があります。(2018/7/10)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo diskutil mount /dev/disk${DRIVE}s1
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>