Mac って何?それって美味しいの?

マイコンと呼ばれた時代から現在まで、使用記から何から何でも。

Fusion DriveのMacにOSがインストールできない問題の解決

Mac mini Late 2014 ジャンクを手に入れた。

なんでも、macOSのインストールができないらしい。

実機を起動してみる。

macOS 復旧 は問題なく起動した。

でも、いざインストールしようとすると「復旧サーバに接続できません」となる。

じゃUSBインストーラで、と電源押すと禁止マーク(丸に斜線)が表示され 、

macOS 復旧も起動しない。High sierra でも Catalina でも。

もちろんPROMクリアはやってる。それでダメってことはEFIくさい。

Fusion Drive ってのもなんかあやしい。

OCLPのUSBインストーラでVenturaの復旧メニュー起動できた。

ターミナルのdiskutilでFusion Driveを再作成してみる。

Fusion Drive が分割された場合の修復方法 - Apple サポート (日本)

diskutil resetFusion

なんだか、いい感じに再作成された気がする。

が、やはりUSBインストーラは禁止マークで止まる。

再度、OCLPのUSBインストーラでVenturaの復旧メニュー起動し、

今度はFusion Driveを解除してSSDとHDDに分離、初期化をする。

diskutil list
diskutil apfs deleteContainer disk2

disk2の部分は環境によって異なる場合があります。

diskutil list の結果から適切な値を指定してください。

 

分離したSSD、HDDそれぞれHFS+で初期化する。

SSD128GBのやつだ。ここで初めてSSDの容量がはっきりした。

今度はUSBインストーラのCatalina復旧メニュー起動。

分離したまま128GBのSSDにインストールしてみる。

 

インストール完了後、やはり「このMacについて」を確認。

同型の i7 をちょっと期待してたけど i5 だった。

2.8GHzだからi5でも上位機種だね。

不具合も解消し、スペック的にも悪くないし、どうしようかな。

 

Python知識ゼロから始めるchatGPTを利用した超簡単ゲームプログラミング(実践編)

chatGPTや画像生成AIで遊んでいるうち、何か実のあるものができないかな?

と思うようになってきた。

ただ、めんどくさがりな私は凝ったものは作れないし、途中で飽きてしまう可能性が高い。

ふと、画像生成AIの環境を作る時にPythonというプログラミング言語を見たことを思い出した。

読み方は「ぱいそん」でいいのかな?これってどういう言語?

Wikipediaを参照した。ふーん。

インデントでソースを見やすくするのは同意。ネストが深くなったりソース長くなると面倒で適当になっちゃうけど。

やっぱりモンティパイソンね。

OpenCoreでHackintoshを作るときのツールにも使われていた言語だったな。

じゃあ、Python学習がてらAIでゲームでも作ってみようかな。

 

WebのchatGPTで質問してみる。

「python3で出来る対戦ゲームのアイデアを考えてください」

回答:

説明文付きで5つ考えてくれた。

サクッと作れそうなのがいいな。

うーん、この中だったら、対戦カードゲームならカードのイラストを画像生成AIで作るってことでいいかも。

「python3でカードバトルゲームのコードを生成してください」

回答:

カードバトルゲームのPythonコードを生成するには、いくつかのステップが必要です。以下に基本的なステップを示しますが~省略

...ステップを説明してくれた。そんなのはいい。コードをくれ。

だが、コード生成の前にゲームの遊び方を考える必要があるようだ。

「最初のステップのアイデアを作成してください」

回答:

カードバトルゲームを作成する最初のステップは、基本的なカードとプレイヤークラスを作成することです。

  1. カードクラスの作成:
  2. デッキの作成:
  3. プレイヤークラスの作成:
  4. 基本ゲームルールの設計:
  5. テスト:

丁寧に説明してくれているがなんだかイメージ湧かず。たまらず

「もっと簡単なカードバトルゲームにしたい」

