Disk Utility 隨 macOS 一起提供,並且自首次發布以來一直是操作系統的一部分。下面是如何使用它。
磁盤實用程序提供各種任務,例如格式化存儲設備、安裝和卸載卷、創建磁盤映像和復制驅動器。首先,我們將定義一些術語,然後深入探討您可以使用“磁盤工具”做什麼。
了解設備和體積
首先,需要了解一些存儲術語:
設備-一種存儲設備,例如 SSD、硬盤、RAID 陣列或控制器卡。 SSD-固態硬盤-一種使用內存而不是盤片來存儲數據的存儲設備。硬盤-包含旋轉磁盤的存儲設備(驅動器)。總線-連接設備並仲裁設備與計算機之間通信的電路。控制器-將另一台設備連接到計算機的接口設備。許多控制器是內置的。啟動盤-在 macOS 中,安裝操作系統的捲。
有時術語“設備”和“驅動器”可以互換使用。
每個物理存儲設備都以多種可能的方式之一連接到您的 Mac。
這可以通過 SATA 等內部連接,或通過 USB、Thunderbolt 等外部連接器,或在較舊的 Mac 上使用 FireWire。對於可以接受內部擴展卡的 Mac,可以使用內部卡上的其他類型的總線連接器,例如 SATA、eSATA、SCSI、iSCSI 或 FiberChannel。
當今大多數擴展卡都基於 PCI(外圍組件互連),這是一種用於內部卡的計算標準。一些存儲設備還可以通過網絡標準(例如以太網)或通過 WiFi 或藍牙進行連接。
文件系統
文件系統是一種軟件,它知道如何使用驅動器上的特定卷格式讀取和寫入數據。
每個驅動器可以包含一個或多個卷。將捲視為設備上的存儲容器,可以包含文件夾(目錄)和文件:物理磁盤的邏輯部分,使用文件系統格式化以存儲文件和數據。
卷有時也稱為分區。一個設備可以有多個卷。在 macOS 中,可以掛載或卸載卷。安裝卷後,其圖標會出現在 Finder 應用程序的桌面上。
操作系統必須知道如何與卷上相應的文件系統通信,以便對其進行讀取或寫入。
文件系統的示例包括 APFS、HFS+(macOS 擴展)、FAT16 和 FAT32、exFAT、NTFS、NFS,以及 Linux 操作系統上的 ext4。在 macOS 中,APFS、HFS+、FAT 和 exFAT 是內置的。
可以通過安裝文件系統插件在 macOS 中使用其他文件系統,這些插件允許 macOS 讀取或寫入不受支持的文件系統並安裝使用它們格式化的捲。
當一個驅動器是新的時,它是未格式化的。在可以使用之前,必須連接它,然後使用支持的文件系統對其進行格式化,以便將其安裝在桌面上。
設備格式化後,可以用一個或多個分區對其進行分區,每個分區都可以安裝在桌面上。卷可以是只讀的,也可以是讀/寫的。對於只讀卷,可以從卷中讀取文件,但不能寫入文件。
光盤和藍光光盤是只讀卷的示例。
可寫卷也可以鎖定或解鎖-通常使用軟件權限,但有時使用硬件開關,例如 SD 相機卡。當一個卷被鎖定時,它變成只讀的。可以從中讀取文件,但不能寫入文件。
設備上的每個卷都包含某些數據結構,這些數據結構告訴文件系統有關該卷的信息:它在設備上的開始和結束位置、它是什麼類型的捲、它有多大以及其他信息,例如卷上有多少文件和文件夾。
其中一些數據結構是:
掛載點-在 UNIX 操作系統中,文件系統中的一個目錄,其中掛載了一個卷以供輸入/輸出 (I/O) 訪問。塊-卷上的單個 I/O 數據單元。對於硬盤和 SSD,一個塊的長度通常為 512 字節,但並非總是如此。文件-位於卷上的組織數據的單個單元,可以由應用程序讀取或寫入。卷標頭-描述卷或分區的捲的數據部分。目錄-存儲文件和文件夾列表及其在卷上的位置的捲的數據部分。 B-Tree-卷的附加數據部分,與目錄協同工作以描述文件和文件夾。
將 B 樹想像成一個有分支的樹,每個分支都是一個子文件夾,其內容是進一步的分支,文件是葉子。 B 樹幫助文件系統跨驅動器塊跟踪文件。
一些卷還包含擴展文件-如果目錄文件變得太滿,則附加文件包含有關文件在卷上的位置的信息。
如果您想了解有關 macOS 的 HFS+(擴展)文件系統如何存儲這些數據結構的詳細信息,請參閱Inside 一書Macintosh:Apple 和 Addison-Wesley 在 1990 年代初期發布的文件。近二十年前,Apple 還在 HFS+ 上發布了Technote。
一些但不是所有捲也可以包含索引和數據庫信息。在數據庫中存儲文件和文件夾的詳細信息可以更快地搜索卷內容。過去的一種此類索引文件系統是 BFS,即 Be 文件系統。
Apple 自己的 APFS 也使用索引來存儲文件和文件夾的詳細信息。不幸的是,Apple 決定對 APFS 的細節保密,並且該公司沒有發布任何關於 APFS 的技術細節——主要是為了讓惡意行為者更難破解它。
了解 RAID
RAID 是獨立磁盤冗餘陣列的首字母縮寫詞-一個驅動器陣列,就像計算機的單個驅動器一樣。
RAID 卷使用多個設備來存儲文件信息並將其作為單個卷呈現給計算機。有不同的 RAID 級別,包括級別 0 到 6。
RAID 0 或條帶化將多個物理設備組合到一個卷中。 RAID 1 或鏡像在多個設備上創建相同的冗餘卷。
其他 RAID 級別將條帶化或鏡像與驗證或奇偶校驗相結合-用於檢查讀取和寫入的位或塊以提高可靠性。
RAID 0 速度很快,因為當數據讀取或寫入陣列時,I/O 會同時通過多個設備。某些 RAID 系統協同使用多個磁盤控制器以獲得更高的性能。
RAID 1 更可靠,因為數據一次寫入多個卷-創建數據的冗余副本。
RAID 0 的缺點是,如果陣列中的單個設備發生故障,整個卷就會丟失並且無法訪問。
根據用戶的需要,其他類型的 RAID 可以建立在鏡像和條帶化為不同結構的概念之上。它們非常值得探索,但僅了解 RAID 0 和 RAID 1 就會走得很遠。
了解 BSD 磁盤標識符
由於 macOS 是建立在 UNIX 的 BSD 發行版之上的,因此在幕後它使用 BSD 的設備命名法來描述磁盤和卷。在 BSD 中,每個卷在掛載時都作為核心操作系統中的一個索引節點附加。
在 BSD 中,存儲設備是用“磁盤”這個詞來標識的,並附有一個數字——例如“disk0”或“disk1”。磁盤上的每個卷都用帶有數字的“s”字符標識-例如“disk0s1”或“disk0s2”。
要獲取連接到您的 Mac 的所有 BSD 設備和宗卷的完整列表,請在終端中鍵入:
diskutil list 並按 Return。
這會在終端中生成每個設備及其所有捲的樹。列出了每個設備和卷的附加信息,包括文件系統、大小、名稱、分區方案和 BSD 標識符:
分區方案或分區圖僅指示設備使用的捲格式。目前,Disk Utility 支持 GUID、Apple Partition Map (APM) 和 Microsoft Master Boot Record (MBR) 方案。
卷映射或分區映射描述了設備上的所有捲。
了解文件如何存儲在卷上
當文件首次在卷上創建時,會在卷的文件目錄中創建一個條目,如果必要的,在擴展文件中。範圍文件是附加的目錄文件,如果文件增長到無法單獨在目錄中描述的大小時,它描述文件的各個部分在卷上的位置。
關於文件要牢記的一個關鍵點是它們的數據可能不會存儲在卷上的連續塊中。事實上,在大多數情況下,磁盤上組成文件的塊將分散在設備上的非連續塊中。這稱為碎片化。
當讀取或寫入文件時,文件系統會在目錄和擴展文件中查找以定位構成文件的塊。在讀取的情況下,塊從設備中讀取,然後在內存中按順序重新組合,然後再傳送到請求的應用程序。
當應用讀取或寫入文件時,它通常不會直接這樣做。相反,它要求操作系統 API(應用程序編程接口)為其執行設備塊訪問。大多數應用程序不必了解每種文件系統的詳細信息。
操作系統反過來要求相應的文件系統對捲進行塊 I/O 以讀取或寫入文件。文件系統依次對設備驅動程序進行塊 I/O 調用——知道如何對設備本身進行物理數據訪問的軟件。
設備驅動程序只是一個知道如何直接與設備通信和控制設備的軟件。操作系統在需要訪問設備時加載並使用設備驅動程序。
所以綜上所述,一個文件I/O通過系統的路徑大致是:app->OS API->filesystem->device driver。然後回來。
每當應用程序讀取或寫入設備上的文件時,數據都會通過此路徑傳輸,最終成為設備上原始數據塊的集合。只有通過文件系統,塊才能重新組合成有意義的文件組織——最終在應用程序級別。
首先顯示卷
開箱即用,您的 Mac 不會在桌面上顯示存儲卷。這是蘋果公司在 2000 年首次發布 macOS 時做出的一個奇怪決定。史蒂夫喬布斯本人就是否在桌面上顯示 Mac 存儲捲進行了辯論。
從 1984 年 Mac 首次發佈時,最初的 Mac 操作系統一直在桌面上顯示卷。但在後來的幾年裡,史蒂夫開始相信系統應該更像電器一樣工作——不向用戶提供直接訪問軟件的內部部分,例如文件系統。
原始 Mac 桌面。
我們確實看到這種方法用於 iPhone 和 iPad——文件系統被關閉,除非通過 App Store 等官方安裝渠道。
最終,Apple 和史蒂夫決定繼續提供對卷的直接桌面訪問,因為這是 Mac 一直以來的工作方式。
但有一個問題:在現代 macOS 上,默認情況下桌面上存儲卷的顯示是關閉的。
要在桌面上顯示卷,您需要訪問 Finder->Settings,然後在“在桌面上顯示這些項目:”下選中四個複選框存儲卷。
Finder 設置。啟用頂部附近的四個卷複選框。
啟用這些選項後,所有已安裝的捲將在 Finder 的桌面上顯示為圖標。如果不先這樣做,卷仍然存在,但它們的圖標不會顯示在 Finder 中。
這可能會讓 macOS 新手感到困惑。
磁盤工具的基本用法
接下來,讓我們啟動磁盤工具,看看基本的用戶界面和控件的作用:
主磁盤工具窗口。
在左側“磁盤工具”窗口的一側是存儲卷列表。此處列出了連接到您的 Mac 的所有已知宗卷,無論它們是已裝載還是未裝載。
Mounted volumes 是已經加載到 BSD 核心的 inode 樹中並連接到 I/O 子系統的捲。卸載的捲是駐留在存儲設備上但未連接到 BSD 核心的捲。
macOS 的 Finder 監控 BSD inode 樹並在安裝和卸載時監視 inode。掛載卷後,Finder 會在 Mac 桌面上顯示其圖標。
卸載宗卷後,Finder 會從桌面上刪除該圖標。這就是當您將一個卷拖到廢紙簍,或按住 Control 鍵並單擊它並選擇“彈出”時在幕後發生的情況。
內部設備卷首先列在“磁盤工具”窗口的頂部,外部設備上的捲列在其下方。
列表中未安裝的捲以灰色顯示。如果引導卷被格式化為 APFS 卷,它將包含一個卷列表,如可轉動的箭頭所示,因為 APFS 支持子卷-稱為容器卷。
如果磁盤不包含 macOS 可以讀取的任何卷,或者卷已損壞且無法讀取,“磁盤工具”會按 BSD 名稱列出卷,並在卷列表中以灰色顯示。
如果您在“磁盤工具”的捲列表中按住 Control 鍵並單擊或右鍵單擊一個卷,您會看到一個包含各種功能的彈出菜單。其中包括獲取信息、在 Finder 中顯示、重命名、卸載、彈出、圖像來自和擦除-以及其他一些項目。
選擇 獲取信息 會顯示一個窗口,其中包含有關卷的一些基本信息:
獲取信息窗口。
值得注意的是 BSD 設備名稱、容量、加密級別(如果有)、卷是可引導的,它的 S.M.A.R.T 狀態。包括各種其他信息。
另外值得注意的是設備樹路徑。所有連接的設備,而不僅僅是存儲設備,都在 IORegistry 的 macOS 軟件中被枚舉-一個從 Mac 主板向下的設備層次結構樹。
IORegistry 是 macOS 的 IOKit 的一部分,對於本文的範圍來說過於復雜和技術性太強,因此我們不會在此處介紹它。如果您想閱讀有關 IORegistry 的更多信息,請參閱 Apple 的開發人員文檔。
要全面了解 Mac 上的整個設備 IORegistry,您可以使用名為 IORegistryExplorer 的較舊的 Apple 開發人員工具。但是,您需要一個 Apple 開發者帳戶才能登錄 Mac 開發者工具的附加下載區域並下載該應用程序。
Apple 自 2013 年以來就沒有更新過 IORegistryExplorer,但從 macOS Ventura 開始,它仍然有效。
IORegistryExplorer 應用。
使用“磁盤工具”中的上下文彈出菜單,您可以從側邊欄裝載和卸載(彈出)卷,還可以直接在列表中重命名它們,格式化(擦除)它們,以及執行其他選項。
您還可以通過在邊欄中向上或向下拖動它們來根據您的喜好在邊欄中拖動重新排序卷。
請注意,如果您在邊欄或 Finder 中直接重命名一個捲而沒有重新格式化,最好盡快重新啟動您的 Mac,以強制 IORegistry 和 BSD 核心操作系統完全重新加載所有關於卷的信息都進入了操作系統。
在“磁盤工具”窗口的頂部,“磁盤工具”名稱旁邊還有一個側邊欄小圖標:
邊欄控件。單擊以隱藏或顯示邊欄。
單擊邊欄圖標會顯示一個包含三個選項的彈出菜單:隱藏邊欄、僅顯示捲和顯示所有設備。如果您選擇“顯示所有設備”,邊欄還會顯示設備固件中列出的每個物理存儲設備的名稱-設備上的所有捲都列在設備名稱下方:
從邊欄彈出菜單中選擇顯示所有設備。
顯示設備時,您可以通過轉動旁邊的箭頭來折疊每個設備名稱,通過隱藏該設備的捲來縮短列表。
Disk Utility 窗口頂部有幾個工具欄按鈕:
Volume 添加和刪除 First Aid Partition Erase Restore Mount 或 Unmount Get Info
您可以自定義工具欄中的項目從主菜單中選擇查看->自定義工具欄…:
自定義工具欄。
在工具欄下方,顯示所選卷或設備的圖標、總線、分區圖和容量。
在其下方,顯示了一個條形圖,其中針對卷上存儲的每種文件以及每種文件類型使用的總空間顯示了彩色圖例。如果您在邊欄中選擇設備而不是卷,則條形圖會顯示設備上的每個卷,並帶有顏色編碼的圖例和每個卷的容量。
設備和卷條形圖顯示文件使用情況在磁盤上。
“磁盤工具”窗口中的最後一項是一個文本窗格,其中顯示了“獲取信息”窗口中的重要數據的子集-使重要的設備或卷信息一目了然。
主菜單欄中的大多數磁盤工具菜單類似於工具欄按鈕和上下文彈出菜單,儘管主菜單項的組織與上下文菜單和圖標中的組織略有不同。
主菜單欄中還有一個圖像菜單,其中包含用於操作磁盤圖像的項目,我們將在以後的文章中介紹。
基本格式化
在“磁盤工具”中,有兩種基本方法可以準備用於 macOS 的存儲設備。
您可以對設備執行簡單的擦除(格式化),這會在設備上創建一個大卷。或者您可以將設備分成多個卷,每個卷都單獨安裝在 Finder 的桌面上。
請注意,如果您想抹掉 Mac 上的內置內部驅動器,您需要從包含 macOS 的外部卷重新啟動 Mac,或者啟動到 Mac 的內置恢復通過重新啟動然後按住鍵盤上的 Command-R 進入模式。進入恢復模式後,您可以從恢復菜單運行磁盤工具。
在基於 Apple Silicon 的 Mac 上,您還可以通過按住 Mac 的電源按鈕直到出現恢復模式屏幕來啟動進入恢復模式。
您可以在重新啟動後按住 Mac 鍵盤上的 Command-Option,然後選擇可啟動的捲並單擊箭頭或 OK 按鈕,以選擇要啟動到哪個外部 macOS 卷。
啟動後,您可以在“磁盤工具”窗口邊欄中選擇 Mac 的內部驅動器,然後從邊欄的上下文彈出菜單中選擇“擦除” 對其進行格式化。當心,因為這將完全刪除和擦除內部驅動器上的所有內容。
有關 Mac 啟動鍵組合的更多信息,請參閱 Apple 的技術說明頁面。
對於其他設備,要執行簡單的單卷擦除,請從磁盤工具的邊欄彈出菜單圖標中選擇“顯示所有設備”,然後在邊欄中選擇一個設備並控制-單擊或右鍵單擊設備,然後從彈出菜單中選擇“擦除”。您還可以選擇一個設備並單擊“擦除”工具欄圖標,或者從編輯菜單或上下文彈出菜單中選擇“擦除”:
單擊“擦除”工具欄按鈕,或從上下文彈出菜單中選擇“擦除”。
將出現一個包含三個字段的擦除表:卷名稱、格式和方案。為新卷命名,然後選擇格式和分區方案以對其進行格式化。
格式:字段是新卷的捲格式。目前,磁盤工具支持 Apple 文件系統 (APFS)、Mac OS 擴展 (HFS+)、FAT (MS-DOS) 和 exFAT(擴展 FAT)。
您還可以選擇製作 APFS 的加密版本,並選擇該卷是否支持區分大小寫的文件名。
HFS Plus (HFS+) 是一種較舊但仍受 Mac OS 8 和 9 支持的 Mac OS 卷格式。原始 Mac 有一種稱為 MFS 的捲格式-Macintosh 文件系統-不支持文件夾或文件層次結構。 Apple 後來推出了帶 HFS 的文件夾,當 2TB 驅動器在 1990 年代後期出現時,擴展了 HFS 以支持它們的 HFS+。
FAT 是文件分配表的首字母縮寫詞-一種古老但仍受支持的 DOS/Windows 卷格式。
擦除選項。
“Scheme”是指使用哪種分區映射格式。如前所述,這是設備卷標頭的格式,其中包含有關設備上的捲的信息。對於現代標準的可啟動 macOS 卷格式,請選擇“GUID 分區圖”。
對於 Windows 可引導卷,選擇 “主引導記錄” (MBR),這是一種 Microsoft PC 卷格式。 Apple 提供的 MBR 主要用於 Boot Camp 實用程序,它允許您將 Microsoft Windows 安裝到 Mac 的分區上。
為了讓 Windows 在 Mac 上啟動,設備必須包含 MBR。
如果您想要格式化,例如,可以安裝在 macOS 和 Windows 計算機上的 USB 拇指驅動器,也可以使用 MBR。
Apple 分區映射 (APM) 是一種較舊但仍受支持的分區映射方案。 APM 用於在基於 PowerPC 的 Mac 上運行的早期版本的 Mac OS,並且仍然主要用於在舊 Mac 上安裝新驅動器的目的。
但要製作現代的可啟動 macOS 卷,請改為選擇“GUID 分區圖”。
Apple 多年前在 Mac 中切換到英特爾處理器時提供了對 GUID 分區圖的支持,這主要是因為當使用大多數現代 PC 中使用的 EFI 固件時,部分英特爾架構需要 GUID 分區圖進行引導。
在擦除表中完成所有選擇後,單擊“擦除” 按鈕。請注意,這會啟動格式化過程,所選設備或卷上的所有數據都將被銷毀。
另請注意,您可以從側邊欄格式化整個設備,這會破壞設備上的所有現有捲。或者,您可以選擇一個單獨的捲並僅擦除該卷,這會破壞該卷上的所有數據,但會完整保留設備上的其他卷。
在打算僅擦除單個宗卷時,請務必謹慎選擇,以免無意中破壞設備上的其他宗卷。
完成後,“磁盤工具”將顯示一個結果窗口,顯示成功或錯誤,解釋擦除失敗的原因。如果成功,新創建的捲也將自動安裝在 Finder 的桌面上,您可以在其中像訪問任何其他存儲卷一樣訪問它。
擦除結果-在本例中為成功。
分區
如果您不想在設備上創建單個大卷,而是想創建多個卷,請單擊工具欄中的“分區”圖標,或者按住 Control 單擊或右鍵單擊“磁盤工具”邊欄中的設備,然後從彈出菜單中選擇“分區”。這將打開主分區表:
單擊“分區”工具欄按鈕或側邊欄上下文彈出菜單中的“分區…”。
在此工作表中,您可以將設備格式化為單個大分區,也可以單擊“+”餅圖下方的 按鈕以添加額外的音量。這會將體積分成兩個相等的體積。
然後您可以通過單擊單獨選擇每個卷,然後使用右側的控件設置其參數。單擊“應用” 按鈕修改設備以包含指示的多個卷。
點擊“+”按鈕添加音量。
如果您重新選擇原始體積,您可以繼續點擊“+”按鈕,每次都會再次將體積減半,從所選體積創建兩個更小的體積。您可以繼續此過程以創建任意數量的捲,直到您單擊“應用” 按鈕進行更改。
單擊“應用”以保存對設備分區映射的更改。
p>
創建卷後,磁盤實用程序將更新設備的分區映射以包含新卷,並將每個卷安裝在桌面上。
我們僅僅觸及了磁盤工具功能的皮毛。在第 2 部分中,我們將介紹使用磁盤映像、從映像還原卷、磁盤急救、安全選項和 RAID。