蘋果在 Yosemite 中停止對第三方 SSD 的 TRIM 支持,大家怎麼看?

毫無預告:OS X Yosemite停止支持第三方 SSD_網易數碼
Yosemite 中停止對第三方 SSD 的 TRIM 功能的支持,導致部分用戶使用第三方 SSD 作為引導驅動盤和使用 TRIM 功能無法啟動的問題,大家怎麼看?


是說Apple應允許對藉由Thunderbolt接入的SSD提供Trim支持才對。
至於原廠機載硬碟,若是停止TRIM支持的話,也是遺憾。

這裡的問題是,OSX不是在「禁止你使用第三方SSD」,而是說OSX為了提高內核安全性,強制啟用了Kext Signing系統。// by @可可蘇瑪

和WIN7x64如出一轍。
Apple接下來恐怕得和各大SSD廠商商量Trim合作的事情,
不然的話Apple有變成歐盟提款機的嫌疑。

P.S.: 我有個基於三星830的Thunderbolt SSD,裡面有備用系統,我用著沒發現有什麼問題。


1.這裡的問題是,OSX不是在「禁止你使用第三方SSD」,而是說OSX為了提高內核安全性,強制啟用了Kext Signing系統


Kext就是Kernel Extension啦。以OSX的內核架構,驅動都是以kext方式載入的。相當於是Windows平台下的驅動。與驅動類似,kext可以獲得非常高的許可權。

假如說有這樣一個惡意的kext/驅動入了你的系統,那麼可以對系統造成非常嚴重的傷害。


怎麼辦呢?

Windows 8的做法就是啟用驅動數字簽名驗證。只有正規的驅動可以載入到系統中,而惡意驅動在默認情況下是不能的。如果非要安裝未簽名的驅動,用戶必須強制禁用數字簽名驗證才行。


而OSX也是如此(wow such copycat very cute) ,新版本里加入了強制性的kext數字簽名認證,沒簽名的kext一律不載入。

順手就誤傷了Trim Enabler。


2.Trim Enabler 是啥?

這貨是OSX一貫的腦殘政策下、開發者和用戶反抗蘋果暴政的作品。。。

OSX從很早之前就開始對第三方SSD採取排擠政策。從最早的支持TRIM到後來的多個大版本(我有印象的是10.6版本至今)默認不支持第三方SSD的TRIM,誰都知道這是為啥好么。做個TRIM支持對蘋果來說,難?

//

樓上ibuick爺對Enabler作者和用戶大放嘲諷,您有錢,您就是任性,且不說kext cert根本不是您說的那麼好拿,尤其是像給第三方SSD開啟Trim這種違逆蘋果意願的情況;也不說SLC SSD和蘋果賣給你的MLC是什麼價格;但是吧您有點還真就搞錯了,Mac可從不是「拆機就沒保修」。起碼以我自己的Mac和帶人買的幾台Mac來看從來沒這種規定。如果您有證據表明Mac「拆機就沒保修」,我倒願意擦亮狗眼好好看看。

//

TRIM對SSD當然重要了。如果你平常保持良好的Mac使用習慣,別沒事去麥芽地下幾個盜版軟體,那你升級下Trim Enabler,順手關了kext signing,也不會有太大影響的。


我今天請 可可蘇瑪 將解除黑名單,是我想對他的回答有一個回應,我發現他並不是我當時所說的外行或無腦黑,我今天來說說這個保修問題。以及對他的回應中的其他想法,以前回復的內容不刪除,有言語不當之處,給 可可蘇瑪 道歉。

1,對於保修,

Apple 只對於有限機型的部分組件,允許讓用戶進行 DIY 操作,包括 http://support.apple.com/zh-cn/HT1270?locale=zh_CN 。對於非列表中的機器,雖然你能拆,但是不給予保修。我來詳細說下這個,

對於 Apple 讓你換的,你可以換,但是你自己換的東西是沒有保修的。