回答のルールはシンプルな感じになったのを提示されたがまだピンとこない。

が、もうこれでとりあえず

「このルールでコードを生成してください」

回答:

以下は、Pythonで簡単なカードバトルゲームのコードの一例です。このコードでは、2つのプレイヤーが1ラウンドのカードバトルを行います。各プレイヤーにはランダムにカードが配布され、カードのランクを比較して勝者を決定します。


import random

# カードデッキを作成
suits = ['ハート', 'ダイヤ', 'スペード', 'クラブ']
ranks = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'ジャック', 'クイーン', 'キング', 'エース']
deck = [{'スート': suit, 'ランク': rank} for suit in suits for rank in ranks]

# プレイヤーを作成
player1 = {'名前': 'プレイヤー1', '手札': []}
player2 = {'名前': 'プレイヤー2', '手札': []}

# カードを配布
random.shuffle(deck)
player1['手札'] = deck[:len(deck) // 2]
player2['手札'] = deck[len(deck) // 2:]

# カードバトルのルールを定義
def battle(player1_card, player2_card):
    rank_order = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'ジャック', 'クイーン', 'キング', 'エース']
    if rank_order.index(player1_card['ランク']) > rank_order.index(player2_card['ランク']):
        return player1
    elif rank_order.index(player1_card['ランク']) < rank_order.index(player2_card['ランク']):
        return player2
    else:
        return None

# ゲームをプレイ
rounds = 3  # ラウンド数を指定
player1_score = 0
player2_score = 0

for round_num in range(1, rounds + 1):
    print(f"ラウンド {round_num}")
    player1_card = random.choice(player1['手札'])
    player2_card = random.choice(player2['手札'])
    
    print(f"{player1['名前']}のカード: {player1_card['スート']}の{player1_card['ランク']}")
    print(f"{player2['名前']}のカード: {player2_card['スート']}の{player2_card['ランク']}")
    
    winner = battle(player1_card, player2_card)
    
    if winner:
        print(f"{winner['名前']}の勝利!\n")
        if winner == player1:
            player1_score += 1
        else:
            player2_score += 1
    else:
        print("引き分け\n")

# 最終結果を表示
if player1_score > player2_score:
    print(f"{player1['名前']}の勝利!")
elif player1_score < player2_score:
    print(f"{player2['名前']}の勝利!")
else:
    print("引き分け!")
  

実行すると、勝手に対戦が進んで結果が表示された。

ここから変更したいところをchatGPTに投げてコードを生成してもらう。

「1ラウンドごとにデッキからカードを選べるようにしたい」

「バトルするカードをプレイヤーが手札から選べるようにしたい」

「最初に各プレイヤーに5枚ずつ手札に配りたい」

「プレイヤー1は人間、プレイヤー2はコンピュータがバトルするカードを選ぶようにしたい」

「プレイヤー2のコンピュータは手札の中で一番強いカードをバトルで選ぶようにしたい」

そして生成されたコードとわずかの変更でできたコード:


import random

# カードデッキを作成
suits = ['ハート', 'ダイヤ', 'スペード', 'クラブ']
ranks = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'ジャック', 'クイーン', 'キング', 'エース']
deck = [{'スート': suit, 'ランク': rank} for suit in suits for rank in ranks]

# プレイヤーを作成
player1 = {'名前': 'プレイヤー1', '手札': []}
player2 = {'名前': 'プレイヤー2', '手札': []}

# 初期手札を配る
initial_hand_size = 4
for _ in range(initial_hand_size):
    player1['手札'].append(deck.pop(random.randint(0, len(deck) - 1)))
    player2['手札'].append(deck.pop(random.randint(0, len(deck) - 1)))

# ゲームをプレイ
rounds = 5  # ラウンド数を指定
player1_score = 0
player2_score = 0
rank_order = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'ジャック', 'クイーン', 'キング', 'エース']

