Cross platform disk test — это тестирование накопителя одним и тем же инструментом или сопоставимой методикой в разных операционных системах: Windows, Linux и macOS. Такая задача возникает, когда SSD или HDD используется на нескольких машинах, когда нужно сравнить производительность диска до и после переустановки ОС или когда результаты бенчмарка из одной системы выглядят подозрительно и их требуется перепроверить в другой.

Главная сложность в том, что разные ОС по-разному работают с кэшем, очередями команд и файловыми системами, поэтому «голые» цифры из разных программ сравнивать напрямую нельзя. Ниже разберём, какие инструменты действительно кроссплатформенные, как подготовить диск к тесту и как интерпретировать результаты, чтобы не сделать ложных выводов о неисправности.

Зачем нужен кроссплатформенный тест диска

Типовой сценарий: диск показывает низкую скорость записи в Windows, и нужно понять — виноват сам накопитель, драйвер чипсета или настройки ОС. Если тот же SSD в Linux выдаёт ожидаемые значения, проблема почти наверняка в программной части Windows, а не в железе. Это самый быстрый способ локализовать неисправность без замены комплектующих.

Вторая причина — честное сравнение накопителей. Производители указывают скорости, полученные в идеальных условиях конкретного бенчмарка. Кроссплатформенный тест с фиксированными параметрами (размер блока, глубина очереди, объём данных) даёт воспроизводимую картину, которую можно сравнивать между машинами и системами.

💡

Кроссплатформенный тест нужен не ради «красивых цифр», а чтобы отделить аппаратную проблему диска от программных проблем конкретной ОС.

Инструменты, работающие на разных ОС

Действительно кроссплатформенных решений немного. Основной инструмент — fio (Flexible I/O Tester): он работает в Windows, Linux и macOS и позволяет задать идентичные параметры нагрузки на всех системах. Именно fio считается эталоном для воспроизводимых тестов, хотя у него нет графического интерфейса.

Остальные популярные программы либо привязаны к одной ОС, либо имеют отдельные порты. CrystalDiskMark — только Windows, KDiskMark — его аналог для Linux с похожим интерфейсом, AmorphousDiskMark — аналог для macOS. Все три используют схожую методику, поэтому их результаты можно сопоставлять с оговорками. Для диагностики здоровья диска на всех платформах применяется smartctl из пакета smartmontools.

ИнструментПлатформыНазначениеИнтерфейс
fioWindows, Linux, macOSГибкие тесты скорости и задержекКомандная строка
CrystalDiskMarkWindowsБыстрый бенчмарк скоростиГрафический
KDiskMarkLinuxАналог CrystalDiskMarkГрафический
smartctlWindows, Linux, macOSЧтение SMART и самодиагностикаКомандная строка
📊 Какой инструмент вы используете для тестирования дисков?
CrystalDiskMark
fio
KDiskMark / AmorphousDiskMark
Встроенные средства ОС

Подготовка диска к тестированию

Перед любым замером проверьте состояние накопителя через SMART — нет смысла мерить скорость диска, который уже деградирует. Выполните команду smartctl -a /dev/sdX в Linux или macOS (в Windows путь к устройству указывается иначе, например smartctl -a /dev/sda из терминала с правами администратора). Обратите внимание на атрибуты переназначенных секторов, количество ошибок и процент износа для SSD.

Далее убедитесь, что на диске достаточно свободного места — тестовому файлу нужен объём, обычно от 1 ГБ и больше. Закройте приложения, которые активно пишут на диск: торрент-клиенты, антивирусное сканирование, индексация. Фоновая нагрузка искажает результаты сильнее, чем разница между операционными системами.

☑️ Подготовка к cross platform disk test

Выполнено: 0 / 5

⚠️ Внимание: деструктивные тесты записи (например, fio с прямой записью на устройство без файловой системы) уничтожают данные на диске. Перед такими проверками сделайте резервную копию и трижды проверьте, что указали правильное устройство.

Тест скорости с помощью fio

Чтобы результаты были сопоставимы между системами, используйте одинаковый набор параметров. Базовый тест последовательного чтения с блоком 1 МБ выглядит так:

fio --name=seqread --rw=read --bs=1M --size=1G --filename=testfile --direct=1

Для случайной записи блоками 4 КБ с глубиной очереди 32 команда будет другой:

fio --name=randwrite --rw=randwrite --bs=4k --size=1G --iodepth=32 --filename=testfile --direct=1

Параметр --direct=1 отключает кэширование ОС — без него вы измеряете скорость оперативной памяти, а не диска. Файл testfile создаётся в текущем каталоге, поэтому перед запуском перейдите на раздел нужного накопителя. После теста удалите файл, чтобы он не занимал место.

В выводе fio смотрите на строки bw (пропускная способность) и IOPS. Для SSD важны оба показателя, для HDD случайные операции будут на порядки медленнее последовательных — это норма, а не признак неисправности.

💡

Запускайте каждый тест минимум дважды и сравнивайте результаты. Разброс более чем на 10–15% между прогонами говорит о фоновой нагрузке или перегреве с троттлингом.

Проверка здоровья диска через SMART

