Windows 11: глобальная блокировка записи на диски при низкоуровневых IO запросах?
Симптоматика простая: пытаемся нарезать образ армбиана на SD-карточку через rufus - и с вероятностью 33% процесс блокируется на попытке получить доступ к низкоуровневому API (что-то вроде зтапа "Открываем устройство для записи").
При этом блокируются все текущие записи на диск следующим образом:
- чтение с дисков работает без проблем;
- записи сущностей файловой системы проводятся без ошибок: новые файлы и папки создаются, под открытые на запись файлы выделяются размеры, обновляются мета-поля и тп;
- всё, что пишется в кеш - спокойно продолжает писаться в кеш и читаться из кеша, но из кеша на диск не выгружается;
- всё, что пишется без кеша (кеш отключается в свойствах оборудования) - прекращает записываться: скорость записи падает до нуля, процесс "продолжается", ошибок нет;
- любые созданные или изменённые файлы после возникновения ошибки заполнены нулями;
- chkdsk не находит ошибок.
Что важно, никаких видимых проблем (кроме зависания rufus'а и диспетчера устройств) в работе системы не происходит. IO может заблокироваться, в то время как пользователь будет ещё часа 4 в киберпук наяривать. Единственное, что сообщит ему об ошибке - испорченные сейвы после перезапуска ПК.
Ошибку заметил этим летом, после покупки апельсинки. И чот как-то не очень перспективка, через раз давиться апельсиновым соком. Вот мне и интересно, это я не бом-бом - или лыжи не едут?
Выпуск Windows 11 Pro
Сборка ОС 22000.1219
Взаимодействие Windows Feature Experience Pack 1000.22000.1219.0
Процессор AMD Ryzen 7 5700X 8-Core Processor 3.40 GHz
Материнская плата Gigabyte Aorus X470 Gaming 5 Wi-Fi
Версия BIOS F63c
Оперативная память 32,0 ГБ
AMD Chipset Software 3.08.06.148
SSD Smartbuy 240GB (*System)
Bus Number 5, Target Id 0, LUN 0
SCSI\DISK&VEN_SSD&PROD_SMARTBUY_240GB\5&1DE4210D&0&050000
Samsung SSD 970 EVO Plus 500GB
Размещение 1 (Bus Number 0, Target Id 0, LUN 0)
SCSI\DISK&VEN_NVME&PROD_SAMSUNG_SSD_970\7&2C0D9AAF&0&000000
WDC WD40EZRZ-75GXCB0
Bus Number 3, Target Id 0, LUN 0
SCSI\DISK&VEN_WDC&PROD_WD40EZRZ-75GXCB0\5&1DE4210D&0&030000
Generic Mass-Storage USB Device (**SD Card Reader)
USB\VID_1908&PID_0226\6&26b09227&0&16
USBSTOR\DISK&VEN_GENERIC&PROD_MASS-STORAGE&REV_1.11\7&1D7351B5&1
iCpu, попробуйте ваши два диска сата закинуть на сата2,3 колодки, таблички конфликтов в мануале нет, но могут быть конфликты из за установки м2, и картридер воткнуть на другую колодку, там их 6 на выбор
Дмитрий, ОЧЕНЬ сомневаюсь, т.к. диски в такой конфигурации стоят с 2018 года - и сами по себе не конфликтуют. Можно, конечно, присмотреться к процу, который я прикупил на Али в то же время, что и апельсин. С его установкой комп стал периодически засыпать намертво, и пару раз вываливалось сообщение о смене fTPM. А, может, дело в том, что я поднял частоту памяти с 2666 до 3400, с сохранением таймингов.
В любом случае, ошибки замечал только при низкоуровневом доступе к I/O - при прошивке SD-карточек. Я бы, скорее, присмотрелся к кард-ридеру... Так... Почему я об этом раньше не подумал?
iCpu, лучше к драйверам присмотритесь, в том числе кардридера. Аппаратная неисправность кардридера едва ли может влиять на I/O операции других накопителей, а ошибки драйвера могут, причём не обязательно драйвера кардридера.
Как бэ... Виктория не показывает ничего, потому что без сбоя там нормальный график без провалов (особенно, на NVMe Samsung EVO 970 Plus), а со сбоем она не запускается, зависая на этапе низкоуровневого чтения - до перезагрузки.
iCpu, запустите викторию не из под виндовс, виндовс запрещает низкоуровневый прямой доступ к диску. возмите флешку с помощью WinSetupFromUSB создайте загрузочную область на флешке и запишите образ iso с викторией dos . в биос для загрузки видимости диска dos викторией надо поставить SATA: вместо ACHI, IDE
tncahn, я бы серьёзно занялся этим вопросом, если бы у меня не было чёткого триггера сбойного поведения. И триггер этот заключается в низкоуровневом доступе к usb-дискам. Сбои происходят одновременно на трёх разных устройствах с двумя разными точками входа: 2 SATA и 1 PCIe. Если это и железная проблема, она явно находится не на уровне дисков. Но мне куда проще поверить в то, что мелкомягкие опять пролюбились в районе драйверов USB или глобальных мьютексов.
Три дня как я перевёл апельсин на самообеспечение - подключение по tty и запись на usb-свисток через dd. И за эти три дня "Не было ни единого разрыва!!!".
И ещё...
Очень прекрасный совет: для SSD диска выключить ACHI и проводить remap. "Великолепный план, Уолтер! Просто восхитительный, надёжный, как швейцарские часы!"
Простите, а контроллер SSD-дисков правда будет слушать, что ему скажет remap'ить программа? Точно-точно? SSD точно не пошлёт умников куда подальше, выполнив в простое trim? Вы прям уверены? Вот лично я даже за HDD говорить не буду, с их черепичными SMR. А вы про SSD говорите, у которых 1-10% памяти под сбойные блоки резервируется!
А NVMe диски умеют в ide - или на них даже семёрка без приключений с драйверами не запускается? Виктория давно научилась SSD исправлять лучше встроенного ПО - в обход встроенного ПО? Или она до сих пор из-под DOS открывает NVMe только если есть драйвер?