當Mac升級到Catalina時,蘋果在硬碟裡施了點魔法
當Mac升級到Catalina時,蘋果在硬碟裡施了點魔法

當我升級macOS Catalina後,卻發現一件我煩心的事:

用Alfred搜尋時,不少應用程式都會重複出現。當我按照兩個應用程式顯示的路徑去查看,卻發現了讓我不解的現象:Macintosh HD/Applications路徑一直都是應用安裝的預設路徑,沒有問題。但這個System/volumes/Macintosh/Applications文件夾從何而來?

Catalina-1.jpg
Alfred中重複出現的應用程式(圖片來源:alfredforum.com)
圖/ 少數派

更加奇怪的是,仔細看顯示的路徑,從Macintosh HD盤符開始的路徑,居然又回到Macintosh HD,彷彿是陷入了自我循環。

Catalina-2.jpg
循環出現的 Macintosh HD
圖/ 少數派

想弄清這兩個問題,就要回到在Catalina升級時,去看看硬碟裡發生的事情。

1

一切要從macOS的系統文件的安全性開始講起。

從El Capitan開始,Apple工程師給macOS加上了「系統完整性保護」技術。這就像給書櫃的某些抽屜加上了鎖,沒有鑰匙就拿不到裡面的文件,這樣系統文件就不會被輕易篡改。

不過有鎖就有鑰匙,只要獲得了root權限,惡意程式還是能讀寫系統文件。

到了Catalina,Apple工程師想了一個更徹底的辦法:那就是將所有系統文件從原本的文件系統中分離出來,組成獨立的文件系統,並且把這個文件系統從設計上設定為只能讀取,不能寫入。

就好像買了一個新書櫃專門用來放重要文件,而且這個書櫃壓根就沒有可以打開的地方,這樣系統文件就很難被惡意修改。

Catalina-3.jpg
一塊硬碟中可以創建多個邏輯捲(圖片來源:apple.com)
圖/ 少數派

具體要如何實現呢?首先要感謝macOS High Sierra中開始使用的新文件系統——APFS,它可以輕鬆地在一塊磁碟中創建多個邏輯捲。

在安裝Catalina時,會在磁碟中新建一個Macintosh HD邏輯捲,並且將原來的邏輯捲改名為Macintosh HD Data。新建的Macintosh HD邏輯捲就是專用來存放系統文件的「書櫃」,整個邏輯捲都是只讀的。Macintosh HD Data就像之前一樣,讓用戶自由地讀寫數據、安裝應用。

Catalina-4.jpg
原宗卷被已經被改名為Data(圖片來源:apple.com)
圖/ 少數派

創建好Macintosh HD之後,Macintosh HD Data中的系統文件就會被剪切到系統卷Macintosh HD,組成獨立的文件系統。

Catalina-5.jpg
bin 文件夾被移動到系統卷(圖片來源:apple.com)
圖/ 少數派

至此,透過分離系統文件到獨立邏輯捲的操作就完成了。無論程序在Macintosh HD Data邏輯捲對文件系統做什麼,都不會影響Macintosh HD中的系統文件。

在一塊硬碟上設置兩個文件系統,實現了Apple工程師們想要系統安全性。不過如果就此結束,可就苦了用戶和開發者們了。

2

一塊磁碟同時存在兩個邏輯捲、兩套文件系統會造成什麼問題呢?

對於用戶來說,會明顯感受到文件系統的不統一。最明顯的是在Finder中,如果不加以處理,你應該會同時看到Macintosh HD DataMacintosh HD。而且就像Windows上的不同分區,找起文件來會比單一邏輯捲麻煩得多。

而對開發者來說,問題就嚴重的多。現在所有系統文件都會被移到了Macintosh HD中,而第三方應用只能待在Macintosh HD Data。不少應用程式會依賴系統程序和文件,如果開發者不加以適配,按照原來設定好的路徑就會找不到系統文件,應用就無法使用了。這種純粹因為Apple引起的「技術債」,開發這可不會樂意花自己的時間去還。

為了讓用戶和程式將這兩個原本獨立的文件系統,當作一個統一的文件系統來使用,Apple用「卷組」和「firmlink」這兩項技術,來了一場障眼法表演。

Catalina-6.jpg
邏輯捲在硬碟中的位置(圖片來源:bombich.com)
圖/ 少數派

為了解決兩個邏輯捲的顯示問題,Apple工程師引入了「卷組」這一概念,一個卷組由一個系統卷(Macintosh HD)和一個數據卷(Macintosh HD Data)組成。數據卷會像一塊外置硬碟一樣,被掛載在 /System/Volumes 目錄下,這樣兩個文件系統就合成了一個文件系統。而在Finder邊欄中,只有Macintosh HD會顯示出來。這樣普通用戶就不會察覺到硬碟中存在著兩個邏輯捲,只有當你打開Disk Utility時,就會看到兩個邏輯捲。

