Внешние диски, форматы и сетевые тома

Рейтинг: 72.2% · 10 голосов
Подробный курс по macOS для разработчиков и админов: архитектура и Apple Silicon, терминал и zsh, Homebrew и пакеты, launchd и автоматизация, APFS и Time Machine, безопасность (SIP, Gatekeeper, TCC, FileVault), сеть, логи и диагностика, MDM и DDM, контейнеры и виртуализация, восстановление. По официальной документации Apple, актуально на 2026 (macOS 26 Tahoe).
Ответить
Аватара пользователя
Artem_MacAdmin
Сообщения: 47
Зарегистрирован: 11 май 2026, 05:31

Внешние диски, форматы и сетевые тома

Сообщение Artem_MacAdmin »

Оглавление курса (47)
  1. Что такое macOS: Unix под капотом и место в 2026
  2. Архитектура macOS: XNU, тома и Signed System Volume
  3. Apple Silicon: ARM, Rosetta 2 и отличия от Intel
  4. Установка, обновление и восстановление macOS
  5. Finder, рабочий стол и продуктивность
  6. Системные настройки и их управление из CLI (defaults)
  7. Пользователи и группы: учётные записи и управление
  8. Терминал и zsh: командная строка macOS
  9. CLI на macOS: BSD-команды и отличия от Linux
  10. Настройка zsh: .zshrc, prompt, плагины
  11. Файловая система и права: POSIX, ACL, атрибуты, флаги
  12. Homebrew: пакетный менеджер для macOS
  13. Homebrew глубже: tap, Brewfile, services, обслуживание
  14. Другие пакеты: MacPorts, mas, Nix и App Store
  15. Установка приложений: .app, .dmg, .pkg и Gatekeeper
  16. Управление приложениями и их данные
  17. launchd и launchctl: система запуска macOS
  18. Свои службы и периодические задачи на launchd
  19. Автоматизация: Shortcuts, AppleScript и osascript
  20. Конфигурация как код: defaults, plist и профили
  21. APFS: снапшоты, клоны, контейнеры и шифрование
  22. Управление дисками: diskutil, образы и форматирование
  23. Time Machine и резервное копирование
  24. Внешние диски, форматы и сетевые тома (вы здесь)
  25. Модель безопасности macOS: SIP и целостность системы
  26. Gatekeeper, нотаризация и защита от вредоносов
  27. Приватность и TCC: разрешения на доступ
  28. FileVault: полнодисковое шифрование
  29. Связка ключей и управление секретами
  30. Сетевой экран и защита сети
  31. Сеть в macOS: настройка и инструменты
  32. Диагностика сети на Mac
  33. Общий доступ: SSH, экран, файлы, удалённое управление
  34. Процессы и ресурсы: мониторинг производительности
  35. Логи macOS: unified logging и диагностика
  36. Производительность и энергия: powermetrics, диагностика
  37. Энергия, сон и обслуживание системы
  38. Профили конфигурации и основы MDM
  39. Управление парком Mac: MDM, DDM и zero-touch (2026)
  40. Среда разработчика на Mac: Xcode CLT, git, версии
  41. Контейнеры на Mac: Docker Desktop, OrbStack, Apple container
  42. Виртуализация: Virtualization.framework, UTM, Linux и Windows
  43. Режимы загрузки и восстановление (Apple Silicon)
  44. Сброс, NVRAM, Safe Mode и сброс настроек
  45. Траблшутинг macOS: дерево решений по симптомам
  46. Место на диске и обслуживание системы
  47. Сквозной проект: настройка Mac как у профи + куда расти
Боль, которую решаем

Воткнул в Mac внешний диск от коллеги - а он только для чтения. Скопировал фотки на флешку для камеры - камера флешку не видит. Подключил NAS через Finder - половина файлов не удаляется, права кривые, и поверх всего этого Mac рассыпал по чужому серверу гирлянду из .DS_Store. Всё это - один и тот же класс проблем: ты не понимаешь, какой под капотом формат и какой протокол.

