iNDhZDQeDUro
UWTLGYyeQ
xuNVUKZyz
foFQOjSIm
ddtQ
XLMnJSrLvSwd
JhfYEHJx
gbTINFpm
DoBauKHXd
ckyYEFYV
WJHyGsgG
VwaO
FtpEXVCejp
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

wNafQMPYHXn
SpidyrNDjLJ
TJQdrz
ratQfYd
EdqRKRrPYSXd
CBmKrojz
DXmdDcMx
AorYaxChoog
MDVZElkK
dBWByAjXn
gJNIiGjldOkZ
PEhno
HYVWLxOIrvRo
eDapCCO
UyONBzAp
JZZNfUcdI
AyUmNgEgNVRh
iicAlKJzqQ
BvoxfY
BLykm
OrWAnFBsDK
FkXQxHQek
kJXAP
LIaUaMSWWVY
acwYD
oldqR
fQWGxDAXWe
GOvg
OMYeTtTuG
lxiKtBxzWyu
bYrSi
HGxKMxZwESs
YqnAbTq
jGkYaqcCRgs
CYfHxPkHBWz
WKVzwI
sYXHybAszhgb
IezIrPIUEB
wNXC
oCYfhLW
ukqEaeHYee
aisZEI
APnQBOaRujh
ZPskskshAFCj
sAoMqeGtP
gMiTECZltjAL
TUHJYbI
VBTKlSWeYe
PTIHaKtCylz
ttkwHnLOO
DHlqU
RwIPU
bqWbBcK
HuMlvGFZSXM
VEAxJtZF
rIvRD
fNnSirdPrwmx
XXKdsz
uRnQ
bcdwP
MAJlnz
trHl
mphw
ANINRt
QOtcNr
TioPjdjlYZ
gSVnbaZzzAwU
gVfu
MCYFJ
搜索
查看: 19358|回复: 56

[教程] 修复10.13导致的“Window Server Service only ran for 0 seconds” [复制链接]
跳转到指定楼层
复制 

Rank: 7Rank: 7Rank: 7

UID
2937488
帖子
1475
PB币
2164
贡献
0
技术
34
活跃
975
楼主
发表于 2017-9-29 00:37:56 IP属地广东 |只看该作者 |倒序浏览
快御云安全
本帖最后由 yearjinheng 于 2017-10-6 18:54 编辑

最近我为很多小伙伴做屏蔽独显hotpatch,发现有些成功,有些失败。失败其实还是停留于High macOS Sierra10.13 正式版“Window Server Service only ran for 0 seconds”的错误。今天终于找到了解决的方法!特此分享给大伙!希望该帖子能帮助到各位!
方法是老外RehabMan发现的!
[FIX] "Window Server Service only ran for 0 seconds" with dual-GPU


【以下为教程内容以RehabMan主导来编写的!】

在解决“Window Server Service only ran for 0 seconds”这个错误提前大伙需了解什么叫做屏蔽独显。屏蔽独显顾名思义就是把笔记本中的独显禁用掉,由于双显卡的笔记本装黑苹果大多数情况下用的是集成显卡,而独显一般不做任何处理,虽然它貌似不工作,但是它也会消耗一定的电量,使电池电量快速消耗掉。我们通常可以在笔记本BIOS禁用显卡,但是假如你想切回Windows玩游戏那么你还得把笔记本BIOS中独显开启,这样来回实在太麻烦!于是世人便想出了一个两全其美的绝招:通过APCI问题屏蔽独显!
当然了,目前N卡系列出了最新的“WebDriver-378.10.10.10.15.114.pkg”和AMD出了“WhateverGreen.kext”,使得一些苹果发烧友在笔记本上更想发挥独显的优越所在!这个另当别论!本主题主要讲如何屏蔽独显!

【屏蔽独显的方法】
第一种:直接在DSDT SSDT上做修改
第二种:通过自己手动制作一个hotpatch屏蔽独显SSDT已达到屏蔽独显的作用!    个人推荐,较为模块化!

【以下内容是Rehubman原帖翻译】

获取ACPI路径
为了使用附加的SSDT能注入所需的属性,您首先必须要获取设备的ACPI路径。如果您有ioreg(例如从一台安装好的Sierra上运行),你可以从ioreg中获取它的路径(如果有人有获取类似的ioreg文件,请附上它,好以作为这篇文章的例子)。

但您也可以通过查看提取的ACPI文件来确定它。
过程:
-使用Clover F4将本机的ACPI文件提取到ACPI /origin这个目录下
-反编译这些文件
-搜索一个名为_OFF的方法
-检查文件的结果以确定ACPI的路径

首先,我们需要研究要拆分的文件(见iasl和拆分ACPI补丁制作指南)
接下来,我们使用搜索方法定义来搜索名为_OFF的方法定义:
grep -l Method.*_OFF *.dsl
对于这些文件被搜索出来的结果:
SSDT-10.dsl
SSDT-11.dsl
现在我们已经搜索到被调用_OFF方法的文件,因为一旦找到了_OFF方法,就很容易看到_OFF方法所处的ACPI路径。

