USB3.0のHDDケースと、1.0TBのHDDがあったので、サブパソコンでもHackintoshを組んでみました。Windows用にGefoce1050Tiがはいってるので、最新は無理ですがHigh Sierraをいれて、Windows,Ubuntu,mac OSのトリプルブートに挑戦してみました。(最終的にUSB-HDDからのUEFI起動設定は、内部設定にかわってしまうため、HDDは内蔵しました。)
1.MojaveでのHigh sierraインストーラのダウンロード
を用いて、ダウンロードします。
2.USBメモリインストーラーを作る
16GBのUSBメモリを用意します。Mojaveにマウントし、USBという名前にしておきます。Terminalで、
$ sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia –volume /Volumes/USB
EFIを用意します。実はCatalina用に使っていた最新EFI(Coffee lake用)が以外にも設定が合いました。ただしSMBIOSはiMac13.2にします。
3.インストール
USB3.0の1TBHDDを、100GBシステム(mac OS High Sierra)、100GBデータ用、300GB TimeMachine用、残りの500GBを共用(exFat、後述で調整)にしました。
4.セキュリティパッチ
USBから起動し、とりあえずセキュリティパッチがあるのでやってしまいます。
これで、Bulid 17G8030になります。
5.Nvidia Web Driverのインストール、HDD-EFIの調整
以上から、Bulid 17G8030用のドライバーを入れます。
USBのEFIでは、Geforceはアクティブにならないので、
(1)SystemParameters Nvidiaweb true
(2)Bootargに nvda_drv=1
(3)KASLR調整でslide=8等(最後に記しました)
とし、インストール先HDDのEFIを調整します。
古いチップセットのせいか、USBの割当が今風とは異なりました。いちおう15個以上にできるパッチを当てていましたが、USB2.0ポートはApple純正のドライバが動いたようです。IORegistryExplorerでASUS B75M-Plusのバックパネルは以下のような構成でした。
よく知られている、XHC@14には、HS01~HS04とSS01~SS04の8つしかありませんでした。そのうち、バックポートで使われているのは、4つだけです。
EHC1などは、調べてみると、表示名が重ならないように、EH1とかに名前を変えるパッチをするようです。でも、やってみても、こんどはその名前で、同じ扱いになってしまいます。
調整(HDDのEFIは、調整済みです。)
さらに、KASLR(Kernel Address Space Location Randomization)で問題がありました。
CloverのShellでのmemmapコマンドでは、
Reserved 000000000009E000-000000000009FFFF 0000000000000002
Available 0000000000100000-0000000000FFFFFF 0000000000000F00
LoaderData 0000000001000000-00000000010FFFFF 0000000000000100
Available 0000000001100000-00000000CACC0FFF 00000000000C9BC1
Available 0000000000100000-0000000000FFFFFF 0000000000000F00
LoaderData 0000000001000000-00000000010FFFFF 0000000000000100
Available 0000000001100000-00000000CACC0FFF 00000000000C9BC1
であり、
たった0x1000000-10FFFFFにカーネル配置できない部分があります。
0x100000+ x * 0x200000=0x1100000
x * 0x200000 = 0x1100000-0x100000=0x1000000
x = 0x1000000 / 0x200000=0x08
ランダムシード値が0~7のときにエラーが起きるんですから、本当にまれなのですが、エラーが起きました。
slide=8
及び、
RtVariables, CsrActiveConfigを0x40と整えました。
たった0x1000000-10FFFFFにカーネル配置できない部分があります。
0x100000+ x * 0x200000=0x1100000
x * 0x200000 = 0x1100000-0x100000=0x1000000
x = 0x1000000 / 0x200000=0x08
ランダムシード値が0~7のときにエラーが起きるんですから、本当にまれなのですが、エラーが起きました。
slide=8
及び、
RtVariables, CsrActiveConfigを0x40と整えました。
共有領域はexFatで500GB取っておきました。念のためですが・・・
UBUNTUでもマウントできました。
アロケーションサイズが128KBと大きくなってきたので、Windowsで直しました。
format g: /q /fs:exfat /a:32k
コメント