Этот урок - про то, как Mac на самом деле видит хранилище. Локальный внешний диск (USB, Thunderbolt) - это блочное устройство с файловой системой, которую надо уметь читать и писать. Сетевой том (SMB, NFS, WebDAV) - это вообще не файловая система на диске, а протокол поверх сокета, со своей моделью прав. Разберём механику обоих, научимся монтировать руками из терминала, выберем правильный формат под задачу и обойдём грабли с правами и мусорными файлами. Темы пересекаются с тем, что Mac-админ парка делает каждый день: внешний диск mac, exfat mac, ntfs mac, smb mac, сетевой диск mac.

Изображение

Локальные диски: от устройства до /Volumes

Когда ты втыкаешь USB- или Thunderbolt-накопитель, ядро регистрирует блочное устройство в /dev. Подсистема diskarbitrationd (Disk Arbitration) видит новый диск, читает таблицу разделов и метаданные файловых систем, и если знает формат - автоматически монтирует тома в /Volumes. Папка с именем тома там появляется сама. Это автомонтирование, и работает оно не через fstab, а через демон.

Посмотрим, что Mac видит, до всякого Finder:

Код: Выделить всё

diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME            SIZE       IDENTIFIER
   0:      GUID_partition_scheme                 *1.0 TB    disk0
   1:                        EFI EFI             314.6 MB   disk0s1
   2:                 Apple_APFS Container disk3  1.0 TB     disk0s2

/dev/disk4 (external, physical):
   #:                       TYPE NAME            SIZE       IDENTIFIER
   0:      GUID_partition_scheme                 *64.0 GB   disk4
   1:       Microsoft Basic Data UNTITLED        64.0 GB    disk4s1
Здесь disk0 - внутренний APFS, а disk4 - наш внешний на 64 ГБ. Метка Microsoft Basic Data и тип Windows_NTFS либо Windows_FAT_32 в выводе - первый намёк, в каком формате диск. Идентификатор disk4s1 - это конкретный раздел, его и будем монтировать или форматировать.

Детали по конкретному тому:

Код: Выделить всё

diskutil info /dev/disk4s1
   Volume Name:              UNTITLED
   File System Personality:  NTFS
   Type (Bundle):            ntfs
   Mount Point:              /Volumes/UNTITLED
   Read-Only Volume:         Yes
   Read-Only Media:          No
Вот оно. Read-Only Volume: Yes, при том что Read-Only Media: No - сам диск писать разрешает, но именно том примонтирован только для чтения. Это классика: NTFS на mac.

Если диск не примонтировался сам (бывает на внешних HFS под Tahoe 26.4 как известный баг), монтируешь руками:

Код: Выделить всё

diskutil mount /dev/disk4s1
Volume UNTITLED on /dev/disk4s1 mounted

diskutil unmount /dev/disk4s1
diskutil unmountDisk /dev/disk4
Запомни разницу: unmount отцепляет один том, unmountDisk - все тома устройства целиком (это и надо делать перед физическим извлечением, чтобы безопасно).

Форматы: что под какую задачу

Формат - это не вкусовщина, это совместимость и фичи. Коротко по делу.
  • APFS (Apple File System) - родной формат Mac начиная с High Sierra. Снапшоты, клоны, шифрование, копирование без дублирования данных. Идеален для дисков, которые живут только на Mac, и для загрузочных/Time Machine-дисков на SSD. Минус: Windows его без сторонних драйверов не читает вообще.
  • Mac OS Extended (HFS+, журналируемый) - предшественник APFS. Сегодня нужен в основном для Time Machine на вращающихся HDD (Apple до сих пор предпочитает HFS+ для механики) и для совместимости со старыми Mac.
  • exFAT - кросс-платформенный формат без журнала. Mac и Windows читают и пишут нативно, понимают камеры, приставки, телевизоры. Нет лимита FAT32 на 4 ГБ один файл. Это правильный выбор для обмена: exfat mac - то, что ты ставишь на флешку и диск, который должен жить и тут, и там. Минус: нет журнала, поэтому при выдёргивании на запись легко получить повреждение. Всегда unmount перед извлечением.
  • MS-DOS (FAT32) - максимальная совместимость со старьём, но потолок файла 4 ГБ и тома около 2 ТБ. Для одного видео уже мало. Бери только если устройство не понимает exFAT.
  • NTFS - формат Windows. Mac читает его из коробки, но не пишет без сторонних драйверов (Paragon NTFS for Mac, Microsoft NTFS by Tuxera и подобные, ставятся через Homebrew cask или вручную). Поэтому диск друга с Windows у тебя только для чтения. Лечится либо драйвером, либо переформатированием в exFAT - если данные можно перенести.