Catalina-7.jpg
Disk Utility 會顯示出兩個邏輯捲
圖/ 少數派

這種程度的障眼法瞞得過普通用戶,卻瞞不過應用程式。一方面前文所說的文件路徑的問題沒有被解決,另一方面應用程式文件數量巨大,而且需要頻繁讀取,簡單的直接掛載在*/System/Volumes*目錄下,不加以處理的話,會極大地消耗電腦的硬體資源。

為了填這個坑,Apple工程師引入了firmlink技術。

firmlink是什麼呢?用Apple工程師自己的原話說,它就是數據卷與系統卷之間的「雙向蟲洞」。聽上去很複雜,其實從實際效果去看的話,是很容易理解的。

既然我們是想讓兩個系統看上去像一個完整的文件系統,那我們給數據卷中的文件在系統卷中創建一個替身,結合系統文件和替身,不就得到了一個完整且單一的文件系統了嗎?

Catalina-8.jpg
系統卷中的firm links (圖片來源:apple.com)
圖/ 少數派

這個數據卷中的文件在系統卷中的替身,就是firmlink。例如 /Users 是Macintosh HD Data中的文件夾,但它在系統卷的根目錄下有一個firmlink。所以你在硬碟的根目錄中看到的*/Users*,真實的目錄地址其實是 /System/Volumes/Data/Users/ 。如果你想知道自己Mac為哪些文件創建了firmlink,可以打開 /usr/share/firmlinks 查看。

Catalina-9.jpg
Mac 自帶的firmlinks
圖/ 少數派

當然firmlink的厲害之處,在於應用程序可以透過它,遍歷整個系統卷的文件系統。例如程序可以從數據卷中的*/System/Volumes/Data/Users/用户名/Desktop*,直接透過 /System/Users/用户名/Desktop 的路徑回到系統卷中,這樣就大大減少了不必要的資源消耗。而且從應用程式的視角去看,系統文件一直存在於它原來的位置。這樣一來,開發者完全不需要因為新的文件系統做任何適配。

利用firmlink,無論是在Finder,還是實際的文件目錄中,不管是用戶還是應用程序,都被Apple的障眼法瞞了過去,將系統捲和數據卷的文件系統當成統一的文件系統。

知道了firmlink和卷組的存在,我們終於能解釋文章開頭的問題。

3

首先,系統中並不存在兩個重複的應用程式。數據卷Macintosh HD Data負責第三方應用的安裝,所以System/volumes/Macintosh/Applications才是應用的真實目錄,而Macintosh HD/Applications只是它的firmlink。解決辦法也很簡單,在Alfred中輸入reload命令,Alfred就會恢復正常。

Catalina-10.jpg
圖/ 少數派

Macintosh HD邏輯捲在Finder中出現自我循環的現象,其實只是Finder施加的一點小魔法。

前文解釋過,Macintosh HD Data被掛載在了系統卷的*/System/Volumes目錄中,所以這個目錄中的Macintosh HD*,其實是Macintosh HD Data,只不過為了避免使用者因為不熟悉這個名字,對其誤操作(對數據卷內的文件用戶是可以寫入和刪除的!),同時也讓文件系統看上去完整,Finder將它顯示成了Macintosh HD。不信?用Terminal或者其他終端查看下,就能看到 /System/Volumes 目錄下文件夾的真實名字。

Catalina-11.jpg
圖/ 少數派

忙活了半天,Apple工程師終於可以安心,再也不會被客服追著問:這裡有Mac用戶誤刪了系統文件,要怎麼修復啊?

這項技術這麼好,用在iOS行不行啊?行啊!而且實際上,iOS上的系統文件早就被放在單獨的系統卷中保護起來了。

這下誰是Apple的親兒子,一目了然了。

參考目錄

本文授權轉載自:少數派

關鍵字: #Mac
往下滑看下一篇文章
懂保險的 AI 才有用!國泰人壽數據暨人工智慧發展部如何解開壽險業的 AI 實戰難題
懂保險的 AI 才有用!國泰人壽數據暨人工智慧發展部如何解開壽險業的 AI 實戰難題

金管會調查顯示,國內金融機構與周邊單位已有 33% 導入 AI,其中壽險業導入比例達 67%,僅次於銀行業的 87%。事實上,保險業應用 AI 的難題不在技術,真正的挑戰是要在高度監理、複雜流程與專業領域中,找到可落地的應用場景。國泰人壽數據暨人工智慧發展部走過八年、歷經三次組織定位演進,如何摸索出自己一套的 AI 轉型路徑?

國泰人壽養兵練 AI

國泰人壽數據團隊的起點,可以追溯到 2016 年成立的「客群經營部」。2018 年,隨著公司希望讓 AI 發展更具基礎架構、更具規模地展開,團隊轉型為「數據經營部」;到了 2024 年,正式成立「數據暨人工智慧發展部」,角色也從推廣,轉向更專注的技術發展。