def battle(player1_card, player2_card):
    if rank_order.index(player1_card['ランク']) > rank_order.index(player2_card['ランク']):
        return player1
    elif rank_order.index(player1_card['ランク']) < rank_order.index(player2_card['ランク']):
        return player2
    else:
        return None

def select_strongest_card(player_hand):
    strongest_card = None
    for card in player_hand:
        if not strongest_card or rank_order.index(card['ランク']) > rank_order.index(strongest_card['ランク']):
            strongest_card = card
    return strongest_card

for round_num in range(1, rounds + 1):
    print(f"ラウンド {round_num}")
    
    # カードをデッキからランダムに選び、手札に加える
    player1['手札'].append(deck.pop(random.randint(0, len(deck) - 1)))
    player2['手札'].append(deck.pop(random.randint(0, len(deck) - 1)))
    
    # プレイヤー1(人間)がカードを選ぶ
    print(f"{player1['名前']}の手札:")
    for i, card in enumerate(player1['手札']):
        print(f"{i + 1}: {card['スート']}の{card['ランク']}")
    player1_choice = int(input("選ぶカードの番号を入力してください: ")) - 1
    
    player1_card = player1['手札'].pop(player1_choice)
    
    # プレイヤー2(コンピュータ)が一番強いカードを選ぶ
    player2_card = select_strongest_card(player2['手札'])
    player2['手札'].remove(player2_card)
    
    print(f"{player1['名前']}のカード: {player1_card['スート']}の{player1_card['ランク']}")
    print(f"{player2['名前']}のカード: {player2_card['スート']}の{player2_card['ランク']}")
    
    winner = battle(player1_card, player2_card)
    
    if winner:
        print(f"{winner['名前']}の勝利!\n")
        if winner == player1:
            player1_score += 1
        else:
            player2_score += 1
    else:
        print("引き分け\n")

# 最終結果を表示
print("*** 最終結果 ***")
print(f"{player1['名前']}: {player1_score}勝")
print(f"{player2['名前']}: {player2_score}勝")
if player1_score > player2_score:
    print(f"{player1['名前']}の勝利!")
elif player1_score < player2_score:
    print(f"{player2['名前']}の勝利!")
else:
    print("引き分け!")

CUIでシンプルに遊べます。

コンピュータが選ぶカードのアルゴリズムを工夫するとか、いじれる余地があるけど。

次はこれをGUIで遊べるようにしていきます。

もちろんAIで。

Python知識ゼロから始めるchatGPTを利用した超簡単ゲームプログラミング(準備編)

Pythonはプログラミング初心者からプロまで幅広い人々に支持される人気のあるプログラミング言語です。そして、chatGPTは自然言語処理に優れたAIモデルで、コンピュータと自然な対話を行うことができます。この記事では、Pythonの基本的な知識がなくても、chatGPTを活用してゲームプログラミングを始める方法を紹介します。

1. Pythonのインストール

Pythonを使ってゲームを作成するには、まずPythonをインストールする必要があります。Pythonは公式ウェブサイトからダウンロードできます。最新バージョンをダウンロードし、インストールプロセスに従ってください。

https://www.python.org/

2. テキストエディタの選択

Pythonコードを書くためにテキストエディタが必要です。初心者向けにおすすめのテキストエディタは「Visual Studio Code」や「PyCharm」です。どちらもPythonに特化した機能を提供しており、使いやすいです。

3. chatGPTの活用

chatGPTはOpenAIが提供するモデルで、Pythonから利用できますが、OpenAI APIキーの取得、ライブラリのインストールの手順を踏む必要があります。しかし、今回はPythonから呼び出すのではなく、ブラウザでchatGPTを利用してゲームの作成をしたいと思います。

https://chat.openai.com/

4. ゲームプログラミングの開始