對於 Apple 沒有明確說讓你換的東西,你可以換,但是出現的任何連帶問題,Apple 是不負責的。你可以說有的保修點或者 Apple Genius 會給你修,但是這是 Apple 的客戶至上理念的問題,所以一般來說他們就閉著眼睛讓你過去了,但這不代表,他不能拒絕你。如果特別較真的一個維修人員,只要發現你的機器有未經授權的改動,不論這個改動是否跟你當前問題有關係,可以拒絕給你保修,參見

http://www.apple.com/legal/warranty/products/mac-warranty-china.html

本保證不涵蓋哪些內容?

本保證不適用於任何非Apple品牌硬體產品或任何軟體(即便與Apple硬體一同包裝或出售)。Apple以外的生產商、供應商或出版商可向您提供了其各自的保證,請您與其聯繫以獲得進一步的信息。由Apple分銷的Apple品牌或非Apple品牌軟體(包括但不限於系統軟體)不在本保證內,除非該等軟體影響Apple產品的正常運行。請閱讀軟體中所附的許可協議,以詳細了解您對軟體的使用權利。Apple不保證Apple產品操作時不受干擾或沒有錯誤。對於因未能遵守有關Apple產品使用說明而造成的損害,Apple不承擔責任。

本保證不適用於:(a)消耗零部件,如電池或保護膜等隨時間推移而耗損的零部件,除非是因材料或工藝缺陷而發生的故障;(b)外觀表面損壞,包括但不限於刮痕、凹痕及埠破膠;(c) 因與其他產品共同使用導致的損害;(d)因事故、濫用、誤用、與液體接觸、火災、地震或其他外部原因導致的損害;(e)因未遵守Apple公布的指南操作Apple產品造成的損害;(f)因任何Apple代表或Apple授權服務商以外之人提供服務(包括升級和擴展)而造成的損害;(g)未經Apple書面許可而進行修改以更改其功能或容量的Apple產品;(h)因Apple產品正常磨損或正常老化導致的缺陷,或者 (i) 任何序列號被清除或塗抹的Apple產品。

你可以看 d,e,f,g 條款,所以如果你有授權之外的改裝,理論上 Apple 完全可以根據條款拒絕給你保修。

2, 關閉 Kext Signing,

我認為非常危險,當然,你也可以認為不危險。對於普通用戶來說,他們非常難以分辨何為危險。OS X 的問題比 Windows 只多不少。不要說一個 Kext,我前幾天剛發現了一個系統調用,也一樣可以導致 OS X Kernel Panic,而且這個問題還是非常危險的,涉及 棧溢出 和 用戶態、內核態 虛擬內存 校驗邏輯問題。所以對普通用戶,坑太多了。拿 Trim Enabler 來說,很多用戶並不是官網下載,這時候就非常危險了,我可以偽造一個 kext,然後你又關閉了 Kext Signing,這時候導致的問題你可想而知。

3,你所說的 獲取 Kext 簽名認證 是非常困難的,Trim Enabler 很難獲取。這個觀點我認同,而且我覺得它幾乎沒有機會獲取,所以我收回我原帖中關於可以容易的獲取這個描述。

4,如何折衷,對於普通用戶,我的建議還是用原裝,定製。因為以後的機型基本上你可以動手的機會為零。所以這也表現了 Apple 對於硬體的收緊。其實,三方 SSD 並不是都需要 Trim Enabler 才能開啟 Trim。一些特殊的 OEM 型號,OS X 原生支持。我買過一批 OEM 版本(非 Apple OEM) 的三星 830,直接裝到 OS X 里是支持 Trim 的。

好了,我的話完了,多謝。

=======================================================================
看了 可可蘇瑪 這個評論讓我還是 呵呵,,

竟然先拉黑後再評論,我也是醉了,,,,

有關保修條例的問題,,我實在不想跟你這外行掰扯,保修條例你沒弄明白,第二是很多 Genius 懶得理你這茬,要我去,一眼看出你換過,我肯定給你拒絕,保修條例都有寫。理論上不讓你換東西的機型你換了,我就可以以你用未授權的硬體導致機器問題拒保,你明白么?當然,你那個老舊機型上是能換硬碟的,Apple 還給你指引了,這個我知道,所以吧,搞清楚框架再說話才是最重要的。

