Introduction / Why This Matters
Disk health (SSD or HDD) is a critically important factor for macOS stability. A failing disk causes sudden freezes, read/write errors, data loss, and slow system performance. This guide will help you diagnose your storage drive's condition using macOS's built-in utilities without installing third-party software. You will learn to distinguish between logical and physical errors and respond appropriately to warnings.
Requirements / Preparation
Before you begin, ensure:
- You have administrator privileges (required for some Terminal commands).
- The disk is not in use by other processes (close all applications working with files on the target disk).
- To use
smartctl(advanced S.M.A.R.T. diagnostics), install Homebrew and run:brew install smartmontools - Important: If the disk is already behaving erratically (frequent crashes, boot errors), do not run lengthy checks—create a backup immediately.
Step-by-Step Instructions
Step 1: Identify Your Disk's Identifier
Find the exact system identifier for your disk, which will be used in commands.
- Open Terminal (via Spotlight
Cmd+Space→ typeTerminal). - Enter the command:
diskutil list - In the output, find your main system disk. Typically, this is:
- For Apple Silicon Mac:
APFS Container (identifier), inside which isdisk1s1(macOS volume). - For Intel Mac:
disk0(physical disk) ordisk0s1(volume).
- For Apple Silicon Mac:
- Write down the identifier. Example for Apple Silicon:
disk1s1. For external disks, look forexternal, physicalin the description.
Step 2: Check via Graphical Interface (Disk Utility)
The simplest method for most users.
- Open Disk Utility (
/Applications/Utilities/Disk Utility.app). - In the left sidebar, select the disk itself (not the volume!). For the system disk, this will be your Mac's name (e.g., "Macintosh HD"). If you only see volumes, click "View" → "Show All Devices."
- Click the "First Aid" button in the top toolbar.
- In the dialog, click "Run".
- Wait for completion. The process includes:
- Checking the file system structure (APFS/HFS+).
- Checking S.M.A.R.T. status (if supported).
- Result:
- "Done" — disk is OK.
- "The file system was repaired" — logical errors found and fixed.
- "Failed" — serious problems detected, possibly physical.
Step 3: Check via Terminal (Advanced Options)
Use Terminal for detailed diagnostics and an S.M.A.R.T. report.
3.1. Quick File System Check
Run this, replacing diskX with your identifier from Step 1:
diskutil verifyDisk /dev/diskX
Example:
diskutil verifyDisk /dev/disk1s1
This command checks the integrity of the APFS container and all volumes. It is safe and does not modify data.
3.2. S.M.A.R.T. Status Check (SSD/HDD only)
This requires smartmontools (see Preparation).
sudo smartctl -a /dev/diskX
Key lines in the output:
SMART overall-health self-assessment test result: PASSED— disk is healthy.FAILEDorPre-fail— disk is near failure. Replace immediately!SMART Attributes:— attribute table. Pay attention to:Reallocated_Sector_Ct(reallocated sectors) — value >0 indicates wear.Current_Pending_Sector(pending sectors) — >0 is critical.Uncorrectable_Sector_Ct(uncorrectable sectors) — >0 is fatal.
Note: On some newer Macs (especially Apple Silicon), direct S.M.A.R.T. access may be restricted. In this case, smartctl may return Unavailable - device lacks SMART capability. Trust Disk Utility's built-in check instead.
Step 4: Interpreting Results and Actions
| Disk Utility Result | Terminal (smartctl) Result | Action |
|---|---|---|
| "Done" | PASSED, all attributes 0 | Disk is healthy. The problem lies elsewhere. |
| "The file system was repaired" | PASSED | Logical errors fixed. Continue using, but monitor for recurrence. |
| "Failed" | FAILED or high Reallocated_Sector_Ct | Physical damage. Back up immediately and replace the drive. |
| "Failed" | PASSED | APFS file system issue. Try repairing via Terminal: diskutil repairVolume /dev/diskX. If that fails, reinstall macOS. |
Verifying the Fix
After repair:
- Restart your Mac.
- Launch applications that previously malfunctioned. Ensure errors like "could not write file" or "disk not recognized" are gone.
- To check I/O speed (if you suspect a slow disk), use
blacktreeorAJA System Testfrom the App Store. Compare results with benchmarks for your model.
Potential Issues
Issue 1: diskutil returns "Unable to verify this disk" (disk is busy)
Solution: Close all applications, including Finder (if any windows are open from that disk). Boot into Recovery Mode (Cmd+R at startup) and run Disk Utility from there to check the system disk.
Issue 2: smartctl does not see the disk or says "Unavailable"
Solution: This is normal for some modern SSDs (especially Apple's). Fully trust Disk Utility results. For external disks, ensure they are connected directly, not through a hub.
Issue 3: Disk Utility hangs on "First Aid"
Solution: Checking a large disk with many errors can take a long time. Allow 2-3 hours. If it's a definite hang (progress unchanged for 30+ minutes), reboot into Recovery Mode and try again.
Issue 4: Errors return after repair
Solution: This is a clear sign of physical wear. Do not waste time on repeated checks. Back up immediately and replace the drive. Continuing to use it will lead to data loss.
Issue 5: No "First Aid" button for the disk
Solution: You selected a volume, not the physical disk. In Disk Utility, click "View" → "Show All Devices." Then select the top-level item (the physical disk), and the button will become active.