질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | 빅서 정식 11.0.1 |
공지숙지/증상설명 | 숙지 |
안녕하세요.
최근 빅서를 설치하고 저희 빌드저장소에 공유되고 있는 EFI를 제 커맥에 적용을 했습니다.
그런데 오픈코어 부트로더를 통해서 윈도우로 부팅을 하면 블루스크린이 뜨면서 부팅이 안됩니다.
컴 켜자마자 부트디스크 선택메뉴를 나오게해서 윈도우가 설치된 디스크를 선택해서 부팅을 하면 정상적으로 되고요.
오픈코어 부트로더를 통해서 윈도우로 들어갈때만 블루스크린이 뜨거든요.
부팅 -> 오픈코어 부트로더 -> 윈도우10 -> 블루스크린
부팅 -> 부트메뉴 -> 윈도우10 -> 정상
이게 클린설치를 했을때는 문제없이 멀티부팅이되었는데
저랑 같은 보드(designare)를 사용하시는분의 EFI를 적용했을때 이런 증상이 나오네요.
알아보니 DSDT/SSDT 패치를 한것이 윈도우에도 영향을 준다는것 같아요.
https://x86.co.kr/qa/5144226#comment_5144554
혹시 이 DSDT/SSDT 패치를 윈도우로 부팅할때는 적용되지 않도록 하는 방법 좀 참고할만한 자료가 있을까요?
질문을 정리하자면
오픈코어로 부팅하는 OS 에 따라 DSDT/SSDT 패치 분기하여 적용하는 방법을 알고 싶습니다.
허니붸베님의 새글 알림을 받으실려면 구독
ACPI 에서 Mac OS 와 Windows 에서 수행할 내용을 SSDT 를 사용하여 If 문과 필요한 경우 Else 문까지 사용하여 분리해야 합니다.
주로, _STA 와 If (_OSI ("Darwin")) 구문을 사용하여 패치합니다.
여기에서, Else 문을 사용하는 경우로는 Mac OS 뿐만 아니라 Windows 에서도 필요로 하는 OEM DSDT 의 일부 내용을
SSDT 로 Override 하기 위해서 ACPI Rename 패치를 적용한 후에 그 Object 를 Else 문에서 Return 하는 것을 예시로 들 수 있습니다.
_STA 에 대한 내용은 아래의 Tip 글을 참고해주세요.
제가 작성한 아래의 설치 후기글에서 5. 안정화 단계의 내용도 참고해보세요.
https://x86.co.kr/mymac/5003460
예시를 들어 설명하자면 Mac OS Catalina 10.15 버전부터는 EC Device 가 인젝션되어 있어야 부팅이 가능합니다.
그래서, Fake 의 EC Device 를 인젝션하는 SSDT-EC-USBX.aml 을 사용합니다.
그런데, Windows 에서는 SSDT-EC-USBX.aml 의 패치 내용이 적용되지 않도록 _STA 와 If (_OSI ("Darwin")) 구문을 사용합니다.
_OSI 가 Darwin 이면 0x0F 를 반환하고 그렇지 않으면 Zero 를 반환합니다.
_STA Method 에서 Return (Zero) 를 반환하는 것은 해당 Device 를 비활성화하겠다는 의미입니다.
즉, Mac OS 로 부팅하면 EC Device 를 활성화하고 Windows 로 부팅하면 EC Device 가 비활성화됩니다.
Intel 300 시리즈의 PMC 및 NVRAM 과 관련된 SSDT 에서도 다음과 같이 적용할 수 있습니다.
추가로, _STA 가 MethodObj 형식이 아닌 IntObj 형식으로 정의되어 있어도
Name (_STA 직접 MethodObj 형식으로 수정하여 패치해도 됩니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +269 | 달쇠 | 17.07.3020:49 | 11만 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | Mactopia | 17.02.1014:21 | 12만 |
고스트파일을 부팅 USB에 넣은후 윈도우에서 폴더 접근이 안됩니다. +11 | ashly | 24.09.2720:41 | 81 |
인텔 ax200ngw를 사용하는데 와이파이 및 블루투스 인식이 되지 않습니... +7 | loopers | 24.09.2716:50 | 84 |
커널패닉 +2 | 머트 | 24.09.2723:18 | 68 |
수박 | 24.09.2917:58 | 18 | |
루마루 | 24.09.2913:21 | 25 | |
루마루 | 24.09.2910:19 | 62 | |
머트 | 24.09.2723:18 | 68 | |
ashly | 24.09.2720:41 | 81 | |
loopers | 24.09.2716:50 | 84 | |
Caper | 24.09.2602:42 | 147 | |
낡은기계 | 24.09.2301:36 | 177 | |
Door | 24.09.2122:38 | 87 | |
루베콘 | 24.09.2108:35 | 173 | |
에잉 | 24.09.2022:16 | 373 | |
밤가시 | 24.09.1910:03 | 183 | |
SUNWAYFOTO | 24.09.1822:20 | 199 | |
Nelson | 24.09.1815:34 | 362 | |
sebali | 24.09.1814:34 | 353 | |
Panictosh | 24.09.1813:37 | 177 | |
SUNWAYFOTO | 24.09.1801:27 | 222 | |
그냥인간 | 24.09.1719:17 | 112 | |
dlraud | 24.09.1620:36 | 234 | |
Nelson | 24.09.1618:45 | 181 | |
아스타틴 | 24.09.1612:07 | 77 | |
lesmi | 24.09.1522:02 | 139 | |
윤수꾸하하 | 24.09.1323:56 | 191 | |
뚜비 | 24.09.1319:18 | 200 | |
Steer | 24.09.1200:33 | 168 | |
상큼버터 | 24.09.0918:08 | 213 | |
인터찹 | 24.09.0717:13 | 945 | |
서재희 | 24.09.0711:07 | 1437 | |
시습이 | 24.09.0113:39 | 1247 | |
블루 | 24.08.3022:44 | 475 | |
lesmi | 24.08.2911:20 | 415 | |
김덕뱀 | 24.08.2823:04 | 224 | |
그냥구름 | 24.08.2517:14 | 281 | |
Panictosh | 24.08.2218:42 | 251 | |
YouPick | 24.08.2022:45 | 125 | |
윤수꾸하하 | 24.08.2018:52 | 132 | |
HopeMan | 24.08.2012:14 | 208 | |
Panictosh | 24.08.1913:41 | 182 | |
YouPick | 24.08.1509:07 | 433 | |
Panictosh | 24.08.1518:04 | 345 | |
hackillious | 24.08.1514:14 | 141 | |
shion | 24.08.1420:32 | 117 | |
인터찹 | 24.08.1418:19 | 103 | |
Panictosh | 24.08.1217:23 | 375 | |
오디세이 | 24.08.1112:07 | 122 | |
동집 | 24.08.1105:35 | 238 | |
동집 | 24.08.1102:48 | 145 | |
유튜브 | 24.08.1019:03 | 153 | |
유튜브 | 24.08.0909:14 | 294 | |
Direct | 24.08.0901:18 | 256 | |
Panictosh | 24.08.0809:46 | 152 | |
인터찹 | 24.08.0801:41 | 124 | |
mac니망 | 24.08.0615:24 | 160 | |
페러 | 24.08.0615:10 | 144 | |
페러 | 24.08.0600:03 | 119 | |
bl | 24.08.0522:08 | 78 | |
Sequoia | 24.08.0410:04 | 257 | |
Panictosh | 24.08.0320:43 | 88 | |
yeojun | 24.08.0310:01 | 110 | |
yeojun | 24.08.0217:46 | 312 | |
oreo | 24.08.0214:44 | 112 | |
yeojun | 24.08.0214:07 | 271 | |
빅서로가 | 24.08.0118:45 | 304 | |
itstory | 24.08.0118:28 | 188 | |
oreo | 24.08.0115:38 | 81 | |
동집 | 24.07.3122:15 | 166 | |
류가파 | 24.07.3121:42 | 248 | |
마요네즈 | 24.07.3109:23 | 265 | |
동집 | 24.07.3012:52 | 99 | |
동집 | 24.07.2912:11 | 459 | |
인터찹 | 24.07.2901:06 | 309 | |
인터찹 | 24.07.2623:40 | 947 | |
찡준 | 24.07.2611:52 | 93 | |
psychyyy | 24.07.2503:18 | 591 | |
wnsks | 24.07.2502:19 | 145 | |
아키나리 | 24.07.2422:44 | 235 | |
페러 | 24.07.2313:55 | 129 | |
피아노맨 | 24.07.2216:20 | 211 | |
페러 | 24.07.2215:11 | 466 | |
인터찹 | 24.07.2113:23 | 208 |
ACPI 에서 Mac OS 와 Windows 에서 수행할 내용을 SSDT 를 사용하여 If 문과 필요한 경우 Else 문까지 사용하여 분리해야 합니다.
주로, _STA 와 If (_OSI ("Darwin")) 구문을 사용하여 패치합니다.
여기에서, Else 문을 사용하는 경우로는 Mac OS 뿐만 아니라 Windows 에서도 필요로 하는 OEM DSDT 의 일부 내용을
SSDT 로 Override 하기 위해서 ACPI Rename 패치를 적용한 후에 그 Object 를 Else 문에서 Return 하는 것을 예시로 들 수 있습니다.
_STA 에 대한 내용은 아래의 Tip 글을 참고해주세요.
https://x86.co.kr/tip/3770221
제가 작성한 아래의 설치 후기글에서 5. 안정화 단계의 내용도 참고해보세요.
https://x86.co.kr/mymac/5003460
예시를 들어 설명하자면 Mac OS Catalina 10.15 버전부터는 EC Device 가 인젝션되어 있어야 부팅이 가능합니다.
그래서, Fake 의 EC Device 를 인젝션하는 SSDT-EC-USBX.aml 을 사용합니다.
그런데, Windows 에서는 SSDT-EC-USBX.aml 의 패치 내용이 적용되지 않도록 _STA 와 If (_OSI ("Darwin")) 구문을 사용합니다.
_OSI 가 Darwin 이면 0x0F 를 반환하고 그렇지 않으면 Zero 를 반환합니다.
_STA Method 에서 Return (Zero) 를 반환하는 것은 해당 Device 를 비활성화하겠다는 의미입니다.
즉, Mac OS 로 부팅하면 EC Device 를 활성화하고 Windows 로 부팅하면 EC Device 가 비활성화됩니다.
Intel 300 시리즈의 PMC 및 NVRAM 과 관련된 SSDT 에서도 다음과 같이 적용할 수 있습니다.
추가로, _STA 가 MethodObj 형식이 아닌 IntObj 형식으로 정의되어 있어도
Name (_STA 직접 MethodObj 형식으로 수정하여 패치해도 됩니다.