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.
| Инструмент | Платформы | Назначение | Интерфейс |
|---|---|---|---|
| fio | Windows, Linux, macOS | Гибкие тесты скорости и задержек | Командная строка |
| CrystalDiskMark | Windows | Быстрый бенчмарк скорости | Графический |
| KDiskMark | Linux | Аналог CrystalDiskMark | Графический |
| smartctl | Windows, Linux, macOS | Чтение SMART и самодиагностика | Командная строка |
Подготовка диска к тестированию
Перед любым замером проверьте состояние накопителя через SMART — нет смысла мерить скорость диска, который уже деградирует. Выполните команду smartctl -a /dev/sdX в Linux или macOS (в Windows путь к устройству указывается иначе, например smartctl -a /dev/sda из терминала с правами администратора). Обратите внимание на атрибуты переназначенных секторов, количество ошибок и процент износа для SSD.
Далее убедитесь, что на диске достаточно свободного места — тестовому файлу нужен объём, обычно от 1 ГБ и больше. Закройте приложения, которые активно пишут на диск: торрент-клиенты, антивирусное сканирование, индексация. Фоновая нагрузка искажает результаты сильнее, чем разница между операционными системами.
☑️ Подготовка к cross platform disk test
⚠️ Внимание: деструктивные тесты записи (например, 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 отражает здоровье накопителя, но не фиксирует проблемы интерфейса и программной части.