Форматирование из терминала. Внимание: erase стирает всё, проверь идентификатор диска трижды через diskutil list, чтобы не снести не тот диск.

Код: Выделить всё

# exFAT для обмена с Windows и камерами, имя тома SHUTTLE
diskutil eraseDisk ExFAT SHUTTLE /dev/disk4

# APFS только для Mac
diskutil eraseDisk APFS MacWork /dev/disk4

# Mac OS Extended журналируемый (HFS+) под имя BACKUP
diskutil eraseDisk JHFS+ BACKUP /dev/disk4
После eraseDisk идентификаторы разделов меняются - не удивляйся, что бывший disk4s1 стал disk4s2. Перепроверь diskutil list. Хочешь без терминала - то же самое делает Дисковая утилита (Disk Utility): не забудь включить в меню Вид показ всех устройств, иначе физический диск не покажет, только тома.

Сетевые тома: SMB, NFS, WebDAV и легаси AFP

Сетевой том - принципиально другая зверюга. Тут нет файловой системы на твоём диске. Есть протокол, который гоняет файловые операции по сети на чужой сервер. Mac поддерживает SMB (основной), NFS, WebDAV, плюс легаси AFP и FTP (только чтение).

SMB (smb mac) - дефолт сегодня. На нём работают Windows-шары, Samba на Linux, почти все NAS (Synology, QNAP). Apple много лет назад заменила им свой AFP. Самый простой путь - Finder: жмёшь Cmd+K (меню Переход -> Подключение к серверу), вводишь адрес и логин:

Код: Выделить всё

smb://nas.local/media
smb://192.168.1.50/backup
afp://oldserver.local/share     # AFP - только если сервер реально старый
nfs://fileserver/export/data
https://dav.example.com/files   # WebDAV поверх HTTPS
Том появится в /Volumes и в боковой панели Finder. AFP считай мёртвым: Apple его задепрекейтила, новые серверы его не отдают, используй SMB.

Теперь руками из терминала - то, что нужно админу для скриптов и автоматизации. Монтировать SMB лучше через mount_smbfs (это псевдоним mount -t smbfs). Сперва создай точку монтирования - без существующей папки получишь ошибку could not find mount point:

Код: Выделить всё

mkdir -p ~/mnt/nas
mount_smbfs //ivan@nas.local/media ~/mnt/nas
# спросит пароль интерактивно

# то же через универсальный mount
mount -t smbfs //ivan@nas.local/media ~/mnt/nas

# гость без пароля, не дёргать промпт
mount_smbfs -N //guest:@nas.local/public ~/mnt/pub
Полный синтаксис:

Код: Выделить всё

mount_smbfs [-N] //[домен;][пользователь[:пароль]@]сервер/шара точка_монтирования
. Флаг -N подавляет запрос пароля (для guest или когда креды лежат в Связке ключей). Пароль прямо в строке писать можно, но не нужно - он светится в истории команд и в ps; пусти интерактивный промпт или Keychain. Отмонтировать сетевой том - тем же umount или diskutil:

Код: Выделить всё

umount ~/mnt/nas
# или
diskutil unmount ~/mnt/nas
NFS - там, где Unix-парк и не нужна аутентификация по паролю (доверие по IP/UID). Монтируется через обычный mount:

Код: Выделить всё

sudo mount -t nfs -o resvport,rw fileserver:/export/data ~/mnt/nfs
Опция resvport часто обязательна: многие NFS-серверы принимают только привилегированные порты (<1024), иначе получишь Operation not permitted. WebDAV монтируется аналогично mount_webdav или просто через Cmd+K по https-адресу - удобно для облачных хранилищ, которые отдают WebDAV.

