#!/bin/bash

# Диагностика проблемы с внешним диском на macOS
# Использование: ./diagnose-external-disk.sh

echo "=========================================="
echo "Диагностика внешнего диска на macOS"
echo "=========================================="
echo ""

# 1. Проверка подключенных дисков
echo "1. Список всех дисков:"
echo "----------------------------------------"
diskutil list
echo ""

# 2. Проверка USB устройств
echo "2. USB устройства:"
echo "----------------------------------------"
system_profiler SPUSBDataType | grep -A 10 -i "mass\|storage\|disk" || echo "Нет USB устройств хранения данных"
echo ""

# 3. Проверка не смонтированных дисков
echo "3. Информация о всех дисках:"
echo "----------------------------------------"
diskutil info -all 2>&1 | grep -E "Device Node|Volume Name|Removable Media|Disk Size" | head -40
echo ""

# 4. Проверка системных логов на ошибки
echo "4. Последние ошибки дисков в логах:"
echo "----------------------------------------"
log show --predicate 'subsystem == "com.apple.diskmanagementd" OR subsystem == "com.apple.diskarbitrationd"' --last 10m --style syslog 2>/dev/null | tail -20 || echo "Нет ошибок в логах"
echo ""

# 5. Проверка низкоуровневых USB устройств
echo "5. USB устройства на низком уровне:"
echo "----------------------------------------"
ioreg -p IOUSB -l -w 0 | grep -B 5 -A 15 -i "mass\|storage" | head -50 || echo "Нет USB устройств хранения"
echo ""

# 6. Проверка доступных портов
echo "6. Доступные USB порты:"
echo "----------------------------------------"
system_profiler SPUSBDataType | grep -E "USB|Port|Hub" | head -30
echo ""

# 7. Проверка файловой системы
echo "7. Проверка файловых систем:"
echo "----------------------------------------"
diskutil listFilesystems
echo ""

echo "=========================================="
echo "РЕКОМЕНДАЦИИ:"
echo "=========================================="
echo ""
echo "1. Проверьте физическое подключение:"
echo "   - Отключите и снова подключите диск"
echo "   - Попробуйте другой USB порт"
echo "   - Попробуйте другой USB кабель"
echo ""
echo "2. Проверьте питание диска:"
echo "   - Убедитесь что диск получает достаточно питания"
echo "   - Если диск требует внешнего питания, подключите его"
echo ""
echo "3. Попробуйте другой компьютер:"
echo "   - Проверьте работает ли диск на другом Mac/PC"
echo ""
echo "4. Проверьте формат диска:"
echo "   - macOS может не видеть диски с некоторыми файловыми системами"
echo "   - Попробуйте открыть Дисковую утилиту (Disk Utility)"
echo ""
echo "5. Попробуйте принудительно смонтировать:"
echo "   diskutil mountDisk /dev/diskX  # где X - номер диска"
echo ""
echo "6. Проверьте настройки безопасности:"
echo "   - Системные настройки > Безопасность > Разрешить подключение внешних устройств"
echo ""







