當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
往下滑看下一篇文章
從掃地機器人到智慧座艙,凌陽科技C5晶片如何在AI時代掌握邊緣算力主控權?
從掃地機器人到智慧座艙,凌陽科技C5晶片如何在AI時代掌握邊緣算力主控權?

掃地機器人也會說話嗎?或許在不久的將來,它不只會自動導航和避開障礙物,還能經由辨識主動發問:「前面是水漬,要幫您拖乾嗎?」這不再是實驗室裡的遠景研究,而是IC設計大廠凌陽科技即將推出的C5平台晶片技術中,正準備實現的日常智慧場景之一。

創立於1990年的凌陽,從消費性多媒體IC設計起家,逐步拓展至車用數位影音、沉浸式聲學系統單晶片等領域。近年來,凌陽提出「C+P Plus 1」的晶片架構策略—也就是以核心運算晶片(Computing, C Chip)加上外部裝置(Peripherals, P Chip),形成一個策略性整合的應用單元(Plus 1),形成模組化、可客製的系統解決方案。這樣的設計方式,不僅能透過先進製程打造更小、更有效率的小晶片(Chiplet),還能透過與生態系夥伴共研周邊模組,降低創新應用的門檻,加快產品落地速度。

這樣的晶片模組策略,展現出凌陽對市場變化的敏銳洞察,也顯示在 AI浪潮的趨勢下企業的積極轉型。而如今打造C5平台的能力,正是建立在 C3平台的技術累積與經驗之上。

讓機器「看得見」,C3平台打開邊緣AI應用之門

C3平台具備 AI 影像辨識能力,應用於智慧設備場景。
C3平台具備 AI 影像辨識能力,應用於智慧設備場景。
圖/ 數位時代

「C3的任務,是要讓機器能看得見,」凌陽產品總監黃興生如此定義這款SoC晶片的角色。他表示,C3 平台是一款整合AI加速器的影像處理系統單晶片(SoC),具備即時辨識功能,能運行CNN(卷積神經網路,Convolutional Neural Network)等深度學習模型,適用於智慧相機、掃地機器人、安防設備等場景。透過感測與辨識畫面中物體、人臉、動作等關鍵資訊,C3讓終端設備不只是可以看見,還能提升裝置主動判斷能力還具備判斷的能力,像是避障、偵測跌倒等功能。

凌陽當初推動C3平台的關鍵決策,來自對邊緣AI發展趨勢的深刻洞察:AI技術正從單純的資料擷取,邁向即時決策的全新階段。與其將大量影像資料傳回雲端進行處理,凌陽選擇在裝置邊緣端直接完成分析,不僅大幅提升反應速度,也確保資料安全性與隱私。

這項技術路線不僅展現凌陽在AI應用上的前瞻佈局,更幫助品牌客戶打造具備差異化的智慧產品,為其搶占市場先機。C3平台目前已廣泛應用於IoT、長照與消費性電子等領域,讓凌陽在相關市場搶得先機。

然而,隨著語音助理與生成式AI技術的迅速崛起,凌陽也意識到僅具備影像辨識與判斷能力的C3,已難以滿足未來市場對「互動性」與「理解力」的高度期待。下一代晶片勢必得導入語言理解與生成能力,才能真正滿足客戶對於AI在各場景應用的想像。

早在2023年中、全球掀起ChatGPT與大模型熱潮之前,凌陽就已開始密切關注生成式AI的應用趨勢。當時,凌陽團隊在分析C3平台的市場反饋時,發現儘管機器已能「看懂」影像,卻仍無法「聽懂」語言、更無法「理解」使用者的真實意圖,導致智慧裝置的互動體驗始終停留在被動回應的階段。

用C5迎戰AI互動時代,從晶片到平台加速少量多樣的AI應用

「下一代AI晶片,不該只是影像辨識的機器視覺工具,而應該是一個能『理解場景、理解語意』的互動平台,」黃興生回憶道。正是在這樣的思維驅動下,C5平台的構想逐步成形。