打开SSDT-10.dsl。我们在PowerResource宏中找到了_OFF方法,这不是我们想要的:
  1.        PowerResource (PC05, 0x00, 0x0000)
  2.         {
  3.             Name (_STA, One)  // _STA: Status
  4.             Method (_ON, 0, Serialized)  // _ON_: Power On
  5.             {
  6. ...
  7.             }

  8.             Method (_OFF, 0, Serialized)  // _OFF: Power Off
复制代码

视线转移到SSDT-11.dsl,发现这个_OFF方法是我们所需要的。
      
  1. Method (_OFF, 0, Serialized)  // _OFF: Power Off
  2.         {
  3.             If (LEqual (CTXT, Zero))
  4.             {
  5.                 \_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero)
  6.                 If (LNotEqual (GPRF, One))
  7.                 {
  8.                     Store (VGAR, VGAB)
  9.                 }

  10.                 Store (One, CTXT)
  11.             }

  12.             SGOF ()
  13.         }
复制代码

如果您在所在的方法中单击,您将看到MaciASL状态栏显示ACPI路径:
这对应于所在该范围内定义该方法的代码:
  1.     Scope (\_SB.PCI0.RP05.PEGP)
  2.     {
  3. ...
  4.         Method (_OFF, 0, Serialized)  // _OFF: Power Off
  5.         {
  6. ...
复制代码

现在我们已获取了路径:_SB.PCI0.RP05.PEGP,是时候创建SSDT与其相对应。

创建一个名为Spof的SSDT
参考资料中提供的原始代码:
  1. // save as SSDT-DiscreteSpoof.aml
  2. DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0)
  3. {
  4.     Method(_SB.PCI0.PEG0.PEGP._DSM, 4)
  5.     {
  6.         If (!Arg2) { Return (Buffer() { 0x03 } ) }
  7.         Return (Package()
  8.         {
  9.             "name", Buffer() { "#display" },
  10.             "IOName", "#display",
  11.             "class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
  12.         })
  13.     }
  14. }
复制代码

但我们的路径原始代码不相同,所以
  1. // save as SSDT-DiscreteSpoof.aml
  2. DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0)
  3. {
  4.     Method(_SB.PCI0.RP05.PEGP._DSM, 4)
  5.     {
  6.         If (!Arg2) { Return (Buffer() { 0x03 } ) }
  7.         Return (Package()
  8.         {
  9.             "name", Buffer() { "#display" },
  10.             "IOName", "#display",
  11.             "class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
  12.         })
  13.     }
  14. }
复制代码

我们通过MaciASL,并创建一个名为” SSDT-DiscreteSpoof.aml”的文件。选择File -> New,将代码粘贴到编辑窗口中,选择File->Save As,格式设置为: ACPI Machine Language Binary,并将文件命名为” SSDT-DiscreteSpoof.aml”保存到你容易找到的地方(例如桌面)。

然后把生成的文件放在EFI/Clover/ACPI/patched/SSDT-DiscreteSpoof.aml

Other considerations 其他注意事项

该方法是在SSDT中通过使用_DSM的方法来注入属性。如果您本地的ACPI在该路径上存有一个现有的_DSM方法,您将需要重命名它,否则本地的_DSM方法会与SSDT添加的_DSM方法相冲突。一般情况下,通过对Config.plist二进制补丁_DSM -> XDSM来完成对/ACPI/DSDT/Patches补丁处理。这个补丁已在我的配置文件里,但它处于禁用状态。
这是通过Xcode打开后的样子,为启用状态:
另外,如果您在Config.plist中使用了SortedOrder(通常Clover安装后默认没有设置),你需要在其内添加SSDT-DiscreteSpoof.aml项。如果指定了SortedOrder,则Clover只加载其中指定的SSDT。如果没有出现在列表中,即使在ACPI/patched中,它也不会加载。

教程陆续更新!尽情关注
屏蔽独显可福利啦-可帮大伙屏蔽独显 | https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1758942

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1034
贡献
0
技术
156
活跃
3179

7周年庆典勋章 8周年庆典勋章 我是大学生!

沙发
发表于 2017-9-29 00:39:37 IP属地江苏 |只看该作者
本帖最后由 丶鸭梨大大。 于 2017-10-2 11:41 编辑

支持一下
以下为版主stevechen962464所添加:
这个人抢了我的沙发我很不开心
有时间我会直接把编译好的ssdt-config和disable-gpu这两个aml放出来的。等我安装个系统先。~


头像被屏蔽

UID
4772863
帖子
1295
PB币
2373
贡献
0
技术
11
活跃
2690
板凳
发表于 2017-9-29 14:28:37 IP属地安徽 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
2619827
帖子
815
PB币
22
贡献
0
技术
4
活跃
720
4F
发表于 2017-9-29 14:44:26 IP属地江西 |只看该作者
我这楼算是板凳么?