PythonとchatGPTの準備が整ったら、ゲームプログラミングを始める準備ができています。chatGPTに質問を投げて、プログラムのアイデアやコーディングのヒントを得ることができます。ゲームのジャンルや難易度を選んで、Pythonでゲームを作成してみましょう!

yummac.hatenablog.jp

 

yummac.hatenablog.jp

 

5. コミュニティと学習リソース

Pythonゲームプログラミングに関する学習リソースは豊富です。ウェブ上にはチュートリアル、コース、フォーラムなどがたくさんあります。また、Pythonコミュニティも非常に活発で、質問や疑問を共有する場所として利用できます。

Python知識ゼロから始めるゲームプログラミングは大いに楽しい冒険です。chatGPTを利用してアイデアを得たり、Pythonコミュニティのサポートを受けたりしながら、自分だけのゲームを作成しましょう。楽しさと学びが待っています!

Mac mini Core i5 Late 2014 のファームウェアロックを解除する

ヤフオクで手に入れたジャンクの Mac mini

OS起動するもののログインパスワードが判らず使えない。

「パスワードのヒント」を手がかりにいろいろ試したがダメ。

じゃあ、パスワードをリセットしようと公式ページにある手順を試みる。

Mac の電源を入れて、すぐに「command (⌘) + R」キーを長押し

すると鍵マークとパスワード入力欄が中央に。

チキショウ、ファームウェアパスワードが設定されているのか!

ファームウェアロックがかかっていると、

パスワードのリセットどころか、

別ドライブから起動とか、OS初期化とかの手段も使えない。

いわゆる文鎮化。まさにジャンクだった。

 

パスワード探しも諦め、ファームウェアロックの解除方法を探す。

すると、iMacmacbook airとかの解除動画がyoutubeにあるではないか。

CMOSチップを書き換えたり、交換したりすれば解除できる。

でも、ハンダ付されているCMOSチップを外す方法はやりたくない。いや無理。

チップを外さずに書き換える方法は...あった!macbookだけど。

Mac miniでもできるのでは?とツールをAliExpressで漁る。

mac専用のツールが2万円以上の値段で売られていたが

できるかわからないし、あまりお金はかけたくない。

あまり安すぎても信用度低く感じるので、2千円くらいのをチョイス。

ダメもとで、できたらラッキー的な考えで。

 

セットアップはインド人?のyoutube動画を参考にした。

CMOSチップはファンの下にあるけど、

Mac miniの解体はめっちゃ最小限で済んだのが幸せだった。

 

チップへのアクセス写真(横着してWi-Fiアンテナやファンはコネクタ繋いだまま)

書き換えるCMOSチップはMX25L6406E

 

1発目からRead成功!これはいけるのでは?

と思ったが、バイナリエディタで変更しWriteしようとしたらエラー。

そこから、いろいろ試したり繋ぎ直したりしたができずに1日目終了。

2日目も惜しい感じはあるのだが成功に至らず。

3日目、心もとないPDFマニュアルを読み返す。

25系はEraseしてからWriteしろだって。でもそれも試したんだけどなぁ。

PCは前日まで使っていたノートがなんかおかしいので、別のノートPCで挑む。

そして、PCを変えたのが良かったのかWrite成功!

これでファームウェアロックか解除になったはず!

Mac miniを仮組みして option + command + P + RでPRAM をリセット(ハードウェアロックが有効だとコレもできなかった)

command (⌘) + R でもパスワード入力なしで「mac OS 復旧」メニューに行けたよ!

あとはターミナルで resetpassword を実行しログインパスワードを再設定。

再設定したパスワードで無事、既存のmacOSにログインできました。

 

覗いてみると、個人ファイルが残ったままで、

ダウンロードフォルダに何やら

「女性がバスルームで...」な画像が複数あるんですが。

 

iPhoneで文字化け←[OBJ]文字の原因がわかった!

iPhoneFacebookとかSNSなどに投稿したときに起こる、文字化け[OBJ]