給你個人生忠告:「不要把你那種個人的經驗當作條例」

我還是那句話,為了 TRIM 關閉 Kext Signing 是不值得的,特別是天朝這種環境,好多用戶沒有防備心理,稍微做點手腳給你放上個不知所謂的 Kext,那你就只有等死,這種東西的破壞力可不是一般軟體比得了的。

買 Mac 不買 Windows PC 的一個原因是,少折騰好好乾活,可是很多人就非要折騰。折騰就折騰吧,我管不了,也沒法管。如果你折騰所花去的時間成本你能接受,那你就折騰。我也沒必要嘲諷誰,你也沒必要什麼什麼都拿任性說話。很幼稚,很沒意思。

我想說的是,想折騰就折騰,但是你折騰的時候應該自己去承擔可能的後果。別你折騰完了再跑來怪別人就不好了。我這輩子就討厭這樣拎不清的人,當然了,也包括你。

最後希望你和你的 Mac 一切安好,,,,

===========================================

這應該不是個新聞,我也不知道為何會突然跳出來,搞的好像是 Apple 突然間改變策略一樣。

事實上,Yosemite 開始,Kext 必須要求代碼簽名,也就是說,這個問題,從 DP 1 開始一直到正式發布,共約5個月的時間 (我忘了 DP1 的時候是否開啟了),所以,突然間被翻出來熱炒,一定有什麼不可告人的目的。

========================================================================

1. 喜大普奔。
2. 本來么,就不應該往系統塞來源不明的 kext,從 Yosemite 開始強制 kext code signing 我覺得是好事啊,Windows 不穩定的一個很大問題就是出在不知所謂的三方驅動上,所以這條強制要求我覺得沒什麼,很正常。
3. SSD 可以去獲得開發 Kext 的 Cert,然後用於簽名 Kext 然後被內核正常載入,這是正路。那麼我所想的就是,Trim Enabler 的作者為啥不去?
4. Trim Enabler 也挺逗的,現在通過關閉 Kext Signing 可以啟動,但是這樣以來用戶就裸奔,為了一個 TRIM 不至於把自己暴露到如此危險之中。
5. 本來 Mac 就是個硬體平台封閉的玩意兒,有的允許你使用三方 SSD,有的不允許,另外如 iMac 你拆了機理論上就沒有保修了。所以本來 Apple 搞這個沒問題,但是不知道哪兒跳出來這麼多人指責。看來,拆機器的不少啊。
6. 我的建議是,要不就買 BTO 的機器用著省心,要不就去買 SLC 的 SSD,Trim 不 Trim 的也無所謂了。08年的時候,我沒開 Trim 的 X25-E 64*2 照樣打的那些開了 TRIM 的 MLC 滿地找牙。

如果你不明白啥叫 kext code sign,看以下輸出,第一個是系統自帶的,第二個是三方軟體自帶的,

codesign -dvvv /System/Library/Extensions/AMD9000Controller.kext/Contents/MacOS/AMD9000Controller
Executable=/System/Library/Extensions/AMD9000Controller.kext/Contents/MacOS/AMD9000Controller
Identifier=com.apple.kext.AMD9000Controller
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=27481 flags=0x0(none) hashes=1367+3 location=embedded
Hash type=sha1 size=20
CDHash=aa46e84bdaacaaa8b0a70a360030fecb6d57a779
Signature size=4097
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Info.plist entries=21
TeamIdentifier=not set
Sealed Resources version=2 rules=15 files=1
Internal requirements count=1 size=80

Buicks-Mac-Pro:~ ibuick$ codesign -dvvv /Library/Extensions/Boom2Device.kext/Contents/MacOS/Boom2Device
Executable=/Library/Extensions/Boom2Device.kext/Contents/MacOS/Boom2Device
Identifier=com.globaldelight.driver.Boom2Device
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=500 flags=0x0(none) hashes=17+3 location=embedded
Hash type=sha1 size=20
CDHash=2045cbba2a83956be80ac98e6ae648c88fd73f6a
Signature size=8607
Authority=Developer ID Application: Global Delight Technologies Pvt. Ltd (U4MRT5KL8R)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Nov 11, 2014, 8:04:59 PM
Info.plist entries=20
TeamIdentifier=U4MRT5KL8R
Sealed Resources version=2 rules=12 files=1
Internal requirements count=1 size=228