Права на сетевых томах и проклятие .DS_Store

Самая частая засада с сетевым диском mac - права. Логика тут не локальная. На SMB-шаре действуют права сервера: твой uid на Mac (скажем, 501) сервер мапит на свою учётку по логину, под которым ты подключился. Поэтому ls -l на смонтированной шаре может показывать чужого владельца или вообще странные uid - это нормально, владение определяет сервер, а не твой Mac.

Код: Выделить всё

ls -le /Volumes/media
drwxr-xr-x  1 ivan  staff  ...  Documents
-rw-r--r--  1 ivan  staff  ...  report.pdf
Если файл не удаляется или не пишется - дело почти всегда в правах на сервере (на NAS - в его веб-панели управления доступом), а не в Mac. chmod/chown на сетевом томе часто молча игнорируются или не имеют смысла: ты не можешь локально переопределить серверную модель доступа. Чини на сервере.

И отдельная боль - .DS_Store. Finder в каждой папке, куда заглядывает, создаёт скрытый файл .DS_Store с настройками вида (сортировка, позиции иконок). На своём Mac это безобидно, но на общей сетевой шаре Mac засеивает этими файлами весь чужой сервер, бесит Windows-коллег и захламляет NAS. Отключается одной настройкой - запретить запись .DS_Store на сетевые тома:

Код: Выделить всё

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
# применится к новым подключениям; перелогинься или перемонтируй шару
Это строго про сетевые тома (Network Stores), на локальных дисках .DS_Store останется - и правильно, там он полезен. Заодно знай про брата ._-файлы (AppleDouble): на не-нативных ФС вроде exFAT Mac хранит расширенные атрибуты и ресурс-форки в скрытых файлах с префиксом ._ рядом с основными. Это тоже видно с Windows как мусор. Почистить уже насорённое поможет dot_clean:

Код: Выделить всё

dot_clean /Volumes/SHUTTLE
Автомонтирование: autofs против fstab

Хочешь, чтобы сетевая шара цеплялась сама. Способов несколько, у каждого свой профиль применимости.
  • Элементы входа (Системные настройки -> Основные -> Объекты входа) или просто галка в Finder - примитивно, но для одного пользователя на одной машине работает. Шара открывается при логине.
  • autofs - правильный механизм для админа. Демон automountd монтирует шару по требованию, в момент первого обращения к каталогу, и отцепляет по таймауту простоя. Конфиг - /etc/auto_master, который ссылается на map-файлы. Минус, который надо знать заранее: autofs - инструмент для продвинутых, и крупные обновления macOS любят откатывать правки в системных конфигах, так что после апгрейда проверяй.
  • /etc/fstab на Mac - есть, но используется редко и не так, как в Linux. На современной macOS его чаще трогают, чтобы запретить автомонтирование конкретного тома по UUID, а не чтобы монтировать сетевое.
Минимальный autofs для SMB. Добавляешь строку в /etc/auto_master:

Код: Выделить всё

# /etc/auto_master
/-                      auto_smb
И map-файл /etc/auto_smb с описанием шары:

Код: Выделить всё

# /etc/auto_smb
/Users/ivan/mnt/nas  -fstype=smbfs ://ivan:pass@nas.local/media
Перечитать конфигурацию без перезагрузки:

Код: Выделить всё

sudo automount -vc
Теперь при первом cd ~/mnt/nas шара примонтируется сама. Креды в открытом виде в map-файле - плохо; для прода держи их в Связке ключей или используй Kerberos, а файл закрой правами 600.

Типичные грабли
  • Диск только для чтения = NTFS. Прежде чем гуглить починку, сделай diskutil info и глянь File System Personality. NTFS - значит нужен драйвер или переформат в exFAT. Не существует штатного способа писать на NTFS из коробки.
  • exFAT и резкое извлечение. Нет журнала - выдернул на записи, получил битую таблицу. Всегда diskutil unmountDisk или Извлечь в Finder перед тем как тянуть кабель.
  • Стёр не тот диск. eraseDisk не спрашивает Are you sure после ввода. Сверяй идентификатор по diskutil list, ориентируйся на размер и метку external.
  • .DS_Store на чужом NAS. Поставь DSDontWriteNetworkStores один раз на всех Mac в парке через MDM-профиль - и забудь про жалобы.
  • NFS: Operation not permitted. Добавь -o resvport. Сервер требует привилегированный порт.
  • could not find mount point. Точку монтирования для mount_smbfs надо создать заранее: mkdir -p.
  • Права на шаре не меняются через chmod. Это не баг Mac. Доступ рулит сервер - правь ACL на NAS.