iPhoneで閲覧しているときは無いのに、

PCで見ると「なんじゃこりゃー」って思っちゃう。

すごくガッカリな文字化け。

どうしたら起こるの?って不思議だったけど、

ようやく事象を再現する方法がわかった。

 

iPhone音声入力を終わらせるときに、

マイクアイコンをタップすると行の先頭にカーソルが移動する。

この動きをしたときは、[OBJ]文字が入力されたってことだと思う。

ちなみに英語入力でも(マイクアイコンではないが画面をタップで終了すると)再現できた。

 

で、対処方法は?なんだが、

キーボード入力設定で、自動入力オフとか何かで回避できないか試したがだめだった。

今のところ唯一の回避方法は、

音声入力を終わらせるときマイクアイコンをタップするのではなく、

スクリーンキーボードの右上の「完了」をタップして

入力自体を終了することで、[OBJ]文字入力を防げた。

 

続きを入力するときは、

またマイクアイコンをタップするなりしなきゃなんだけどね。

 

OpenCore で Hackintosh NEC VersaPro i3-7100U

2台目のASUSノートPCも途中ながら、ヤフオクでまた仕入れてしまった。

ジャンクじゃない、NEC VersaPro ノートPC。ACアダプタ無しだけど。

前回、成功したマシンの姉妹機?CPUがCore i3-7100Uで1世代後になります。

あと違いは、今回はWifiBluetoothがあります。

yummac.hatenablog.jp

 

 

Specification

NEC VersaPro J VJ24L/AA-V フレームモデル
15.6型ワイドTFTカラー液晶(HD)

─ CPU
  └── Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz
      ├── Cores: 2
      ├── Threads: 4
      └── Codename: Kaby Lake

─ GPU
  └── Intel(R) HD Graphics 620

─ Network
  ├── Ethernet Connection (4) I219-V
  └── Wireless 8265 / 8275

─ Audio
  ├── Intel(R) Display Audio
  └── Realtek ALC293

 

インストールUSB作成も、前回のを流用し、USBマッピングしたくらいの変更でインストールできた。

WiFiBluetoothは、ちんぷんかんぷんだったけど、ネットを徘徊して他の人のを見て参考にしたら成功した。

Windows10をインストールするときにブルースクリーンがでてできない。

MATサポートが関係してる?

Kernel Issues | OpenCore Install Guide

でも1日明けたらインストールできたので原因不明。

 

macOSとWin10環境を整え終わり、あっけなかったので何かないかと情報収集していると、OCATなる OpenCore Hackintoshツールの情報を得る。

www.tonymacx86.com

ちくしょう、先に知ってればコレ試せたのに。

 

追記

OCATを使い始めるも、Laptopは現時点では未対応のようだった。

OpenCore で WindowsPC に MacOS Ventura をインストールする

現在、私のメインマシンは、HDD抜き取りジャンクで入手し、

SSD換装した iMac 21.5インチ core i7 Mid2011。

とうに現行のOSからは見放されているが、

OpenCore Legacy Patcher を当てて Montereyが動作している。

いくつか使えない機能(AirDropとか)があるものの

それは不自由を感じない。

が、1つだけどうにかしたいのが、

GPUがMETAL非対応のため、METALに依存したAPPが正常動作しないことだ。

GPU換装なんて、面倒なことはやりたくない。

新しいマシンを買う余裕もない。

あるのはヤフオクで漁った、ジャンクWindowsノートPCが2台。

CPUは Broadwell と Skylake だ。内蔵GPUはMETAL対応じゃん。

じゃあ、やっちゃう?

Legacy Patcher で使ってた OpenCore で初挑戦だけどいってみよー

 


www.youtube.com

 

 

Hardware specifications

NEC VersaPro タイプVX VK23L/X-U

CPU    Core i3 6100U (Skylake)
DISPLAY    15.6インチ 1366×768
RAM    12GB
Strage    SSD 250GB
GPU    Intel HD Graphics 520
WIFI    -
Bluetooth    -
OS    Windows 10 pro

ふたを開けると液晶周りの枠が、ぱっくり恥ずかしげもなく開いちゃうジャンク

押さえて開く、開いてもまたハメればいいだけだし、問題なし。

SSDに換装、RAM増設、ビジネスモデルでWIFIBluetooth無しでサッパリ仕様。

いじくるのに調べていて気づいた、NECマシンの中身はLenovoだよ。

 

ASUS X555LAB

CPU    Core i3 5005U (Broadwell)
DISPLAY    15.6インチ 1366×768
RAM    8GB
Strage    SSD 320GB
GPU    Intel HD Graphics 5500
WIFI    AR9485
Bluetooth    -
OS    Windows 10 Home

キーボード無反応、HDD抜き取りジャンクで入手。

開けてみたらHDD抜き取り後、外したケーブル類を挿してなかったっぽい。

SSDを取り付け、ケーブルをもとに戻し、キーボード復活。RAM増設。

 

Introduction

まず、手始めにVersaProから挑戦しました。

素晴らしいガイド OpenCore Install Guide があるので、手順に従って作業します。

ここには、私が実際に作業してみての要点や、

ガイドに逆らったこととかを残してきます。

 

Windows が起動するうちに OCSysInfo.exe でハードウェアの情報収集をします。

1台目(VersaPro)はOCSysInfoやってなくて、

オンボードオーディオ当てる時、わからなくて後悔した。

それと、ちょっと面倒だけど USB Mapping もやっておきます。

Windowsのツールはこちら GitHub - USBToolBox/tool: the USBToolBox tool

 

USB Creation

Creating the USB

iMacでガイド通りに作業。

Montereyで作業するならpython3インストール要。

2台目はUSBメモリをGPTではなくMBRで作ってみた。

USBに挿せば EFI がマウントされるので作業が楽です。

 

USBをMBRで作成

# Format
sudo diskutil eraseDisk FAT32 OCUSB MBRFormat /dev/disk9

# MBR Partition
diskutil partitionDisk /dev/disk9 2 MBR FAT32 "OC EFI" 200Mi HFS+J "MyVolume" R

# Ventura
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

 

Adding The Base OpenCore Files

OpenCorePkg 環境に DEBUG と RELEASE がありますが、

両方ダウンロードします。

最初は DEBUG で構築します。

RELEASE からは、3つのファイルのみ使います。後述

 

Configs

config.plist の編集は ProperTree 一択です。

buildapp-select.command を実行してAPP化しておくと幸せです。

Clean Snapshot で config.plistのエントリーを自動生成後は

Lilu.kext を先頭にドラッグして移動することを忘れずに。

 

Broadwell や Skylake に Ventura をインストールする場合は、

ここにならって、 MacBookPro14,1 を SMBIOS に設定します。

それと、Skylake は device-id と AAPL,ig-platform-id に KabyLake の値を設定します。

WhateverGreen のスプーフィングってやつ?

  • AAPL,ig-platform-id: 00001B59
  • device-id:  1B590000

 

ブートピッカーのGUI

デフォルトだと、ブートピッカーがテキストで画面左上に表示されます。

画面がクリアされずに表示されることもあって、よく見落とします。

早々にブートピッカーをGUI化するのをおすすめします。

OpenCore beauty treatment | OpenCore Post-Install

 

Intel BIOS settings

OpenCoreの正常起動までたどり着けない場合は、

BIOS設定に問題がある可能性が高いので、怠けず確認しましょう。

 

Installation

USBブートで OpenCore 起動、そしてmacOSインストーラが起動するまで

ログを確認しググったり、構築したEFIのファイルやconfig.plistの見直し、

はたまた最初から作り直しとか、何度でも行います。

DEBUG 環境は、処理の進みが遅く止まっているように感じることがあります。