我的老MBP老早自己換了 SSD,升到 Yosemite 好好的呀。


同事的機器,SSD 是三星的。Trim正常。請其他優勝美地用戶驗證下。雖然我不喜歡Macbook pro 但我更討厭謠言。特地要來截圖。-------更新-------
那些說關了設置的,我真的不想打你們臉。 有言在先,不要把我歸結為果粉。我的手機電腦通通是windows 8.1。
------在更新-------
至於Trim Enabler軟體已經更新以禁用 kext signing。如果蘋果真的想禁用第三方SSD,我感覺蘋果有可能會在下一版本封殺它。


身為果黑,也有點看不下去了。
這種事情很正常的。
Windows 也有要求驅動簽名的吧,對於不可信任的第三方驅動也是要求你重啟之後進入特定的模式才能安裝的。
為了保證系統穩定運行,這根本沒有什麼可以指責的地方

更何況,Mac的 OS X 是一個運行在封閉硬體上的系統,要求你們為自己在他的封閉硬體上做出改動而付出相應的代價。這完全是說的上合情合理,甚至說得上是非常仁慈了。
(比方說,同樣是運行在封閉硬體上的三爽一堆手機,連在軟體層面上 root 一下都要算你自動失去保修。和爽爽爽比起來,蘋果在這一問題上的政策合理、正常、可以接受而且仁慈)
蘋果也不是無可指責,對開發者的嚴格也是炫酷到飛起來。
============
最後,我希望果粉和果黑都保持理智,不要用一貫的印象去套用產品,好就是好,不好就是不好,實事求是,我以為是最好的。


新版的 Trim Enabler 就可以支持,所以不用擔心。升級前記得先關掉 Trim 就行。
http://www.cindori.org/trim-enabler-and-yosemite/
不過原理是直接全局禁用了 kext signing,這是類似於 Win8 強制驅動簽名的安全設置。
所以蘋果未必是刻意為之。至於關 kext signing 的風險還是存在的,雖然我的 Hackintosh 沒五國過。


真是的,WIN7 64bit的安全策略也是不承認非簽名驅動的。


有什麼可以大驚小怪的


不是不支持ssd,是不支持老版本的trim enabler了……升級安裝Yosemite 前務必先在Trim Enabler中把Trim關掉,否則可能無法進入系統!再卸載老版本的Trim Enabler,
安裝Trim Enabler 3.2.5 破解版即可開啟
這種問題…應該上問答啊………


反正蘋果怎麼做果粉都能理解的,而且還會有不少強烈支持的。


既然問看法,這個 Kext signing是 Yosemite 才強制的,之前 Mavericks, ML 以及之前的版本都沒有強制。從這一點說,你在 Yoemite 下禁用 Kext signing 相當於把系統的安全性拉到和之前 Mavericks 相當的水平。這i 鱉殼 向來一臉橫肉,毫不待見。您要是真換了第三方 SSD,Trim 是很有必要的,這是硬體相關的保護,也是性能和壽命上的提升。Kext singing 只是系統生態的保護。孰輕孰重,自個兒掂量。


Late 2011 MBP, OSX 10.10, 剛換的鎂光的SSD, 用的是Trim Enabler打開的Trim. 沒有問題.至於【目前 Trim Enabler軟體已經更新以禁用 kext signing,】不了解,不懂,可能也不需要。


就一句命令,我黑蘋果,照樣能開啟


這應該是誤解吧?剛給mac mini 換了ssd,一句命令搞定trim。


推薦閱讀:

總有人問我為什麼不買 Air,該如何優雅地回應?
新一代iPhone發布後現貨要好幾個月才能原價買到,為什麼沒人說耍猴?

TAG:macOS | 蘋果公司AppleInc | 固態硬碟 | 如何看待評價X | OSXYosemite |