當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
往下滑看下一篇文章
鉅亨買基金App開箱:一站快搜強基金、「大師榜」讓新手跟著投資練功
鉅亨買基金App開箱:一站快搜強基金、「大師榜」讓新手跟著投資練功

在資訊爆炸的投資時代,面對琳瑯滿目的投資選項,你是不是也不知道該如何做選擇?其實「選對工具」比「努力研究」更有效率。長期深耕金融科技的鉅亨買基金,早已洞察基金投資領域中資訊分散、選擇障礙、操作繁瑣的痛點,透過科技與使用者中心的系統設計,致力打造更方便、效率的智能投資體驗。

除了有全站基金終身 0 手續費的吸睛誘因,更重要的是鉅亨買基金解決了投資人的實際困擾;透過動態篩選熱門基金、自動化投資工具等創新功能,將過去需要專業知識和複雜操作的投資流程,簡化為直覺易懂的數位體驗,逐步改變了傳統的基金交易模式,讓理財不再是少數人的專利,而是人人可及的日常選擇。

這次鉅亨買基金全新改版 App 正式上線,更進一步強化平台體驗。以看得懂、找得到、學得快的設計精神,整合多項創新功能,讓基金投資輕鬆上手、事半功倍。無論是理財新手、基金老手,或有多個家庭帳戶需要管理的財務大臣,透過鉅亨買基金全新 App,即可一站掌握市場情報、熱門標的、專業策略與帳戶總覽。

其中,全新推出的「大師榜」功能,更力助投資人掌握高手秘笈,有機會跟著前輩練功,一步步練出屬於自己的投資眼光。

功能全開箱!一站搞定找基金、看標的、管帳戶

打開鉅亨買基金 App,最直覺的感受就是:乾淨、精準、快速。設計邏輯不複雜,透過快搜、熱門標的、帳戶整合與自選捷徑設計,將過去繁瑣的基金投資流程化繁為簡,打造一個隨時可啟動、易於操作的投資入口,讓資訊不再分散,動作更精準。為降低基金學習與決策門檻,即使尚未開戶,仍可下載App使用以下亮點功能:

一、基金搜尋:輸入關鍵字如「高股息」、「ESG」、「科技」等,即可快速列出相關標的。配合風險等級、配息頻率、基金品牌、幣別、投資區域等條件篩選,搭配報酬率或績效排序,為投資人有效縮短挑選時間。

鉅亨買基金
在鉅亨買基金快速輸入關鍵字,一鍵篩選條件,精準找到符合需求的基金。
圖/ 鉅亨買基金

二、夯股基金:針對市場熱門題材,使用者可點選最多五檔熱門持股,如輝達、蘋果等,快速查詢各基金的持股比例,並依喜好排序篩選。對於想掌握趨勢卻擔心判斷失誤的投資人而言,「夯股基金」提供了更安全、有效的參與方式,透過專業基金經理人篩選與靈活操作,幫助新手建立題材導向的選基邏輯,同時分散個股波動風險,不漏接每一波趨勢財。

鉅亨買基金
在鉅亨買基金APP下方「找基金」中選擇「夯股基金」,再進行持股篩選,即可點選熱門持股,掌握基金布局,輕鬆跟上市場趨勢不怕踩雷。
圖/ 鉅亨買基金

三、首頁自訂:App 首頁支援「快捷功能」自訂,用戶可釘選「投資儀表板」、「定期定額查詢」、「追蹤清單」、「歷史交易」等常用模組,打造專屬操作首頁,一目了然。

獨家「大師榜」看懂行家怎麼買,用策略練投資

想知道高手怎麼配置資產、為何績效穩定領先?鉅亨買基金全新推出的「大師榜」功能為市場上少見的「社群式基金學習機制」,主打以「透明數據」與「解鎖追蹤」的方式,讓用戶可以實際參考高手的操作邏輯。

只要是已開戶會員,就能在首頁下方開啟「大師榜」功能,從每日更新的績效中,篩選出表現突出的高手帳戶,並依報酬率、AUM規模、投資方式(單筆投資或定期定額)與年齡層等條件進行排序比較。

鉅亨買基金
大師榜揭露高手投資組合,可依績效、規模等多條件篩選,輕鬆找出適合參考的對象。
圖/ 鉅亨買基金

看見感興趣的大師後,即可選擇追蹤,最多可追蹤 50 位;若想查看其前五大持有標的與近期申購紀錄,則可使用即享券解鎖。而即享券則可透過任務或活動獲得。

除了即時榜單,App 另設有「名人堂」,聚焦季度與年度績效穩定的代表性帳戶,適合進行中長期追蹤。所有已追蹤與解鎖紀錄,也整合在「我的專頁」中,便於隨時復盤與管理。此外,平台還支援多帳戶綁定與一鍵切換,讓家庭理財配置更直覺、清楚,亦能搭配大師榜策略靈活操作。

對投資新手而言,這項功能不只讓投資更有依據,也是一套練習市場判斷、進階布局的工具。善用大師榜,從觀察、到解鎖、再到內化策略,循序建立自己的判斷力與投資思維。

鉅亨買基金
點擊會員專區,在「會員權益/獎勵領取」中每週即可領取即享券,解鎖大師榜投資組合。
圖/ 鉅亨買基金

三分鐘開戶,鉅亨買基金終身0元手續費

鉅亨買基金全新 App,不只是投資資訊平台,更整合了策略學習、操作效率與資產管理功能,從搜尋、觀摩到實際執行,每一步都為投資人設計。

想掌握市場、練出判斷、做對決策,就從下載App開始,為自己打開一個更有效率的投資未來。目前 App 用戶只要完成開戶,即可享「全站基金終身0手續費」,從此投資每一步都更划算。

App 下載:https://anuefund.tw/bk7Yi
立即開戶,搶先加入行家行列:https://anuefund.tw/jbp5b

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

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