それに気づかず、何度も途中で電源ボタン長押ししちゃったよ。

気長に待ちましょう。放置しましょう。

失敗しているときは、禁止マークやエラーログで止まります。

 

macOS Installer

macOSインストーラの起動ができたなら、峠は越えたなって感じです。

私はWindowsmacOSデュアルブート用にパーティションを作成してから

macOSをインストールします。

 

デュアルブートパーティション作成

  1. ディスクユーティリティ起動
  2. サイドバーを「全てのデバイスを表示」に変更
  3. 消去でMacOS拡張ジャーナリング、GUIDパーティションマップ指定
  4. 2つのHFS+パーティションに分割、
  5. 消去でmacOSパーティションをHFS+からAPFSに変更

WindowsパーティションはまだHFS+のままで、

WindowsインストーラでHFS+パーティションを消去してインストールします。)

 

インストールプロセスで数回再起動しますが、

ちゃんとUSBからブートしてるか不安になるので見届けます。

 

Post-Install

OSの初期設定を済ませ、初回起動時にやることは

「このMacについて」だ!これを見ると達成感がある。

起動したけどなんか画面表示のエフェクトがおかしい。

あれ?なんでグラフィックメモリの割り当てが4MB?!

 

グラフィックアクセラレーション

DeviceProperties の DVMT-prealloc 設定値問題が気になったので、

対応策をやったら解決できました。

METALが当たっていることを確認し喜ぶ。

Skylake はこれでうまくいったけど Broadwell はこれだけではダメ。

OCLPを使ってグラフィックアクセラレーションパッチを適用する必要がある。

You can use OpenCore-Legacy-Patcher to add back support

ってガイドにあったけど、このことなんだね。

OCLP で Post install するわけだが、ガイドにもあったとおり

Requires SIP, Apple Secure Boot, and AMFI disabled.

しなきゃインストールできない。ちくしょー

 

secure bootを無効にする

Misc > Security

  • SecureBootModel: Disabled

AMFI無効にする、SIPを無効にする(0x803以上)

NVRAM

Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82

  • boot-args: amfi_get_out_of_my_way=1 を追加
  • csr-active-config: 03080000 に変更

Delete > 7C436110-AB2A-4BBB-A880-FE41995C9F82

  • (new sibling で付番) [string]: csr-active-config を追加

Deleteセクションで明示してオーバーライドします。

 

再起動後、OCLPでPost-Installします。

 

Open core RELEASE Install

USBインストーラEFIフォルダをコピー、SSDEFIをマウントしペースト。

DEBUG からRELEASE 環境に入れ替え、

config.plistのデバッグ設定も変更。

これでSSDから快適にブートできるようになった。

 

同一バージョンのRELEASEファイルに入れ替え

config.plist変更

NVRAM > Add

  • boot-args: -v オプションを消す

Misc > Debug

  • AppleDebug: False に変更
  • ApplePanic: False に変更
  • Target: 0 に変更

 

バッテリー表示、画面輝度変更、大丈夫そう。

音が出ないな。オンボードオーディオ認識してない。

Fixing audio with AppleALC | OpenCore Post-Install

OCSysInfoやってなかったので Codec調べるのに手間かかったけど、

boot-args の alcid=1 を alcid=11 に変更したら認識し音がでた。

もう、これでいい。あとの面倒そうなことはやらない。

VersaProWIFIBluetooth もないし、これでひとまず完成。

 

Broadwell はまだいくつか不具合があります。

 

Windows10 Install

Microsoft のサイトからツールをダウンロードし、インストールUSB作成。

インストールUSBから直接ブートせずに、

必ず OpenCore ブートピッカーからインストールUSBを選択します。

インストール手順で、HFS+のWindowsパーティションを消去して、

未割当領域になったところで、選択しインストールします。

 

Win10とmacOS デュアルOSマシン完成