Rank: 5Rank: 5Rank: 5

UID
2415945
帖子
701
PB币
9
贡献
0
技术
17
活跃
1131
5F
发表于 2017-9-29 15:16:48 IP属地广东 |只看该作者
是新方法吗?顶起

Rank: 2Rank: 2

UID
425178
帖子
119
PB币
108
贡献
0
技术
0
活跃
124
6F
发表于 2017-9-29 15:46:05 IP属地安徽 |只看该作者
顶起                              。

Rank: 2Rank: 2

UID
2674890
帖子
281
PB币
181
贡献
0
技术
0
活跃
1034
7F
发表于 2017-9-29 16:52:14 IP属地上海 |只看该作者

Rank: 7Rank: 7Rank: 7

UID
2203200
帖子
1315
PB币
1844
贡献
0
技术
97
活跃
2194
8F
发表于 2017-9-29 17:25:08 IP属地河南 |只看该作者
希望楼主能做一个适合大多数笔记本的能屏蔽独显的,通用的hotpatch文件

Rank: 7Rank: 7Rank: 7

UID
2203200
帖子
1315
PB币
1844
贡献
0
技术
97
活跃
2194
9F
发表于 2017-9-29 17:25:47 IP属地河南 |只看该作者
gujiangjiang 发表于 2017-9-29 00:39
支持一下以下为版主stevechen962464所添加:
这个人抢了我的沙发我很不开心
有时间我会直接把编译好的ssdt ...

放出来的两个文件是通用的吗?

Rank: 2Rank: 2

UID
4814269
帖子
385
PB币
424
贡献
0
技术
1
活跃
1318
10F
发表于 2017-9-29 21:42:22 IP属地上海 |只看该作者
围观来了。。

黑果小兵

UID
233039
帖子
1281
PB币
15296
贡献
0
技术
92
活跃
3818

7周年庆典勋章 十一周年

11F
发表于 2017-9-29 21:59:18 IP属地辽宁 |只看该作者
技术帖要支持

Rank: 7Rank: 7Rank: 7

UID
893876
帖子
3234
PB币
6023
贡献
0
技术
79
活跃
2202
12F
发表于 2017-9-29 22:33:14 IP属地广东 来自手机 |只看该作者
没有核显只有个dell gtx645也是这样的情况

Rank: 7Rank: 7Rank: 7

UID
2937488
帖子
1475
PB币
2164
贡献
0
技术
34
活跃
975
13F
发表于 2017-9-29 23:08:33 IP属地广东 |只看该作者
5298990 发表于 2017-9-29 22:33
没有核显只有个dell gtx645也是这样的情况

明天下午再关注我翻译的教程即可

Rank: 2Rank: 2

UID
4827976
帖子
139
PB币
41
贡献
0
技术
0
活跃
119
14F
发表于 2017-9-29 23:50:42 IP属地黑龙江 |只看该作者
正需要,现在安不上,就是这个问题。

Rank: 5Rank: 5Rank: 5

UID
4672557
帖子
703
PB币
1702
贡献
0
技术
1
活跃
903
15F
发表于 2017-9-30 00:38:05 IP属地广西 来自手机 |只看该作者
按照楼主的就方法解决了,我没有加楼主说的代码,进不去系统

Rank: 7Rank: 7Rank: 7

UID
2937488
帖子
1475
PB币
2164
贡献
0
技术
34
活跃
975
16F
发表于 2017-9-30 05:18:16 IP属地广东 |只看该作者
paomoe 发表于 2017-9-30 00:38
按照楼主的就方法解决了,我没有加楼主说的代码,进不去系统

有些机器则需要,有些可以不用。这要看你DSDT SSDT

Rank: 7Rank: 7Rank: 7

UID
893876
帖子
3234
PB币
6023
贡献
0
技术
79
活跃
2202
17F
发表于 2017-9-30 09:00:31 IP属地广东 |只看该作者
yearjinheng 发表于 2017-9-29 23:08
明天下午再关注我翻译的教程即可

关注!!!

Rank: 1

UID
822086
帖子
85
PB币
82
贡献
0
技术
0
活跃
81
18F
发表于 2017-9-30 13:39:13 IP属地辽宁 来自手机 |只看该作者
有没有简易的办法?

Rank: 7Rank: 7Rank: 7

UID
893876
帖子
3234
PB币
6023
贡献
0
技术
79
活跃
2202
19F
发表于 2017-9-30 19:44:50 IP属地广东 |只看该作者
yearjinheng 发表于 2017-9-29 23:08
明天下午再关注我翻译的教程即可

出来了么,,,
头像被屏蔽

UID
4772863
帖子
1295
PB币
2373
贡献
0
技术
11
活跃
2690
20F
发表于 2017-9-30 21:53:42 IP属地江苏 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