Скорость — только половина картины. Кроссплатформенная диагностика состояния выполняется через smartctl. Помимо чтения атрибутов, утилита умеет запускать встроенные самотесты накопителя: короткий и расширенный. Команда запуска короткого теста:

smartctl -t short /dev/sdX

Через несколько минут результат можно посмотреть командой smartctl -l selftest /dev/sdX. Самотест выполняется контроллером самого диска, поэтому его результат не зависит от операционной системы — это и есть самый «честный» кроссплатформенный тест.

  • 🔍 Reallocated Sector Count — переназначенные секторы; рост значения указывает на деградацию поверхности или ячеек.
  • 🌡️ Temperature — перегрев вызывает троттлинг и искажает результаты бенчмарков.
  • Power-On Hours — наработка помогает оценить реальный возраст накопителя.
  • 📉 Percentage Used (для NVMe) — оценка износа ресурса записи в процентах.
Почему smartctl не видит диск за USB-переходником

Многие USB-SATA мосты не пробрасывают SMART-команды или требуют указания типа транспорта. Попробуйте варианты smartctl -d sat -a /dev/sdX или smartctl -d usbjmicron -a /dev/sdX. Если ни один тип не сработал, подключите диск напрямую к SATA/NVMe-порту — это ограничение конкретного переходника, а не диска.

Типичные ошибки при сравнении результатов

Самая частая ошибка — сравнивать цифры CrystalDiskMark в Windows с выводом fio в Linux без учёта параметров. Разный размер блока, разная глубина очереди и включённый кэш дают расхождения в разы. Приведите тесты к общим параметрам, прежде чем делать выводы.

Вторая ошибка — игнорирование файловой системы. Один и тот же диск с NTFS, ext4 и APFS покажет разную скорость на мелких файлах из-за различий в журналировании и метаданных. Для чистого теста «железа» используйте --direct=1 и крупные блоки, для оценки реальной работы — тестируйте на той файловой системе, которая будет использоваться.

⚠️ Внимание: многократные полные перезаписи SSD ради «проверки» расходуют ресурс ячеек памяти. Для регулярного мониторинга достаточно SMART и коротких тестов чтения — деструктивные проверки оставьте для разовой диагностики.

  • 🚫 Не сравнивайте результаты с разным размером тестового файла.
  • 🚫 Не тестируйте диск, пока идёт фоновое обслуживание ОС (TRIM, дефрагментация, индексация).
  • 🚫 Не считайте один низкий результат признаком неисправности — ищите воспроизводимость.
💡

Сопоставимость результатов обеспечивается не названием программы, а одинаковыми параметрами: размер блока, глубина очереди, объём данных и отключённый кэш.

Интерпретация результатов и дальнейшие действия

Если диск показывает низкую скорость во всех ОС одинаково — вероятна аппаратная причина: износ, перегрев, неисправный кабель или порт. Проверьте температуру в SMART, замените кабель SATA или переставьте NVMe в другой слот, если конструкция позволяет.

Если проблема проявляется только в одной системе, ищите программную причину: устаревший драйвер контроллера, режим энергосбережения, антивирусный фильтр или некорректные настройки очереди. В Windows проверьте драйвер чипсета и режим работы SATA-контроллера в BIOS/UEFI; в Linux — планировщик ввода-вывода и параметры монтирования.

Когда SMART показывает растущие ошибки или failed-статус самотеста, дальнейшие бенчмарки бессмысленны — копируйте данные и планируйте замену накопителя. Скорость в этом случае уже не имеет значения.

Как проверить NVMe-диск без установки сторонних программ

В Linux базовую проверку можно выполнить встроенными средствами: hdparm -Tt /dev/nvme0n1 для грубой оценки чтения, dd с oflag=direct для записи. Эти методы менее точны, чем fio, но доступны на любом LiveUSB без установки пакетов. Для NVMe также полезна команда nvme smart-log /dev/nvme0 из пакета nvme-cli — она показывает расширенный лог состояния.

Часто задаваемые вопросы

Какой тест диска самый точный для сравнения между Windows и Linux?

fio с идентичными параметрами командной строки и флагом --direct=1. Он исключает влияние кэша ОС и доступен на обеих платформах, что делает результаты напрямую сопоставимыми.

Можно ли сравнивать CrystalDiskMark и KDiskMark напрямую?

С оговорками. Программы используют схожую методику, но работают поверх разных ОС с разным кэшированием и драйверами. Совпадение результатов в пределах 10–20% обычно считается нормальным.

Вредит ли тестирование ресурсу SSD?

Тесты чтения практически безвредны. Тесты записи расходуют ресурс ячеек, но разовый прогон объёмом в несколько гигабайт ничтожен по сравнению с общим ресурсом накопителя. Избегать стоит только регулярных полных перезаписей всего объёма.

Почему диск в macOS показывает другую скорость, чем в Windows на том же Mac?

Возможные причины — разные драйверы контроллера, файловая система (APFS против NTFS) и политики энергосбережения ОС. Для честного сравнения используйте fio с одинаковыми параметрами в обеих системах.

Что делать, если SMART в порядке, но диск работает медленно?

Проверьте температуру под нагрузкой (троттлинг), кабель и порт подключения, драйверы контроллера и фоновые процессы. SMART отражает здоровье накопителя, но не фиксирует проблемы интерфейса и программной части.