但這項轉型也意味著凌陽必須面對前所未有的技術挑戰。為了支援大型生成式模型運算,晶片所需的記憶體頻寬從過去的10GB/s躍升至100GB/s以上,晶片面積、功耗與資料搬運效率都成為設計瓶頸。開發C5所需的資源與技術複雜度,遠超以往,這已不再是單靠企業內部團隊即可獨力完成的任務。

因此,凌陽科技決定參與由經濟部產業發展署推動的「驅動國內IC設計業者先進發展補助計畫」(簡稱「晶創IC補助計畫」),藉由政府資源挹注,加速推動C5晶片架構的研發、IP整合及場域驗證工作。在本計畫的支持下,凌陽成功建構完整的SDK(軟體開發工具包)工具鏈、模組化平台與開源開發架構,同時擴編軟體開發團隊。「與其說C5是一顆AI晶片,更貼切地說,它是一個完整的開發平台。」黃興生表示。

面對AI應用「少量多樣、快速導入」的市場特性,C5從一開始就被定義為模組化、可擴充的開發平台。凌陽同步提供韌體、SDK、開發板與可視化工具鏈,並開放原始碼,協助不同領域的業者依場景快速部署。比起 C3強調即時影像辨識的單點功能,C5進一步整合語音輸入、自然語言處理(NLP)與大型視覺語意模型(VLM),具備情境推論與語音互動的能力——讓機器從「能感知」真正走向「能理解」。

舉例來說,在C3的掃地機器人應用中,晶片可辨識障礙物與髒汙物並繞開它們;但在C5平台上,同樣的機器人不僅能看到,也能主動提醒使用者:「前方髒汙,是否需要啟動拖地模式?」或依據內建情境判斷,自主決策是否清理,並提供語音互動回饋。而在長照場域中,則能透過語音確認長者意識狀況,例如在偵測跌倒後主動詢問:「您還好嗎?需要我幫忙聯繫照護人員嗎?」

凌陽產品總監黃興生展示C3平台,奠定了推動 AI 視覺晶片C5平台的基礎。
凌陽產品總監黃興生展示C3平台,奠定了推動 AI 視覺晶片C5平台的基礎。
圖/ 數位時代

目前C5已完成初步晶片架構設計,預計將於2026年第二季投片,並於2027年進入應用導入階段。凌陽同步規劃將C5平台推廣至智慧座艙與工業機器人等領域,結合車內語音控制、駕駛監控與乘客情緒辨識等功能,打造真正具備語音理解與空間感知能力的智慧終端。「AI晶片的競爭力,不再只在於速度與功耗,而在於能否真正理解使用者與環境。」黃興生強調。 C5 不只是凌陽邁向 AI 世代的關鍵一步,更代表台灣 IC 設計產業朝整合平台與價值鏈重塑的重要實踐。。當晶片能讓終端設備具備說話、回應與推論的能力時,象徵的將不再只是技術進化,更是人機關係的重新定義。

|企業小檔案|
● 企業名稱:凌陽科技
● 董事長:黃洲杰
● 核心技術:車用智能座艙系統、先進駕駛輔助系統、無線音頻系統、家用影音娛樂系統與Edge AIoT小晶片等產品之研發。
● 資本額:新台幣59億8000萬元
● 員工數:320人

|驅動國內IC設計業者先進發展補助計畫簡介|
在行政院「晶片驅動臺灣產業創新方案」政策架構下,經濟部產業發展署透過推動「驅動國內IC設計業者先進發展補助計畫」,以實質政策補助,引導業者往AI、高效能運算、車用或新興應用等高值化領域之「16奈米以下先進製程」或「具國際高度信任之優勢、特殊領域」布局,以避開中國大陸在成熟製程之低價競爭,並提升我國IC設計產業價值與國際競爭力。

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

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