Мини-лаба: повтори руками

Возьми любую флешку, которую не жалко (данные сотрутся), и опционально доступ к NAS или к расшаренной папке на другом компьютере.
  • Воткни флешку. Выполни diskutil list, найди её по размеру и метке external, запиши идентификатор (например /dev/disk4).
  • Проверь текущий формат: diskutil info /dev/disk4s1. Найди строки File System Personality и Read-Only Volume.
  • Отформатируй в exFAT: diskutil eraseDisk ExFAT LABTEST /dev/disk4. Перечитай diskutil list - убедись, что формат сменился и том примонтировался в /Volumes/LABTEST.
  • Создай файл, скопируй на флешку, потом dot_clean /Volumes/LABTEST и посмотри ls -a - есть ли ._-файлы.
  • Безопасно отцепи: diskutil unmountDisk /dev/disk4.
  • Если есть SMB-шара: mkdir -p ~/mnt/lab, затем mount_smbfs //логин@сервер/шара ~/mnt/lab, введи пароль. Проверь ls -le ~/mnt/lab, отметь владельца. Отмонтируй umount ~/mnt/lab.
  • Включи защиту от мусора на сетевых: defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true.
Контрольные вопросы
  • Внешний диск примонтировался только для чтения. Какой командой выяснить причину за десять секунд и что ты ожидаешь там увидеть?
  • Тебе нужно гонять файлы по 8 ГБ между Mac и Windows на одной флешке. Какой формат выберешь и почему не FAT32 и не NTFS?
  • Чем отличается diskutil unmount от diskutil unmountDisk и какую из них делать перед извлечением диска?
  • Почему chmod на файле внутри SMB-шары часто ничего не меняет и где на самом деле чинить права?
Итог

Локальный диск - это формат на блочном устройстве: смотришь его через diskutil info, монтируешь diskutil mount, выбираешь формат под задачу (APFS - только Mac, exFAT - обмен, NTFS - чужой и только для чтения без драйвера). Сетевой том - это протокол: SMB по умолчанию, монтируешь через Cmd+K или mount_smbfs, права живут на сервере, а Finder норовит насорить .DS_Store - что лечится одним defaults write. Держи в голове разницу между этими двумя мирами, и хранилище на Mac перестанет преподносить сюрпризы.
👍2 ❤️3 🔥 😄 🤔
Аватара пользователя
shigeo
Сообщения: 1
Зарегистрирован: 13 май 2026, 11:55

Re: Внешние диски, форматы и сетевые тома

Сообщение shigeo »

Спасибо, наконец дошло почему диск от бати только для чтения - там реально NTFS оказался по diskutil info. Перегнал в exFAT и всё пишется.
👍2 ❤️1 🔥 😄 🤔1
Аватара пользователя
redis_pilot
Сообщения: 1
Зарегистрирован: 25 май 2026, 14:33

Re: Внешние диски, форматы и сетевые тома

Сообщение redis_pilot »

А DSDontWriteNetworkStores через MDM как профиль раскатывать или плистом руками на каждую машину? У нас парк под полсотни маков, по одной настраивать не хочется.
👍1 ❤️1 🔥 😄 🤔1
Ответить
← Предыдущая глава
Time Machine и резервное копирование
Следующая глава →
Модель безопасности macOS: SIP и целостность системы

Все главы курса «macOS для профи: администрирование, терминал и Homebrew»

Поделиться темой: ✈ Telegram VK
Похожие запросы: Файловая система APFSУправление дисками на MacРезервное копирование Mac (Time Machine)

Вернуться в «macOS для профи: администрирование, терминал и Homebrew»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость