當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的親兒子,一目了然了。

參考目錄
- What's New in Apple File Systems - WWDC 2019 - Videos - Apple Developer

本文授權轉載自:少數派

關鍵字: #Mac
往下滑看下一篇文章
中華電信 5G 加速器 Demo Day,以 AI 啟動未來:從共創到加速,攜手新創 開創未來
中華電信 5G 加速器 Demo Day,以 AI 啟動未來:從共創到加速,攜手新創 開創未來

第七屆「中華電信 5G 加速器」Demo Day 近期揭幕,現場匯聚創新能量,不僅展現中華電信的 AI 創新布局,更邀集 12 家具備高度潛力的新創團隊,輪番展示核心技術與前瞻解決方案。這些團隊也同時分享,如何善用 5G 加速器資源突破營運挑戰,並在「1 到 N」的成長歷程中,採取哪些策略與客戶建立長期合作關係,讓 AI 應用能夠真正落地。

中華電信投資事業處副總經理陳元凱於開場致詞時指出,5G 加速器自 2018 年成立以來,已吸引超過 80 家新創團隊加入,期許透過電信CVC平台,以大帶小,推動創新創業,成為台灣推動創新的重要平台。為了讓更多具潛力的新創能在關鍵時刻獲得實質支援,中華電信不只提供技術支援、實證場域、商機媒合及行銷曝光等資源,更於本屆 5G 加速器增設「AI 創新特別獎」,包括 AI 算力、行動上網與寬頻上網服務,協助團隊進行 AI 應用研發與市場導入,展現中華電信持續賦能新創,從自身做起,共同打造台灣創新創業雨林生態系的決心。

從 AI 1.0語音辨識到 AI 2.0 AI 代理人:中華電信的 AI 創新版圖

活動一開始,中華電信研究院前瞻科技研究所所長汪世昌率先分享,中華電信如何迎戰 AI 所帶來的產業變革。汪世昌引述 Pitchbook 數據指出,2025年 1 月到 8 月間,已經有高達 55% 的創投資金湧進 AI 市場,顯見 AI 已成為全球資金瘋狂追逐的焦點。

中華電信
中華電信研究院前瞻科技研究所所長汪世昌引述Pitchbook數據指出,高達 55% 的創投資金湧進 AI 市場,顯見 AI 已成為全球資金瘋狂追逐的焦點。
圖/ 數位時代

而中華電信早在 AI 浪潮興起初期便積極投入,2016 年啟動 AI 1.0 佈局,在語音辨識、影像辨識、自然語言處理等領域建立自主技術,並進一步發展智慧客服、科技執法、影像偵測等解決方案,服務範圍涵蓋眾多企業客戶與政府部門。

隨著生成式 AI 時代的到來,中華電信在2023年邁入 AI 2.0,重點任務包括推動全員 AI 素養、打造自研開發平台 「AI Factory」、提供 AI DC 服務等,並積極發展各類創新應用,如:由 AI 代筆生成遺囑、AI 防詐、語音偵偽,到結合全光網路進行跨國共演,AI 正逐步滲入生活與產業的每個角落。

汪世昌表示,2025 年的發展重點是 Agentic AI。他也罕見公開中華電信打造的 AI 代理人應用,包括餐廳訂位和訂票、有聲繪本製作、撰寫符合公司需求的企業報告、生成主管決策建議及審閱檔案等。未來,中華電信將持續聚焦代理 AI、多模態、垂直領域大模型、邊緣 AI、機器人與 AI Coding 等方向,以技術自主與台灣在地化為利基,打造真正能解決企業痛點的下一代 AI 服務。

中華電信
中華電信未來的技術佈局將聚焦代理 AI、多模態、垂直領域大模型、邊緣 AI、機器人與 AI Coding 等方向。
圖/ 數位時代

媒合市場 × 產品升級:中華電信 5G 加速器如何成為新創的成長引擎

不過,AI 應用牽涉的場景極為廣泛,企業需求也往往多元且複雜,單靠自身力量,很難在第一時間滿足每一種期待。因此,中華電信在打造下一代 AI 服務的同時,也透過 5G 加速器串連生態系夥伴,協助新創團隊快速驗證技術,並找到正確的落地入口,讓 AI更順利走進企業現場。

《數位時代》創新長兼技術主編黃亮崢亦認同中華電信對新創的支援,他指出,新創應該要懂得借力使力,善用加速器、投資人和生態系合作夥伴的力量推動自身發展,如此不只能立足台灣,更有機會邁向國際舞台,讓全球都能看見台灣的創新實力。

從新創團隊的分享中可歸納出,中華電信 5G 加速器為新創團隊帶來二大關鍵助益。第一,讓團隊能夠接觸到更多潛在客戶與內部決策者,使產品驗證與市場拓展更有效率。像是創智生物科技在入選加速器後,將有機會接觸到醫療以外的潛在客群,進而挖掘更多元的產品落地場景。寵訊生醫同樣受惠於中華電信的品牌聲譽,預期不僅大幅提高曝光度與市場知名度,更在飼主和獸醫師心中建立信任感,顯著提升產品採用意願。中華電信內部衍生創業(Spin-off)的中華創智國際,在內部育成期間同樣藉助5G 加速器的媒合機制,提升知名度,與潛在目標客戶深入對話,確認產品是否符合使用需求,大幅縮短業務開發時間。

中華電信
第七屆中華電信5G加速器Demo Day邀請本屆入圍新創進行座談交流,分享入選中華電信5G 加速器後帶來的助益。
圖/ 數位時代

第二項效益,則是導入中華電信集團的技術和資源,為新創解決方案加值,甚至創造更大的市場。伊斯酷軟體科技希望借助中華電信在 5G 與網路的資通訊優勢,為客戶提供整合自家 RPA 應用與網路基礎建設的完整服務。光影立方期望在 5G 加速器協助下,為自家 2D 轉 3D 技術找到更具商業價值的切入點。至於野革運動則期待,在加入 5G 加速器後,可結合中華電信 Hami Video 運動賽事的精彩內容,為球迷打造「影像 × 數據」的觀賽體驗,增加產品競爭力。

新創跨進企業供應鏈的三大關鍵策略

但即便有加速器的推力,真正決定新創能否在市場站穩腳步的關鍵,仍取決於自身的商業策略。在 DemoDay 第二場座談交流中,新創團隊分享自身在「1 到 N」的成長過程中,做了哪些決策與商業洞察,「從這些分享中可以很清楚地看到,產品定位、客戶經營與商業模式,是新創走向規模化的三大關鍵策略,」黃亮崢總結指出。

中華電信
第七屆中華電信5G加速器Demo Day邀請歷屆與本屆入選共6家新創相互交流,探討從1 到 N的成長過程中,該如何做出對的決策與商業洞察。
圖/ 數位時代

第一個策略,是建立產品差異化。尤其競爭越激烈的市場,越需要透過差異化來打造市場競爭力。如中華電信今年內部衍生(Spin-off)的第二家團隊,中華智慧影像(IVS)選擇以 Edge AI 和市售晶片打造解決方案,而非追逐最前沿模型,正是因為企業應用更看重穩定與可靠,並在此基礎上發展差異化服務。

第二個策略,是強化客戶信任。零邁移動(ZEMO)服務強調早期客戶的重要性,服務好第一個或早期客戶,可以吸引更多客戶主動上門。滿拓科技與歐姆佳科技也分享了服務客戶的秘訣,滿拓(DeepMentor)強調新創應先與客戶對齊導入目標與驗收規則,並開放產品實測,以透明態度換取客戶信任;歐姆佳科技(Ohmplus)則認為,無論客戶的意見是讚美或抱怨,都應用心聆聽並積極調整,當客戶感受到你的誠意時,後續合作自然會更緊密。

第三個策略,是建立對的商業模式。阿米索拉(AMOESO)認為,新創必須讓合作夥伴與客戶都能保有利潤,因此自身要具備很強的成本控制能力,才能形成可持續推廣的商業模式。而台灣圖靈鏈(Turing Space)則指出,商業模式並非一成不變,新創應該勇於實驗不同路徑,但前提是組織架構要具備彈性、企業文化要一致,才能在多元嘗試中找出最適合自身與客戶的商業模式。

中華電信
圖/ 數位時代

當 AI 與 5G 引領產業進入新篇章,中華電信將延續推動「打造台灣創新創業數位雨林生態系」的精神,以最優質的 5G 網路、IDC 基礎設施與自研 AI 技術平台,作為新創前進路上的堅實後盾,並透過 5G 加速器為新創提供驗證場域、技術支援與商業媒合,陪伴更多台灣新創從概念走向應用落地、從台灣走向全球舞台,共同開創下一個 AI 產業大未來。

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
進擊的機器人
© 2025 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