國泰人壽-2.jpg
國泰人壽數據暨人工智慧發展部目前為一約 65 人的團隊,平均年齡 33 歲。
圖/ 數位時代

八年間,團隊的任務始終圍繞同一件事:深入業務現場,釐清痛點,再與 IT、業務、客服等單位協作,推動 AI 從研究走向實踐。國泰人壽數據暨人工智慧發展部協理莊淑儀形容,這個過程更像是傳教士的工作:「很多數據產品是由我們發想,從核保到理賠,有哪些導入機會?我們要去和各部門溝通,AI 可以協助什麼。」

國泰人壽-3.jpg
國泰人壽數據暨人工智慧發展部協理莊淑儀。
圖/ 數位時代

這樣的溝通並不容易,因為壽險業的專業門檻極高。國泰人壽數據暨人工智慧發展部首席數據分析師黃喬敬博士指出,一張保單牽涉的關係人本來就複雜:「在保險業,一張保單的銷售,涉及要保人、被保人、受益人,是多方關係,尤其在金管會的要求下,還必須兼顧模型的公平性與可解釋性。」核保邏輯、理賠判斷、業務員培訓,每個環節都有各自的專業門檻與監理要求,通用技術難以直接套用。這也是國泰人壽選擇自己養兵練 AI 的原因,唯有深度理解壽險場景,AI 才有落地的條件。

從真實需求長出來的 AI 實戰力

要讓技術模型真正為前線人員所用,數據暨人工智慧發展部團隊長期觀察業務現場,確保 AI 產出都能有效銜接既有作業流程。去年,團隊面對的挑戰,是在十三個部門提案中,篩選出值得投入的場景。莊淑儀說明,評估標準有三項:「是否能複製到多元場景?對公司有什麼效益?技術可行性?」最終六個案子出線,其中包括「AI Coach」。

AI Coach 以 AI 陪練業務員磨練銷售技巧,同步縮短培訓週期,讓業務員能更快提供專業、貼近保戶需求的服務。看見 AI Coach 的成效後,國泰人壽也將同一套模式延伸至客服中心及直效團隊,評估面向包括禮貌、問題回應、服務要點...等面向,給於評分及建議。黃喬敬博士解釋背後的難度:「以往這些評估指標是由人來判斷,現在則是要做到標準化,讓 AI 系統可以自己判斷。」今年一月上線後,客服新人有超過九成以此作為教育訓練工具,業務端使用率也過半,不僅省下資深人員帶新人的時間,也讓保戶獲得更一致、更高品質的服務體驗。

國泰人壽-4.jpg
國泰人壽數據暨人工智慧發展部協理莊淑儀(左)與首席數據分析師黃喬敬博士(右)帶領團隊在國泰人壽保險領域驗證 AI 應用。
圖/ 數位時代

另一項落地應用則是「Cathay Eye」,是國泰人壽自行開發的智能風險控管模型。莊淑儀說明:「這最主要是幫案件的複雜度做分級,讓新進同仁處理複雜度低、資深同仁處理複雜度高的案件,一來反映人力價值,二來加速案件處理流程,讓客戶更快獲得所需服務。」

黃喬敬博士也補充背後的機制:「Cathay Eye 是把公司過去數千萬筆資料整合起來,藉此建立一個平均的判斷基準,用來做複雜度分級與派工。」目前,Cathay Eye 的識別能力相較原流程提升一倍精準度,也讓流程的判斷效率明顯加快。

壽險業 AI 應用的新標竿

對國泰人壽而言,讓 AI 發揮作用的關鍵,在於將產業領域知識與技術能力結合,而這仰賴的是兩條並行的人才路徑。對內,是強化已熟悉保險核心業務人才的 AI 素養;對外,則是網羅生成式 AI 工程與系統設計、AI 治理、雲端數據工程...等專業人才,補齊技術深度。莊淑儀強調:「在人才 AI 素養上,以往我們著重精兵制。去年開始,我們要做到全員素養提升,在人人都會用 AI 的時代,如何善用、如何合規,這都是需要教育訓練的。」

黃喬敬博士則從技術端點出下一步的方向,如 Agentic AI 是明確的發展趨勢,但在企業級的應用上,不可能讓它完全自由運作,如何兼顧安全與效益,是關鍵任務。「檢視整個 Workflow,如何建立更好的決策流程,人員的角色和流程都會慢慢轉換。」他也指出,把端到端的自動化流程建置起來,是團隊接下來的重點工程。

國泰人壽-5.jpg
國泰人壽數據暨人工智慧發展部首席數據分析師黃喬敬博士。
圖/ 數位時代

導入 AI,或許已是壽險業的產業常態;但能不能真正走進核心業務的第一線,關鍵仍是有沒有先搞懂保險本身。從需求出發、從場景驗證,國泰人壽正以這套方法,定義壽險業 AI 應用的新標竿。

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
台達電全解讀
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