Disk read error outofmemoryerror перевод

A disk read error occurred — что это за ошибка Если появилась ошибка «Error disk read error occurred. Press Ctrl+Alt+Del to restart» при попытке запустить Windows, то это значит, что активировать систему не получилось. Рекомендуемый перезапуск системы обычно не помогает. Сколько бы пользователь не перезагружал ОС, она отказывается включаться и зависает на черном экране […]

Содержание

  1. A disk read error occurred — что это за ошибка
  2. Error disk read error occurred
  3. Описание ошибки
  4. Причины ошибки error disk read error occurred
  5. Некорректная конфигурация главной загрузочной записи
  6. Проблемы с настройкой таблицы разделов
  7. Технические проблемы
  8. Исправление ошибки
  9. Проверка специальными программами (Test Disk, DMDE)
  10. Проверить правильность подключения кабелей к жесткому диску
  11. Проверка оперативной памяти
  12. Обновить БИОС или сбросить к стандартным настройкам
  13. Способы восстановление системы
  14. Команды, которые можно задать через строку
  15. «A disk read error occurred» — как исправить эту ошибку чтения диска (появилась сразу после включения компьютера)
  16. Что можно посоветовать для исправления ошибки чтения диска
  17. ШАГ 1
  18. ШАГ 2
  19. ШАГ 3 (если не определяется диск)
  20. ШАГ 4 (если диск определяется)

A disk read error occurred — что это за ошибка

Если появилась ошибка «Error disk read error occurred. Press Ctrl+Alt+Del to restart» при попытке запустить Windows, то это значит, что активировать систему не получилось. Рекомендуемый перезапуск системы обычно не помогает. Сколько бы пользователь не перезагружал ОС, она отказывается включаться и зависает на черном экране с ошибкой. Каковы причины сбоя и что можно сделать при такой ошибке – подробно описано в этой статье.

Error disk read error occurred

Ошибка дает понять, что система не может быть загружена из-за неполадок диска. ОС не может прочитать важные системные данные, необходимые для нормальной работы. Если точнее, то ошибка «a disk read error occurred» указывает на неисправную загрузочную запись или данные логического диска.

Описание ошибки

От повреждения данных никто не застрахован, ошибка может появиться как у пользователя Windows XP, так и владельцев десятой версии. Ей подвержены ноутбуки и стационарные компьютеры. Все из-за того, что в каждом из перечисленных устройств используются одни файловые системы. Соответственно, причины сбоя одинаковые в каждой версии.

Причины ошибки error disk read error occurred

Прежде, чем что-либо начать делать для исправления ошибки, следует разобраться с ее причинами. Если удастся выяснить первоисточник неисправности, станет проще определиться с рабочими методами устранения неполадки.

Некорректная конфигурация главной загрузочной записи

Поврежденная загрузочная запись – это самая частая причина ошибки. Спровоцировать нарушение целостности важнейшего раздела для загрузки Windows может обычный скачок напряжения или отключение света. При непредвиденном выключении ПК некоторые элементы могут быть перезаписаны или утрачены.

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

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

Проблемы с настройкой таблицы разделов

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

Технические проблемы

Сюда относятся сразу несколько потенциальных причин:

  1. Жесткий диск больше не работает. Обычно этому предшествует несвойственное HDD поведение. Например: сторонние шумы во время работы, треск или жужжание, сложность запуска диска (загружается не с первого раза), часто появляются синие экраны «смерти», компьютер без видимых причин перезагружается и прочее. Редко, но диск мог сломаться без предшествующих причин. После падения HDD также часто выходит из строя.
  2. Неправильно подключен диск. Сюда же можно отнести ситуации, когда контакты винчестера или кабеля окислились. Выход из строя – это одна из частых и легко устраняемых проблем.
  3. Неисправность блока питания. Если блок питания не может выдавать достаточное потребление, то компьютер «задыхается» и проявляется это в различных ошибках. ПК может как вовсе не включаться, так и работать неправильно или выключаться при сильных нагрузках.

Еще один возможный источник неисправности – БИОС, настройки которого сбросились после ручного обновления или физической поломки.

Исправление ошибки

Существует несколько несложных манипуляций, которые способны исправить ошибку.

Проверка специальными программами (Test Disk, DMDE)

Есть ряд утилит, которые умеют сканировать диск. После каждого сектора приложение проверяет его наличие в таблице. Таким образом удается устранить те фрагменты диска, которые отсутствуют в таблице разделов. Из массы аналогичных программ утилита Test Disk показалась самой быстрой, она активно поддерживается и имеет большой функционал. По этой причине дальнейшие действия по исправлению ошибки будут проводиться в ней. DMDE является достойным аналогом, в котором доступны аналогичные действия.

Инструкция по восстановлению:

  1. Нужна Live CD-флешка с записанной на нее программой Test Disk. Можно скачать со специализированных сайтов или воспользоваться дистрибутивом с целым набором полезных утилит по работе с диском. Для создания загрузочной флешки можно использовать Win Setup From USB, Ultra ISO или Daemon Tools Ultra.
  2. Включить компьютер и запустить его со съемного накопителя. Для этого можно внести настройки «Boot» в BIOS, установив флешку приоритетным устройством для запуска. Еще один вариант: во время загрузки системы нажать F9 (появится подсказка), далее выбрать накопитель.
  3. В окне утилиты активировать «Create a new log file», отказываться от файла логов не стоит.
  4. Выделить проблемный диск и нажать «Proceed». В качестве вида разделов стоит установить Intel.
  5. Использовать функцию «Analyse current partition…».
  6. Если результат работы программы оказался удачным, тогда выбрать действие «Backup». В противном случае, запустить повторное сканирование.
  7. Весь список готов, светится зелёным? Хорошо, нажать «Ок» и пробовать загрузить Windows. Если быстрому сканированию не удалось помочь, выбрать «Deep search».

Проверить правильность подключения кабелей к жесткому диску

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

  1. Если незадолго до появления ошибки внутри компьютера проводились какие-то работы, то следует проверить надежность подключения кабелей. Бывает и такое, что системный блок стоял без крышки, а кабель задел один из домочадцев или животное. Стоит извлечь SATA-шину со стороны жёсткого диска и материнской платы, а затем её переподключить. Еще имеет смысл сменить кабель на другой. Это поможет исключить риск его выхода из строя.
  2. Ошибка появилась после подключения дополнительного диска? Нужно попробовать отсоединить его и проверить как загружается система с одним HDD. Также стоит попробовать подключить диск к другому SATA-порту.
  3. Проверка качества контактов. Окисление особенно часто происходит в компьютерах, которые давно не эксплуатировались. Рекомендуется извлечь кабеля и проверить их качество.

Проверка оперативной памяти

При наличии доступа к Windows проще удостовериться, что оперативная память полностью исправна. Когда система не запускается, то придется снова использовать Live CD-флешку с утилитой memtest86+.

Инструкция к действию:

  1. Вытащить из компьютера всю оперативную память, кроме одной планки.
  2. Подключить флешку с memtest86+ и запустить ее. Сразу появится автоматическая проверка памяти. По завершению тестирования отобразятся найденные ошибки, если таковые есть. Их особенности стоит посмотреть в сети, переписав код ошибки.
  3. Выключить компьютер, установить другой модуль памяти и повторить прошлое действие. Выполнить процедуру нужное количество раз в зависимости от планок ОЗУ.

Обновить БИОС или сбросить к стандартным настройкам

Если удалось вспомнить, что предпосылкой к появлению ошибки стала работа с БИОСом, тогда следует:

  1. Сбросить настройки. Процедуру часто приходится выполнять после обновления БИОС. Для этого достаточно перезагрузить ПК, во время запуска открыть BIOS (F2 или Del) и выбрать опцию на главном экране «Load Optimized Defaults». Название пункта может немного отличаться.
  2. Настроить БИОС после сброса. По завершению на странице с настройками SATA следует правильно определить тип AHCI/IDE (можно попробовать каждый).
  3. Установить правильный порядок загрузки. На странице «Boot» нужно назначить в качестве первоочередного устройства для запуска именно жесткий диск. Часто эту настройку меняют в момент установки Windows с флешки или диска.
  4. Обновить BIOS. Практически каждый производитель выпускает специальные утилиты для обновления БИОСа. Остается только сделать загрузочную флешку с ней, запуститься с накопителя и включить обновление.

Способы восстановление системы

Есть ещё несколько дополнительных способов устранения ошибки:

  1. Восстановление системы – это инструмент для возвращения к Windows, который доступен при наличии установочного диска или флешки. После запуска системы перейти в одноименный пункт, затем в «Поиск и устранение неисправностей». Здесь пользователя интересует пункт «Восстановление при загрузке». Инструмент автоматически поможет убрать неисправность загрузочной записи.
  2. Переустановка Windows – это самый радикальный метод, к которому стоит прибегать в крайнем случае. И все-таки метод рабочий, а также не требует диагностики системы.

Команды, которые можно задать через строку

Следующие консольные команды способны устранить сбой:

  • восстановить загрузчик может команда bcdboot c:windows, где C – это буква системного логического диска;
  • восстановление загрузочной записи выполняется командами bootrec.exe /fixmbr и bootrec.exe /fixboot;
  • за проверку исправности диска отвечает команда chkdsk C: /f /r. Ее можно запустить для всех разделов по очереди, но главное проверить системный диск.

Все перечисленные способы исправления ошибки «a disk read error occurred» хороши тем, что позволяют сберечь данные диска. Они никак не влияют на сохранность информации, поэтому после восстановления Windows данные останутся доступными. Единственное исключение – неисправный жесткий диск. В этом случае проблему не всегда удается исправить. При наличии подозрений на поломку HDD нужно создать резервную копию со всеми важными данными диска. В остальных случаях исправить ошибку реально собственными силами.

Источник

«A disk read error occurred» — как исправить эту ошибку чтения диска (появилась сразу после включения компьютера)

Сегодня из ниоткуда на экране ПК появилась одна пакость: «A disk read error occurred. Press Ctrl+Alt+Del». С системой ничего не делал: не удалял, не обновлял, не устанавливал. и т.д.

Есть подозрение только на одно: я накануне часа 2 вечером копировал фильмы на флешки и DVD-диски. Может с диском что-то случилось? Подскажите, как это можно исправить.

Если перевести эту ошибку на русский (для более простого понимания широкой аудитории) — то она означает, что «Произошла ошибка чтения диска». Возникать она может не всегда из-за поломки диска (хватает и других причин: сбившиеся настройки BIOS; неправильное отключение, приведшее к ошибкам файловой системы и т.д.).

Ниже, постараюсь в пошаговом и простом «стиле» представить первичную диагностику. Думаю, большинство с ней справятся. 👌

Что можно посоветовать для исправления ошибки чтения диска

ШАГ 1

И так, первый совет банальный : проверьте и отключите от компьютера все флешки, CD/DVD-диски, внешние HDD, дискеты и т.д. (тем более, если вы накануне что-то записывали на эти типы накопителей).

Примечание: многие пользователи, скинув на внешний накопитель данные, забывают его в USB и выключают компьютер. А затем, при включении, ПК начинает искать загрузочные записи на этой самой флешке (например) — разумеется, их не находит и возникает ошибка*!

Флешка подключена к USB-порту!

👉 Дополнение: если к компьютеру подключен сканер, принтер, телефон и пр. периферийные устройства — отключите их также на время диагностики. Оставьте мышь, клавиатуру, монитор — т.е. самый «минимум».

Если накануне устанавливали доп. диски (HDD/SSD и пр.) — отключите их!

ШАГ 2

Если первый шаг не помог — следующее, что я порекомендую — это проверить настройки BIOS (UEFI) компьютера.

1) Как войти в БИОС (BIOS) на компьютере / ноутбуке.

👉 В первую очередь в BIOS нужно проверить 2 вещи:

  • определяется ли диск (на котором установлена Windows). Видна ли его модель/размер? Если не определяется — см. шаг 3.
  • стоит ли диск первым в очереди* загрузки ( примечание : в BIOS можно задавать приоритет накопителей: т.е., например, можно задать, чтобы компьютер сначала искал загрузочную флешку, а если ее нет, загружался с диска. Нам нужно сразу же указать диск. ).

Как правило, модель диска (если он определился) можно увидеть сразу же после входа в BIOS (на странице «Main»). Установлен ли этот диск первым по приоритету загрузки — см. раздел BOOT. Пример привел на фотографиях ниже. 👇

Диск определяется (уже неплохо)

Boot Option #1 — указан диск с ОС Windows (настройки BIOS)

Примечание : после проведенных изменений в BIOS — не забудьте сохранить настройки. Как правило, для этого достаточно нажать клавишу F10.

ШАГ 3 (если не определяется диск)

Это явно указывает на какую-то аппаратную причину. (не всегда не определяющийся диск начал сыпаться и нуждается в замене).

Для начала я бы посоветовал отключить системный блок от питания и посмотреть, не отошел ли какой-нибудь шлейф от диска. Желательно попробовать подключить диск к другому разъему на мат. плате (благо на любой мат. плате есть по несколько SATA-портов).

Не отошли ли шлейфы.

Если диск компьютер так и не увидел, то первое в чем необходимо убедиться — исправен ли он вообще, не пришел ли в негодность. Для этого лучше всего диск подключить к другому компьютеру / ноутбуку. Если у вас есть спец. переходники — диск можно даже подключить к USB-порту (пару ссылок ниже о том, как это сделать).

Подключение SATA и кабеля питания к диску

👉 Кстати!

Компьютер можно использовать даже без диска! Для этого вам понадобиться спец. подготовленная флешка (так называемый «живой» LiveCD) — Windows будет загружена прямо с нее (и она мало чем отличается от обычной ОС).

О том, где загрузить нужный ISO образ с LiveCD и как его правильно подготовить — можете узнать из этой статьи.

ШАГ 4 (если диск определяется)

И так, на этом этапе будем считать, что диск определяется в BIOS, он первый в приоритете загрузки, и с него раньше ПК благополучно загружался.

Для дальнейшей работы нам понадобиться 👉 LiveCD-флешка от Сергея Стрельца.

👉 Загрузившись с нее — необходимо открыть программу Victoria и проверить диск (оценить его состояние — не начал ли он сыпаться (из-за этого, кстати, «часть» диска могла перестать читаться и, как следствие, ошибка «A disk read error occurred»)).

Тестирование быстрое (Quick) — Victoria 5

👉 Если с самим диском всё в порядке — не лишним было бы проверить файловую систему на ошибки (делается также с LiveCD-флешки!).

Для этого необходимо будет открыть командную строку, ввести chkdsk C: /f /r и нажать Enter. 👇 В течении 5-15 мин. (в среднем) диск будет проверен, а ошибки исправлены.

👉 Если вышеприведенное не помогло, то как вариант, можно попробовать с помощью установочной флешки (с Windows) восстановить систему (загрузчик ОС). О том, как это сделать — см. эту заметку.

Восстановление системы (при установке ОС)

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

Источник

Многие пользователи ПК во время работы с какой-либо программой могут столкнуться с «вылетом» указанной программы, и появившимся сообщением «Out of memory». Возникшая проблема может иметь множество причин, начиная от банального недостатка памяти на пользовательском ПК, и заканчивая некорректной работой с памятью какой-либо программы.

  • Причины появления дисфункции
  • Как исправить ошибку «Out of memory»
  • Заключение

Ошибка out of memory

Причины появления дисфункции

Сообщение «Out of memory» (в переводе дословно «вне памяти», или «недостаточно памяти») обычно возникает при недостатке памяти на пользовательском компьютере. В частности же, в появлении данной ошибки «виновен» следующий набор факторов:

  • Недостаток памяти RAM на вашем ПК (рабочей памяти, планки которой установлены на материнской плате вашего компьютера). Если на вашем компьютере установлен всего 1 гигабайт памяти, вы будете встречаться с описываемой ошибкой довольно часто. Нормальным же ныне считается наличие на компьютере 4 гигабайт памяти и выше;
  • Недостаток места на жёстком диске.

Когда вашему компьютеру не хватает физической R.A.M. памяти, он заимствует часть места на жёстком диске, и создаёт так называемую «виртуальную память». Система временно хранит в такой виртуальной памяти ту часть данных, которая не помещается в памяти обычной. Такие данные обычно хранятся в файле «pagefile.sys», размер которого может увеличиваться или уменьшаться в зависимости от специфики работы вашей ОС. Если на диске будет недостаточно места, файл «pagefile.sys» не сможет расти, и пользователь получит рассматриваемую ошибку.

  • При одновременном запуске на ПК большого количества программ, каждая из которых бронирует часть памяти ПК под свои задачи;
  • При запуск большого количества вкладок браузера. Веб-навигаторы уровня «Firefox» или «Google Chrome» способны занимать от 500 мегабайт до 1 гигабайта памяти под свой функционал, при этом число открытых вкладок и соответствующей обслуживающей памяти может быть ограничено системой. Специалисты Майрософт называют такую проблему «the desktop heap limitation» — «ограничение кучи рабочего стола»);
  • Некорректная работа с памятью ряда программ (наиболее часто это игровые программы);
  • Не оптимальный размер файла подкачки, с которым работает система.Планка памяти и датчик

Как исправить ошибку «Out of memory»

Для решения указанной проблемы рекомендую сделать следующее:

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

Альтернативным вариантом решения проблемы является установка соответствующего фикса от Майкрософт. Или использование расширений или дополнений для браузера уровня «The Great Suspender» для «Google Chrome», хорошо работающего с ненужными вкладками браузера.

  • Добавьте оперативной памяти на ваш ПК. Если у вас на компьютере установлено 1-2 гигабайта памяти, будет оптимальным довести её объём до 4 гигабайт (а для 64-битных Виндовс 7, 8 и 10 версии рекомендую 8 и более гигабайт);Планка памяти
  • Убедитесь, что на вашем жёстком диске (или SSD) достаточно свободного места. При необходимости, освободите диск от ненужных файлов;
  • Используйте инструмент командной строки BCDEdit для изменения параметров загрузки системы. Если у вас на ПК установлена Виндовс 7 и более, запустите командную строку от имени администратора на Виндовс 7 и Виндовс 10, и в ней наберите:

bcdedit/set IncreaseUserVa 3072

И нажмите на ввод, и перезагрузите ваш ПК. Функционал данной команды позволяет выделить пользовательским приложениям 3 гигабайта оперативной памяти для работы. В некоторых системах этого может быть слишком много, потому если после ввода данной команды система начала чаще сбоить, то введите в командной строке от имени администратора:

bcdedit /set IncreaseUserVa 2560 что позволит задействовать 2,5 гигабайта вместо ранее забронированных 3.

Если ситуацию этим исправить не удалось, верните настройки на состояние по умолчанию:

bcdedit /deletevalue IncreaseUserVa

  • Увеличьте объём файла подкачки. Нажмите кнопку «Пуск», в строке поиска введите sysdm.cpl и нажмите ввод. В открывшемся окне настроек системы выберите «Дополнительно» — «Быстродействие» — «Параметры» — «Дополнительно» — «Виртуальная память» — «Изменить». Снимите галочку с опции автоматического размера, поставьте галочку на «Указать размер», и поставьте исходный размер в 8192, и максимальный в 8192. Затем выберите «Задать»;

    Окно виртуальной памяти

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

  • Если ошибка возникает при использовании игровой программы, перейдите в её графические настройки, и выберите их минимальные значения;
  • Произведите правильную настройку «Java». Для решения проблем с игровой программой «Майнкрафт» перейдите в Панель управления Виндовс, найдите там «Java» и запустите данную среду исполнения. Нажмите на кнопку «View», затем дважды кликните на «Runtime Parametres». Введите туда –Xms256m – Xmx3072m (или больше). Xms – это минимальное выделение ОЗУ, Xmx – максимальное. Значение Xmx рекомендуют устанавливать на процентов 70-80% от общего объёма ОЗУ. Примените изменения, и перезагрузите ваш ПК.

Заключение

Ошибка «Out of memory» может иметь множество причин, связанных как с физическим недостатком памяти на ПК, так и другими детерминантами, изложенными мной выше. Для решения проблемы советую закрыть ненужные программы (вкладки браузера) на вашем компьютере (тем самым разгрузив его память), а самым эффективным инструментом является установка дополнительной планки памяти на ПК, что в большинстве случаев поможет избавиться от ошибки на вашем компьютере.

Fix A Disk Read Error Occurred with 7 Solutions in Windows 10/8/7

You will be asked to press the Ctrl+Alt +Del to restart. However, most times, it won’t help, and you won’t be able to boot your computer correctly. The issue has infected a large number of users in Windows 10/8/7/XP. On this page, we have collected seven ways that said to be the most effective solutions to fix a disk read error occurred

Workable Solutions Step-by-step Troubleshooting
1. Back Up Data Without OS Download and Install EaseUS Todo Backup on the working computer. Click Tools…Full steps
2. Check SATA Cables Try a different port for the SATA/SATA M2 cables. If you have more than one HDD…Full steps
3. Run Surface Test Run EaseUS Partition Master, right-click the disk you want to check…Full steps
4. Repair MBR Download and launch EaseUS Partition Master on a new PC…Full steps
5. Other Effective Solutions Run bootrec > Check RAM Memory > Reset or Update BIOS…Full steps

A Disk Read Error Occurred Press Ctrl+Alt+Del to Restart

As a computer user, you may get many errors that prevent you from accessing your hard drive or data. Among them, disk read error is the most frustrating one. When it appears, you will receive the following message: «A disk read error occurred. Press Ctrl+Alt+Del to restart«. It is a common error that you can encounter and it indicates that Windows detects a hard disk problem or the process of reading hard disk goes wrong. Restart the computer by pressing Ctrl + Alt + Del cannot fix the error and you can still get the same screen. 

a disk read error occurred

Fix 1. Back Up Data Without Boot into Windows (Protect Data)

It would be an easy job to fix the «A disk read error occurred» issue. But the problem is that most users have essential personal stuff on the hard drive. So, they are puzzled about how to protect their files. You know, some troubleshooting steps might do lousy damage to their data and finally result-in irreversible data loss disaster. 

Because of this, we recommend you to back up data first. You can export the data, and try to restore data on another healthy computer. Here is an example of creating a backup without booting into Windows 10/8/7/XP.

To boot into Windows without OS, you need EaseUS Todo Backup with bootable Media. With it, you can back up and export data even when the operating system fails to start or crashes. Download and install EaseUS Todo Backup on a healthy computer and export data without booting into Windows.

Also read: Recover Data from Corrupted Windows OS

Fix 2. Check Hard Disk SATA Cables to Fix a Disk Read Error

Damaged SATA cables can cause «A disk read error occurred» issue. So, try the following tips to fix the error if the above methods don’t work.

Step 1. Try a different port for the SATA/SATA M2 cables.

Step 2. If you have more than one HDD, leave only the HDD with Windows installed and test multiple SATA ports and cables.

If there is something wrong, the faulty cables will need to be replaced to fix «A disk read error occurred».

Fix 3. Run Surface Test to Check HDD If Disk Read Error Occurred

If your hard drive has a bad sector, it could cause «a disk read error occurred» issue during the process of computer startup. You can run a professional partition software to check your hard drive for bad sectors. 

To make it, you need EaseUS Partition Master to create a bootable USB flash drive or CD/DVD. Then, restart the computer from the bootable device you just created. Follow the steps to check bad sectors:

Step 1. Open EaseUS Partition Master. Right-click the disk that you want to check, and then click «Surface Test».

Step 2. The operation will be immediately performed and all bad sectors will be marked as red.

If there is a bad sector, take out the hard drive. Connect the hard drive to a healthy computer and fix the bad sectors.

Fix 4. Repair MBR to Resolve Disk Read Error

If you also meet the «A disk read error occurred» error message, it suggests that BIOS is not the problem. Then try to rebuild MBR  with EaseUS partition software. Follow the steps below:

Step 1. Create a WinPE bootable disk

  • Launch EaseUS Partition Master, and click «Bootable Media» on the toolbar. Select «Create bootable media».
  • Click «Next» to finish the process.

create a bootable disk

Step 2. Boot EaseUS Partition Master Bootable USB

  • Connect the bootable USB or CD/DVD to your PC. 
  • Press F2 or Del when you restart the computer to enter the BIOS screen. Set and boot your computer from «Removable Devices» or «CD-ROM Drive». And then EaseUS Partition Master will run automatically.

Step 3. Rebuild MBR

  • Click «Toolkit» and choose «Rebuild MBR».

rebuild MBR

  • Select the disk and the type of MBR. Then, click «Rebuild».

rebuild MBR

  • After that, you can see «MBR has been successfully rebuilt on Disk X».

rebuild MBR

Fix 5. Run Bootrec to Fix A Disk Read Error Occurred

If the bootloader installation or configuration comes with some errors, you can also meet «a disk read error occurred press ctrl+alt+del to restart» error.

You could solve this error by following the steps below.

Step 1. Press Win+R to open the Run dialog. Type cmd and click «OK».

Step 2. In the Command Prompt window, type those following commands and press «Enter».

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

Step 3. Restart the system and let bootrec repair MBR.

Fix 6. Check RAM Memory to Fix a Disk Read Error Occurred

Sometimes, a read disk error is related to a faulty RAM stick or RAM slot. If you have added new RAM memory to your computer, you can try this way. 

Step 1. Remove the new RAM modules you’ve recently added.

Step 2. Leave only one single RAM module.

Step 3. Restart the computer.

You can also download a professional RAM test tool — MemTest86 to test your RAM (https://www.wikihow.com/Test-PC-RAM-with-MemTest86).

Fix 7. Reset or Upgrade BIOS to Fix a Disk Read Error Occurred

You can also try to reset BIOS to fix disk read errors. Some people say resetting your computer BIOS to default or upgrading to the latest version might be able to solve «A disk read error occurred» in Windows XP/7/8/10. Follow the steps below to reset BIOS:

Step 1. Restart the computer

Step 2. Press F2, F8, F12, Esc or Del to boot into BIOS

Step 3. Find the option to reset BIOS to default.

reset BIOS to fix disk read error

The option name varies depending on different computer manufacturers and BIOS versions, which can be «Load BIOS Defaults», «Load Setup Defaults», «Load Default Settings», «Load Fail-Safe Defaults», or «Get Default Values». 

Conclusion

These practical solutions may have got you out of your Disk Read error. When a hard drive fails or gets severely corrupt, you need to replace the hard drive. You can turn to EaseUS disk management tool to upgrade to a larger hard drive.

A Disk Read Error Occurred in Windows 10/8/7 FAQs

You have learned the seven ways to troubleshoot a disk read error. If you still have problems, you can read these topics below.

How do I fix a disk read error?

There are seven ways to fix a disk read error:

  • Back Up Data Without OS
  • Check SATA Cables
  • Run Surface Test
  • Repair MBR
  • Run Bootrec
  • Check RAM Memory
  • Reset or Upgrade BIOS

Can external hard disk be repaired?

Yes, you can. As long as the external hard drive is not physically damaged, you can repair bad sectors or other external hard drive issues with ease.

How do I fix a corrupted external hard drive?

To Repair Corrupted External Hard Drive:

  • Restore Corrupted File System
  • Recover Data
  • Repair Corrupted External Drive
  • Repair External Drive without Formatting

Fix A Disk Read Error Occurred with 7 Solutions in Windows 10/8/7

You will be asked to press the Ctrl+Alt +Del to restart. However, most times, it won’t help, and you won’t be able to boot your computer correctly. The issue has infected a large number of users in Windows 10/8/7/XP. On this page, we have collected seven ways that said to be the most effective solutions to fix a disk read error occurred

Workable Solutions Step-by-step Troubleshooting
1. Back Up Data Without OS Download and Install EaseUS Todo Backup on the working computer. Click Tools…Full steps
2. Check SATA Cables Try a different port for the SATA/SATA M2 cables. If you have more than one HDD…Full steps
3. Run Surface Test Run EaseUS Partition Master, right-click the disk you want to check…Full steps
4. Repair MBR Download and launch EaseUS Partition Master on a new PC…Full steps
5. Other Effective Solutions Run bootrec > Check RAM Memory > Reset or Update BIOS…Full steps

A Disk Read Error Occurred Press Ctrl+Alt+Del to Restart

As a computer user, you may get many errors that prevent you from accessing your hard drive or data. Among them, disk read error is the most frustrating one. When it appears, you will receive the following message: «A disk read error occurred. Press Ctrl+Alt+Del to restart«. It is a common error that you can encounter and it indicates that Windows detects a hard disk problem or the process of reading hard disk goes wrong. Restart the computer by pressing Ctrl + Alt + Del cannot fix the error and you can still get the same screen. 

a disk read error occurred

Fix 1. Back Up Data Without Boot into Windows (Protect Data)

It would be an easy job to fix the «A disk read error occurred» issue. But the problem is that most users have essential personal stuff on the hard drive. So, they are puzzled about how to protect their files. You know, some troubleshooting steps might do lousy damage to their data and finally result-in irreversible data loss disaster. 

Because of this, we recommend you to back up data first. You can export the data, and try to restore data on another healthy computer. Here is an example of creating a backup without booting into Windows 10/8/7/XP.

To boot into Windows without OS, you need EaseUS Todo Backup with bootable Media. With it, you can back up and export data even when the operating system fails to start or crashes. Download and install EaseUS Todo Backup on a healthy computer and export data without booting into Windows.

Also read: Recover Data from Corrupted Windows OS

Fix 2. Check Hard Disk SATA Cables to Fix a Disk Read Error

Damaged SATA cables can cause «A disk read error occurred» issue. So, try the following tips to fix the error if the above methods don’t work.

Step 1. Try a different port for the SATA/SATA M2 cables.

Step 2. If you have more than one HDD, leave only the HDD with Windows installed and test multiple SATA ports and cables.

If there is something wrong, the faulty cables will need to be replaced to fix «A disk read error occurred».

Fix 3. Run Surface Test to Check HDD If Disk Read Error Occurred

If your hard drive has a bad sector, it could cause «a disk read error occurred» issue during the process of computer startup. You can run a professional partition software to check your hard drive for bad sectors. 

To make it, you need EaseUS Partition Master to create a bootable USB flash drive or CD/DVD. Then, restart the computer from the bootable device you just created. Follow the steps to check bad sectors:

Step 1. Open EaseUS Partition Master. Right-click the disk that you want to check, and then click «Surface Test».

Step 2. The operation will be immediately performed and all bad sectors will be marked as red.

If there is a bad sector, take out the hard drive. Connect the hard drive to a healthy computer and fix the bad sectors.

Fix 4. Repair MBR to Resolve Disk Read Error

If you also meet the «A disk read error occurred» error message, it suggests that BIOS is not the problem. Then try to rebuild MBR  with EaseUS partition software. Follow the steps below:

Step 1. Create a WinPE bootable disk

  • Launch EaseUS Partition Master, and click «Bootable Media» on the toolbar. Select «Create bootable media».
  • Click «Next» to finish the process.

create a bootable disk

Step 2. Boot EaseUS Partition Master Bootable USB

  • Connect the bootable USB or CD/DVD to your PC. 
  • Press F2 or Del when you restart the computer to enter the BIOS screen. Set and boot your computer from «Removable Devices» or «CD-ROM Drive». And then EaseUS Partition Master will run automatically.

Step 3. Rebuild MBR

  • Click «Toolkit» and choose «Rebuild MBR».

rebuild MBR

  • Select the disk and the type of MBR. Then, click «Rebuild».

rebuild MBR

  • After that, you can see «MBR has been successfully rebuilt on Disk X».

rebuild MBR

Fix 5. Run Bootrec to Fix A Disk Read Error Occurred

If the bootloader installation or configuration comes with some errors, you can also meet «a disk read error occurred press ctrl+alt+del to restart» error.

You could solve this error by following the steps below.

Step 1. Press Win+R to open the Run dialog. Type cmd and click «OK».

Step 2. In the Command Prompt window, type those following commands and press «Enter».

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

Step 3. Restart the system and let bootrec repair MBR.

Fix 6. Check RAM Memory to Fix a Disk Read Error Occurred

Sometimes, a read disk error is related to a faulty RAM stick or RAM slot. If you have added new RAM memory to your computer, you can try this way. 

Step 1. Remove the new RAM modules you’ve recently added.

Step 2. Leave only one single RAM module.

Step 3. Restart the computer.

You can also download a professional RAM test tool — MemTest86 to test your RAM (https://www.wikihow.com/Test-PC-RAM-with-MemTest86).

Fix 7. Reset or Upgrade BIOS to Fix a Disk Read Error Occurred

You can also try to reset BIOS to fix disk read errors. Some people say resetting your computer BIOS to default or upgrading to the latest version might be able to solve «A disk read error occurred» in Windows XP/7/8/10. Follow the steps below to reset BIOS:

Step 1. Restart the computer

Step 2. Press F2, F8, F12, Esc or Del to boot into BIOS

Step 3. Find the option to reset BIOS to default.

reset BIOS to fix disk read error

The option name varies depending on different computer manufacturers and BIOS versions, which can be «Load BIOS Defaults», «Load Setup Defaults», «Load Default Settings», «Load Fail-Safe Defaults», or «Get Default Values». 

Conclusion

These practical solutions may have got you out of your Disk Read error. When a hard drive fails or gets severely corrupt, you need to replace the hard drive. You can turn to EaseUS disk management tool to upgrade to a larger hard drive.

A Disk Read Error Occurred in Windows 10/8/7 FAQs

You have learned the seven ways to troubleshoot a disk read error. If you still have problems, you can read these topics below.

How do I fix a disk read error?

There are seven ways to fix a disk read error:

  • Back Up Data Without OS
  • Check SATA Cables
  • Run Surface Test
  • Repair MBR
  • Run Bootrec
  • Check RAM Memory
  • Reset or Upgrade BIOS

Can external hard disk be repaired?

Yes, you can. As long as the external hard drive is not physically damaged, you can repair bad sectors or other external hard drive issues with ease.

How do I fix a corrupted external hard drive?

To Repair Corrupted External Hard Drive:

  • Restore Corrupted File System
  • Recover Data
  • Repair Corrupted External Drive
  • Repair External Drive without Formatting

Приветствую, Хабр!

Немного лирики

Сегодня, 2015-03-21, я решил сделать пол-дела, и всё-таки начать писать статью о том, как же всё-таки начать понимать, что же делать с OOM, да и вообще научиться ковырять heap-dump’ы (буду называть их просто дампами, для простоты речи. Также я постараюсь избегать англицизмов, где это возможно).
Задуманный мной объём «работ» по написанию этой статьи кажется мне не однодневным, а посему статья должна появиться лишь

через пару недель

спустя день.

В этой статье я постараюсь разжевать, что делать с дампами в Java, как понять причину или приблизиться к причине возникновения OOM, посмотреть на инструменты для анализа дампов, инструмент (один, да) для мониторинга хипа, и вообще вникнуть в это дело для общего развития. Исследуются такие инструменты, как JVisualVM (рассмотрю некоторые плагины к нему и OQL Console), Eclipse Memory Analyzing Tool.
Очень много понаписал, но надеюсь, что всё только по делу :)

Предыстория

Для начала нужно понять, как возникает OOM. Кому-то это может быть ещё неизвестно.
Представьте себе, что есть какой-то верхний предел занимаемой оперативки для приложения. Пусть это будет гигабайт ОЗУ.
Само по себе возникновение OOM в каком-то из потоков ещё не означает, что именно этот поток «выжрал» всю свободную память, да и вообще не означает, что именно тот кусок кода, который привёл к OOM, виноват в этом.
Вполне нормальна ситуация, когда какой-то поток чем-то занимался, поедая память, «дозанимался» этим до состояния «ещё немного, и я лопну», и завершил выполнение, приостановившись. А в это время какой-то другой поток решил запросить для своей маленькой работы ещё немного памяти, сборщик мусора попыжылся, конечно, но мусора уже в памяти не нашёл. В этом случае как раз и возникает OOM, не связанный с источником проблемы, когда стектрейс покажет совсем не того виновника падения приложения.

Есть и другой вариант. Около недели я исследовал, как улучшить жизнь парочки наших приложений, чтобы они перестали себя нестабильно вести. И ещё недельку-две потратил на то, чтобы привести их в порядок. В общей сложности пара недель времени, которые растянулись на полтора месяца, ведь занимался я не только этими проблемами.
Из найденного: сторонняя библиотека, и, конечно же, некоторые неучтённые вещи в вызовах хранимых процедур.
В одном приложении симптомы были следующие: в зависимости от нагрузки на сервис, оно могло упасть через сутки, а могло через двое. Если помониторить состояние памяти, то было видно, что приложение постепенно набирало «размер», и в определённый момент просто ложилось.
С другим приложением несколько интереснее. Оно может вести себя хорошо длительный срок, а могло перестать отвечать минут через 10 после перезагрузки, или вдруг внезапно упасть, сожрав всю свободную память (это я уже сейчас вижу, наблюдая за ним). А после обновления версии, когда была изменена и версия Tomcat с 7й до 8й, и JRE, оно вдруг в одну из пятниц (проработав вменяемо до этого ни много ни мало — 2 недели) начало творить такие вещи, что стыдно признаваться в этом. :)

В обоих историях очень полезны оказались дампы, благодаря им удалось отыскать все причины падений, подружившись с такими инструментами, как JVisualVM (буду называть его JVVM), Eclipse Memory Analyzing Tool (MAT) и языком OQL (может быть я не умею его правильно готовить в MAT, но мне оказалось легче подружиться с реализацией OQL именно в JVVM).
Ещё вам понадобится свободная оперативка для того, чтобы было куда загружать дампы. Её объём должен быть соизмерим с размером открываемого дампа.

Начало

Итак, начну потихоньку раскрывать карты, и начну именно с JVVM.

Этот инструмент в соединении с jstatd и jmx позволяет удалённо наблюдать за жизнью приложения на сервере: Heap, процессор, PermGen, количество потоков и классов, активность потоков, позволяет проводить профилирование.
Также JVVM расширяем, и я не преминул воспользоваться этой возможностью, установив некоторые плагины, которые позволили куда больше вещей, например, следить и взаимодействать с MBean’ами, наблюдать за деталями хипа, вести длительное наблюдение за приложением, держа в «голове» куда больший период метрик, чем предоставляемый вкладкой Monitor час.


Вот так выглядит набор установленных плагинов.
Visual GC (VGC) позволяет видеть метрики, связанные с хипом.

Детальнее о том, из чего состоит хип в этой нашей Java



Вот два скриншота вкладки VGC, которые показывают, как ведут себя два разных приложения.
Слева Вы можете увидеть такие разделы хипа, как Perm Gen, Old Gen, Survivor 0, Survivor 1, и Eden Space.
Все эти составляющие — участки в оперативке, в которую и складываются объекты.
PermGen — Permanent Generation — область памяти в JVM, предназначенная для хранения описания классов Java и некоторых дополнительных данных.
Old Gen — это область памяти для достаточно старых объектов, которые пережили несколько перекладываний с места на место в Survivor-областях, и в момент какого-то очередного переливания попадают в область «старых» объектов.
Survivor 0 и 1 — это области, в которые попадают объекты, которые после создания объекта в Eden Space пережили его чистку, то есть не стали мусором на момент, когда Eden Space начал чиститься Garbage Collector’ом (GC). При каждом запуске чистки Eden Space объекты из активного в текущий момент Survivor’а перекладываются в пассивный, плюс добавляются новые, и после этого Survivor’ы меняются статусами, пассивный становится активным, а активный — пассивным.
Eden Space — область памяти, в которой новые объекты порождаются. При нехватке памяти в этой области запускается цикл GC.

Каждая из этих областей может быть отрегулирована по размеру в процессе работы приложения самой виртуальной машиной.
Если вы указываете -Xmx в 2 гигабайта, например, то это не означает, что все 2 гигабайта будут сразу же заняты (если не запускать сразу что-то активно кушающее память, конечно же). Виртуальная машина сначала постарается держать себя «в узде».
На третьем скриншоте видно неактивную стадию приложения, которое не используется на выходных — Eden растёт равномерно, Survivor’ы перекладываются через равные промежутки времени, Old практически не растёт. Приложение проработало больше 90 часов, и в принципе JVM считает, что приложению требуется не так уж и много, около 540 МБ.

Бывают пиковые ситуации, когда виртуальная машина даже выделяет под хип гораздо больше памяти, но я думаю, что это какие-то ещё «неучтёнки», о которых я расскажу детальнее ниже по тексту, а может просто виртуальная машина выделила больше памяти под Eden, например, чтобы объекты в нём успевали стать мусором до следующего цикла очистки.

Участки, которые на следующем скриншоте я обозначил красным — это как раз возрастание Old, когда некоторые объекты не успевают стать мусором, чтобы быть удалёнными из памяти ранее, и всё-таки попадают в Old. Синий участок — исключение. На протяжении красных участков можно видеть гребёнку — это Eden так себя ведёт.

На протяжении синего участка скорее всего виртуальная машина решила, что нужно увеличить размер Eden-области, потому как при увеличении масштаба в Tracer’е видно, что GC перестал «частить» и таких мелких колебаний, как ранее, теперь нет, колебания стали медленными и редкими.

Перейдём ко второму приложению:

В нём Eden напоминает мне какой-то уровень из Mortal Kombat, арену с шипами. Была такая, кажется… А График GC — шипы из NFS Hot Pursuit, вот те вот, плоские ещё.
Числа справа от названий областей указывают:
1) что Eden имеет размер в 50 мегабайт, и то, что нарисовано в конце графика, последнее из значений на текущий момент — занято 25 мегабайт. Всего он может вырости до 546 мегабайт.
2) что Old может вырости до 1,333 гига, сейчас занимает 405 МБ, и забит на 145,5 МБ.
Так же для Survivor-областей и Perm Gen.
Для сравнения — вот Вам Tracer-график за 75 часов работы второго приложения, думаю, кое-какие выводы вы сможете сделать из него. Например, что активная фаза у этого приложения — с 8:30 до 17:30 в рабочие дни, и что даже на выходных оно тоже работает :)

Если вы вдруг увидели в своём приложении, что Old-область заполнена — попробуйте просто подождать, когда она переполнится, скорее всего она заполнена уже мусором.

Мусор — это объекты, на которые нет активных ссылок из других объектов, или целые комплексы таких объектов (например, какое-то «облако» взаимосвязанных оъектов может стать мусором, если набор ссылок указывает только на объекты внутри этого «облака», и ни на один объект в этом «облаке» ничто не ссылается «снаружи»).

Это был краткий пересказ того, что я узнал про структуру хипа за время, пока гуглил.

Предпосылки

Итак, случилось сразу две вещи:
1) после перехода на более новые библиотеки/томкеты/джавы в одну из пятниц приложение, которое я уже долгое время веду, вдруг стало вести себя из рук вон плохо спустя две недели после выставления.
2) мне на рефакторинг отдали проект, который тоже вёл себя до некоторого времени не очень хорошо.

Я уже не помню, в каком точно порядке произошли эти события, но после «чёрной пятницы» я решил наконец-то разобраться с дампами памяти детальнее, чтобы это более не было для меня чёрным ящиком. Предупреждаю, что какие-то детали я мог уже запамятовать.

По первому случаю симптомы были такие: все потоки, отвественные за обработку запросов, выжраны, на базу данных открыто всего 11 соединений, и те не сказать, что используются, база говорила, что они в состоянии recv sleep, то есть ожидают, когда же их начнут использовать.
После перезагрузки приложение оживало, но прожить могло недолго, вечером той же пятницы жило дольше всего, но уже после окончания рабочего дня таки снова свалилось. Картина всегда была одинаковой: 11 соединений к базе, и лишь один, вроде бы, что-то делает.
Память, кстати, была на минимуме. Сказать, что OOM привёл меня к поиску причин, не могу, однако полученные знания при поиске причин позволили начать активную борьбу с OOM.

Когда я открыл дамп в JVVM, из него было сложно что-либо понять.

Подсознание подсказывало, что причина где-то в работе с базой.
Поиск среди классов сказал мне, что в памяти аж 29 DataSource, хотя должно быть всего 7.

Это и дало мне точку, от которой можно было бы оттолкнуться, начать распутывать клубок.

OQL

Сидеть переклацывать в просмотровщике все эти объекты было некогда, и моё внимание наконец-то привлекла вкладка OQL Console, я подумал, что вот он, момент истины — я или начну использовать её на полную катушку, или так и забью на всё это.

Прежде, чем начать, конечно же был задан вопрос гуглу, и он любезно предоставил шпаргалку (cheat sheet) по использованию OQL в JVVM: http://visualvm.java.net/oqlhelp.html

Сначала обилие сжатой информации привело меня в уныние, но после применения гугл-фу на свет таки появился вот такой OQL-запрос:

select {instance: x, uri: x.url.toString(), connPool: x.connectionPool}
from org.apache.tomcat.dbcp.dbcp2.BasicDataSource x
where x.url != null
&& x.url.toString() == "jdbc:sybase:Tds:айпишник:порт/базаДанных"

Это уже исправленная и дополненная, финальная версия этого запроса :)
Результат можно увидеть на скриншоте:

После нажатия на BasicDataSource#7 мы попадаем на нужный объект во вкладке Instances:

Через некоторое время до меня дошло, что есть одно несхождение с конфигурацией, указанной в теге Resource в томкете, в файле /conf/context.xml. Ведь в дампе параметр maxTotal имеет значение 8, в то время, как мы указывали maxActive равным 20…

Тут-то до меня и начало доходить, что приложение жило с неправильной конфигурацией пула соединений все эти две недели!
Для краткости напишу тут, что в случае, если вы используете Tomcat и в качестве пула соединений — DBCP, то в 7м томкете используется DBCP версии 1.4, а в 8м томкете — уже DBCP 2.0, в котором, как я потом выяснил, решили переименовать некоторые параметры! А про maxTotal вообще на главной странице сайта написано :)
http://commons.apache.org/proper/commons-dbcp/
«Users should also be aware that some configuration options (e.g. maxActive to maxTotal) have been renamed to align them with the new names used by Commons Pool 2.»

Причины

Обозвал их по всякому, успокоился, и решил разобраться.
Как оказалось, класс BasicDataSourceFactory просто напросто получает этот самый Resource, смотрит, есть ли нужные ему параметры, и забирает их в порождаемый объект BasicDataSource, молча игнорируя напрочь всё, что его не интересует.
Так и получилось, что они переименовали самые весёлые параметры, maxActive => maxTotal, maxWait => maxWaitMillis, removeAbandoned => removeAbandonedOnBorrow & removeAbandonedOnMaintenance.
По умолчанию maxTotal, как и ранее, равен 8; removeAbandonedOnBorrow, removeAbandonedOnMaintenance = false, maxWaitMillis устанавливается в значение «ждать вечно».
Получилось, что пул оказался сконфигурирован с минимальным количеством соединений; в случае, если заканчиваются свободные соединения — приложение молча ждёт, когда они освободятся; и добивает всё молчанка в логах по поводу «заброшенных» соединений — то, что могло бы сразу показать, в каком именно месте

программист мудак

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

«Так быть не должно», решил я, и запилил патчик (https://issues.apache.org/jira/browse/DBCP-435, выразился в http://svn.apache.org/viewvc/commons/proper/dbcp/tags/DBCP_2_1/src/main/java/org/apache/commons/dbcp2/BasicDataSourceFactory.java?view=markup ), патч был принят и вошёл в версию DBCP 2.1. Когда и если Tomcat 8 обновит версию DBCP до 2.1+, думаю, что админам откроются многие тайны про их конфигурации Resource :)

По поводу этого происшествия мне лишь осталось рассказать ещё одну деталь — какого чёрта в дампе было аж 29 DataSource’ов вместо всего 7 штук. Разгадка кроется в банальной арифметике, 7*4=28 +1=29.

Детальнее о том, почему нельзя закидывать Resource в файл /conf/context.xml томкета

На каждую подпапку внутри папки /webapps поднимается своя копия /conf/context.xml, а значит то количество Resource, которые там есть, следует умножать на количество приложений, чтобы получить общее количество пулов, поднятых в памяти томкета. На вопрос «что в этом случае делать?» ответ будет таким: нужно вынести все объявления Resource из /conf/context.xml в файл /conf/server.xml, внутрь тега GlobalNamingResources. Там Вы можете найти один, имеющийся по умолчанию, Resource name=«UserDatabase», вот под ним и размещайте свои пулы. Далее необходимо воспользоваться тегом ResourceLink, его желательно поместить в приложение, в проекте, внутрь файла /META-INF/context.xml — это так называемый «per-app context», то есть контекст, который содержит объявления компонентов, которые будут доступны только для разворачиваемого приложения. У ResourceLink параметры name и global могут содержать одинаковые значения.
Для примера:

<ResourceLink name="jdbc/MyDB" global="jdbc/MyDB" type="javax.sql.DataSource"/>

Эта ссылка будет выхватывать из глобально объявленных ресурсов DataSource с именем «jdbc/MyDB», и ресурс станет доступен приложению.
ResourceLink можно (но не нужно) разместить и в /conf/context.xml, но в этом случае доступ к ресурсам, объявленным глобально, будет у всех приложений, пусть даже и не будет столько копий DataSource в памяти.
Ознакомиться с деталями можно вот тут: GlobalNamingResources — http://tomcat.apache.org/tomcat-7.0-doc/config/globalresources.html#Environment_Entries, ResourceLink — http://tomcat.apache.org/tomcat-7.0-doc/config/globalresources.html#Resource_Links, также можно просмотреть эту страницу: tomcat.apache.org/tomcat-7.0-doc/config/context.html.
Для TC8 эти же страницы: http://tomcat.apache.org/tomcat-8.0-doc/config/globalresources.html и http://tomcat.apache.org/tomcat-8.0-doc/config/context.html .

После этого всё стало ясно: 11 соединений было потому, что в одном, активном DataSource было съедено 8 соединений (maxTotal = 8), и ещё по minIdle=1 в трёх других неиспользуемых DataSource-копиях.

В ту пятницу мы откатились на Tomcat 7, который лежал рядышком, и ждал, когда от него избавятся, это дало время спокойно во всём разобраться.
Плюс позже, уже на TC7, обнаружилась утечка соединений, всё благодаря removeAbandoned+logAbandoned. DBCP радостно сообщил в логфайл catalina.log о том, что

"org.apache.tomcat.dbcp.dbcp.AbandonedTrace$AbandonedObjectException: DBCP object created 2015-02-10 09:34:20 by the following code was never closed:
	at org.apache.tomcat.dbcp.dbcp.AbandonedTrace.setStackTrace(AbandonedTrace.java:139)
	at org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:81)
	at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
	at наш.пакет.СуперКласс.getConnection(СуперКласс.java:100500)
	at наш.пакет.СуперКласс.плохойПлохойМетод(СуперКласс.java:100800)
	at наш.пакет.СуперКласс.вполнеВменяемыйМетод2(СуперКласс.java:100700)
	at наш.пакет.СуперКласс.вполнеВменяемыйМетод1(СуперКласс.java:100600)
	ещё куча строк..."

Вот этот вот плохойПлохойМетод имеет в сигнатуре Connection con, но внутри была конструкция «con = getConnection();», которая и стала камнем преткновения. СуперКласс вызывается редко, поэтому на него и не обращали внимания так долго. Плюс к этому, вызовы происходили, я так понимаю, не во время рабочего дня, так что даже если что-то и подвисало, то никому уже не было дела до этого. А в ТуСамуюПятницу просто звёзды сошлись, начальнику департамента заказчика понадобилось посмотреть кое-что :)

Приложение №2

Что же касается «события №2» — мне отдали приложение на рефакторинг, и оно на серверах тут же вздумало упасть.
Дампы попали уже ко мне, и я решил попробовать поковырять и их тоже.
Открыл дамп в JVVM, и «чё-то приуныл»:

Что можно понять из Object[], да ещё и в таком количестве?
( Опытный человек, конечно же, увидел уже причину, правда? :) )

Так у меня зародилась мысль «ну неужели никто ранее не занимался этим, ведь наверняка уже есть готовый инструмент!». Так я наткнулся на этот вопрос на StackOverflow: http://stackoverflow.com/questions/2064427/recommendations-for-a-heap-analysis-tool-for-java.
Посмотрев предложенные варианты, я решил остановиться на MAT, надо было попробовать хоть что-то, а это открытый проект, да ещё и с куда бОльшим количеством голосов, чем у остальных пунктов.

Eclipse Memory Analyzing Tool

Итак, MAT.
Рекомендую скачивать последнюю версию Eclipse, и устанавливать MAT туда, потому как самостоятельная версия MAT ведёт себя плохо, там какая-то чертовщина с диалогами, в них не видно содержимого в полях. Быть может кто-то подскажет в комментариях, чего ему не хватает, но я решил проблему, установив MAT в Eclipse.

Открыв дамп в MAT я запросил выполнение Leak Suspects Report.


Удивлению не было предела, честно говоря.

1.2 гига весят соединения в базу.

Каждое соединение весит от 17 до 81 мегабайта.

Ну и ещё «немного» сам пул.
Визуализировать проблему помог отчёт Dominator Tree:

Причиной всех падений оказались километры SQLWarning’ов, база настойчиво пыталась дать понять, что «010SK: Database cannot set connection option SET_READONLY_TRUE.», а пул соединений BoneCP не вычищает SQLWarning’и после освобождения и возврата соединений в пул (может быть это где-то можно сконфигурировать? Подскажите, если кто знает).
Гугл сказал, что такая проблема с Sybase ASE известна ещё с 2004 года: https://forum.hibernate.org/viewtopic.php?f=1&t=932731
Если вкратце, то «Sybase ASE doesn’t require any optimizations, therefore setReadOnly() produces a SQLWarning.», и указанные решения всё ещё работают.
Однако это не совсем решение проблемы, потому как решение проблемы — это когда при возврате соединения в пул все уведомления базы очищаются в силу того, что они уже никогда никому не понадобятся.
И DBCP таки умеет делать это: http://svn.apache.org/viewvc/commons/proper/dbcp/tags/DBCP_1_4/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java?view=markup, метод passivateObject(Object obj), в строке 687 можно увидеть conn.clearWarnings();, этот вызов и спасает от километров SQLWarning’ов в памяти.
Об этом я узнал из тикета: https://issues.apache.org/jira/browse/DBCP-102
Также мне подсказали про вот такой тикет в багтрекере: https://issues.apache.org/jira/browse/DBCP-234, но он касается уже версии DBCP 2.0.

В итоге я перевёл приложение на DBCP (пусть и версии 1.4). Пусть нагрузка на сервис и немаленькая (от 800 до 2к запросов в минуту), но всё же приложение ведёт себя хорошо, а это главное. И правильно сделал, потому как BoneCP уже пять месяцев не поддерживается, правда, ему на смену пришёл HikariCP. Нужно будет посмотреть, как дела в его исходниках…

Сражаемся с OOM

Впечатлившись тем, как MAT мне всё разложил по полочкам, я решил не забрасывать этот действенный инструмент, и позже он мне пригодился, потому как в первом приложении ещё остались всяческие «неучтёнки» — неучтённые вещи в коде приложения или коде хранимых процедур, которые иногда приводят к тому, что приложение склеивает ласты. Я их отлавливаю до сих пор.

Вооружившись обоими инструментами, я принялся ковырять каждый присланный дамп в поисках причин падения по OOM.
Как правило все OOM приводили меня к TaskThread.

И если нажать на надпись See stacktrace, то да, это будет как раз банальный случай, когда какой-то поток вдруг внезапно упал при попытке отмаршалить результат своей работы.

Однако здесь ничто не указывает на причину возникновения OOM, здесь лишь результат. Найти причину мне пока-что, в силу незнания всей магии OQL в MAT, помогает именно JVVM.
Загружаем дамп там, и пытаемся отыскать причину!

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

Два SybCallableStatement, и один SybPreparedStatement.
Думаю, что дело усложнится, если Statement’ов будет куда больше, но немного подрихтовав один из следующих запросов, указав в where нужные условия, думаю, всё у Вас получится. Плюс, конечно же, стоит хорошенько посмотреть в MAT, что за результаты пытается отмаршалить поток, какой объект, и станет понятнее, какой именно из Statement’ов необходимо искать.

select {
    instance: x,
    stmtQuery: x._query.toString(),
    params: map(x._paramMgr._params, function(obj1) {
            if (obj1 != null) {
                if (obj1._parameterAsAString != null) {
                    return '''+obj1._parameterAsAString.toString()+''';
                } else {
                    return "null";
                }
            } else {
                return "null";
            }
        })
    }
from com.sybase.jdbc4.jdbc.SybCallableStatement x
where x._query != null


Не то, это «внутренние» вызовы.

select {
    instance: x,
    stmtQuery: x._query.toString(),
    params: map(x._paramMgr._params, function(obj1) {
            if (obj1 != null) {
                if (obj1._parameterAsAString != null) {
                    return '''+obj1._parameterAsAString.toString()+''';
                } else {
                    return "null";
                }
            } else {
                return "null";
            }
        })
    }
from com.sybase.jdbc4.jdbc.SybPreparedStatement x
where x._query != null


А вот и дичь!
Для чистоты эксперимента можно кинуть такой же запрос в любимой БД-IDE, и он будет очень долго отрабатывать, а если покопаться в недрах хранимки, то будет понятно, что там просто из базы, которая нам не принадлежит, выбирается 2 миллиона строк по такому запросу с такими параметрами. Эти два миллиона даже влазят в память приложения, но вот попытка отмаршалить результат становится фатальной для приложения. Такое себе харакири. :)
При этом GC старательно убирает все улики, но не спасло его это, всё же источник остался в памяти, и он будет наказан.

Почему-то после всего этого рассказа почувствовал себя тем ещё неудачником.

Прощание

Вот и закончилось моё повествование, надеюсь, Вам понравилось :)
Хотел бы выразить благодарность своему начальнику, он дал мне время во всём этом разобраться. Считаю эти новые знания очень полезными.
Спасибо девушкам из Scorini за неизменно вкусный кофе, но они не прочтут этих слов благодарности — я даже сомневаюсь, что они знают о существовании Хабрахабра :)
Хотелось бы увидеть в комментариях ещё больше полезной инфы и дополнений, буду очень благодарен.

Думаю, самое время почитать документацию к MAT…

UPD1: Да, совсем забыл рассказать про такие полезные вещи, как создание дампов памяти.
docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/clopts.html#gbzrr
Опции
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/disk2/dumps
весьма полезны для генерации дампов в момент падения приложения по OutOfMemoryError,
а также существует возможность снять дамп памяти с приложения «наживо», посреди его работы.
Для этого существует утилита jmap.
Пример вызова для винды:
«C:installPSToolsPsExec.exe» -s «C:Program FilesJavajdk1.7.0_55binjmap.exe» -dump:live,format=b,file=C:dump.hprof 3440
последний параметр — это PID java-процесса. Приложение PsExec из набора PSTools позволяет запускать другие приложения с правами системы, для этого служит ключ «-s». Опция live полезна, чтобы перед сохранением дампа вызвать GC, очистив память от мусора. В случае, когда возникает OOM, чистить память незачем, там уже не осталось мусора, так что не ищите, как можно установить опцию live в случае возникновения OOM.

UPD2 (2015-10-28) | Случай номер два три
(Было принято решение дописать это сюда как апдейт, а не пилить новую статью о том же самом):
Ещё один интересный случай, но уже с Оракловой базой.
Один из проектов использует фичу с XML, проводит поиски по содержимому сохранённого XML-документа. В общем, этот проект иногда давал о себе знать тем, что вдруг внезапно один из инстансов переставал подавать признаки жизни.
Почуяв «хороший» случай потренироваться

на кошках

, я решил посмотреть его дампы памяти.

Первое, что я увидел, было «у вас тут много коннектов в памяти осталось». 21к!!! И какой-то интересный oracle.xdb.XMLType тоже давал жару. «Но это же Оракл!», вертелось у меня в голове. Забегая вперёд скажу что таки да, он виноват.

Итак, видим кучу T4CConnection, которые лежат в HashMap$Entry. Обратил внимание сразу, что вроде бы и SoftHashMap, что, вроде как, должно означать, что оно не должно вырастать до таких размеров. Но результат видите и сами — 50-60 килобайт в коннекте, и их реально МНОГО.

Посмотрев, что собой представляют HashMap$Entry — увидел, что примерно картина одинакова, всё связано с SoftHashMap, с Оракловыми коннектами.

Что, собственно, подтверждалось такой картинкой. HashMap$Entry было просто море, и они более-менее сакуммулировались внутри oracle.xdb.SoftHashMap.
В следующем дампе картина была примерно такой же. По Dominator Tree было видно, что внутри каждого Entry находится тяжёлый такой BinXmlProcessorImpl.

-=-=-
Если учесть, что я в тот момент был не силён в том, что такое xdb, и как он связан с XML, то, несколько растерявшись, я решил, что надо бы погуглить, быть может кто-то уже в курсе, что со всем этим нужно делать. И чутьё не обмануло, по запросу «oracle.xdb.SoftHashMap T4CConnection» нашлось
раз piotr.bzdyl.net/2014/07/memory-leak-in-oracle-softhashmap.html
и два leakfromjavaheap.blogspot.com/2014/02/memory-leak-detection-in-real-life.html
Утвердившись, что тут всё-таки косяк у Оракла, дело оставалось за малым.
Попросил администратора БД посмотреть информацию по обнаруженной проблеме:

xxx: Ключевые слова: SoftHashMap XMLType
yyy: Bug 17537657 Memory leak from XDB in oracle.xdb.SoftHashMap
yyy: The fix for 17537657 is first included in
12.2 (Future Release)
12.1.0.2 (Server Patch Set)
12.1.0.1.4 Database Patch Set Update
12.1.0.1 Patch 11 on Windows Platforms
yyy: нда. Описание
Description
When calling either getDocument() using the thin driver, or getBinXMLStream()
using any driver, memory leaks occur in the oracle.xdb.SoftHashMap class.
BinXMLProcessorImpl classes accumulate in this SoftHashMap, but are never
removed.
xxx: Всё так и есть :)

Вот описание фикса: updates.oracle.com/Orion/Services/download?type=readme&aru=18629243 (для доступа требуется учётка в Оракл).
-=-=-
После применения фикса инстансы нашего приложения живут уже месяц, и пока без эксцессов. *постучал по дереву* *поплевал через левое плечо*
Успехов Вам в поисках!

Содержание

  1. Что это за ошибка A disk read error occurred press ctrl+alt+del to restart
  2. Причины возникновения ошибки
  3. Решаем проблему с A disk read error occurred press ctrl+alt+del to restart
  4. Заключение

Во время загрузки своего компьютера пользователь может столкнуться с сообщением «A disk read error occurred press ctrl+alt+del to restart», причём нажатие указанных в сообщении  клавиш ведёт к перезагрузке системы, и всё повторяется сначала. В данном материале я поясню, как исправить ошибку disk read error в Windows XP/7/10, расскажу о причинах её возникновения и особенностях решения указанной проблемы.

Скриншот ошибки

Скриншот ошибки

Обычно ошибка A disk read error occurred press ctrl+alt+del to restart («ошибка считывания диска») возникает во время процесса считывания с жёсткого диска компьютера необходимой системной информации, и напрямую связана с поломкой винчестера или аппаратными (программными) проблемами в его работе. Чаще всего пользователь встречается с ошибкой disk read error occurred во время загрузки операционной системы, причём, как уже упоминалось, нажатие указанных в ошибке трёх клавиш ничего не даёт, и после перезагрузки система всё так же отказывается работать.

Ошибка disk read error occurred

Ошибка disk read error occurred

Причины возникновения ошибки

Специалисты выделяют несколько распространённых причин возникновения ошибки A disk read error occurred press ctrl+alt+del to restart, а именно:

  • проблемы с жёстким диском (его поломка, аппаратное повреждение, деформация логических разделов, повреждение boot-сектора жёсткого диска, «осыпание» диска вследствие износа и др.);
  • проблемы с IDE или SATA-шлейфом, выступающим в качестве связующего звена между компьютером и жёстким диском;
  • проблемы с модулями памяти RAM;
  • проблема с ОС (некорректная инсталляция ОС, установка более старой версии на действующую новую, восстановление ОС на переполненный раздел жёсткого диска);
  • проблемы с Биос;
  • проблемы с другим оборудованием (неисправен блок питания, неисправен контроллер, контакты на материнской плате и др.).

Решаем проблему с A disk read error occurred press ctrl+alt+del to restart

  • Проверяем работоспособность винчестера и шлейфа. Проверьте визуально шлейф жёсткого диска на наличие видимых повреждений, а также попробуйте заменить используемый шлейф. Не мешало бы проверить правильность и плотность подключения шлейфа от винчестера в нужный разъём материнской платы. Зайдите в Биос и проверьте, видит ли система ваш жёсткий диск. Если нет, и замена шлейфа не помогла – тогда несите ваш винчестер в сервисный центр.Проверка видимости винчестера в биосе
    Проверка видимости винчестера в биосе
  • Восстанавливаем загрузчик в MBR. Master Boor Record (или MBR) является главной загрузочной записью, содержащей необходимые данные для последующей загрузки операционной системы. MBR размещается в первых секторах жёсткого диска и несёт информацию о логических разделах винчестера. При повреждении MBR система выдаёт указанную нами ошибку A disk read error occurred press ctrl+alt+del to restart.
  • Чтобы восстановить MBR в Windows 7 нужно сделать следующее. Загрузитесь с дистрибутива Windows 7 (на диске или флешке, проставив перед тем загрузку с них в биосе) и кликните на «восстановление системы». Затем нажмите на «Использовать средства восстановления» для нужной ОС, нажмите «Далее», а на следующем экране выберите командную строку. На экране строки переходим на ваш CD или DVD привод (если у вас это диск D, то достаточно нажать D: и Enter), затем набираем в командной строке cd boot, а затем bootsect /nt60 sys. MBR будет скопирована с установочного диска на ваш винчестер.
  • Также может помочь в исправлении ошибки “A disk read error occurred press ctrl+alt+del to restart” подсоединение вашего жёсткого диска к другому компьютеру с рабочей системой. После подсоединения и загрузки ОС Windows нужно нажать F8, выбрать консоль восстановления, где ввести команды fixboot и fixmbr.
  • Восстанавливаем целостность файловой системы. Если файловая система повреждена, то её можно исправить, зайдя в командную строку загрузочной среды нажав F8 в начале загрузки, а затем набрав команды chkdsk C: /r и chkdsk C: /f.
  • Исправляем проблему с RAM. Если вы недавно приобрели новый модуль RAM, изымите его из компьютера, и попробуйте загрузить систему. Если проблема повторяется, попробуйте изъять другие модули RAM, оставив лишь один, и посмотреть, не исчезнет ли указанная проблема. Поэкспериментируйте с разными модулями памяти и разными слотами для неё. При выявлении неисправного модуля замените его.
  • Восстанавливаем настройки Биос. Перезагружаем ПК, быстро жмём F8, ESC или DEL в начале загрузки ОС для попадания в Биос, там находим опцию «Load default BIOS», жмём на неё и сохраняем изменения. Перезагружаемся.Функция Load default BIOS
    Функция Load default BIOS
  • Проверьте систему на вируса. Иногда причиной появления указанной ошибки A disk read error occurred press ctrl+alt+del to restart является деятельность вредоносных программ, изменяющих данные в загрузочных секторах жёсткого диска. Проверка системы мощными и современными антивирусами (напр., Dr.Web CureIt!) позволяет исправить проблему.
  • Похожие ошибки при включении ПК. Полезные действия по исправлению аналогичных ошибок я описал в статьях ранее BOOTMGR is missing Press Ctrl+Alt+Del to restart и DRIVER IRQL NOT LESS OR EQUAL, они могут быть вам полезны.
  • Используйте Live CD. Обычно на таких вспомогательных дисках содержаться программы для восстановления работы системы. Загрузитесь с такого диска и используйте для восстановления системы такие программы как HDD Regenerator, Paragon Partition Magic, Acronis Disk Director, Ease Recovery, Active File Recovery и другие.
  • Переустанавливаем операционную систему. Один из самых эффективных и кардинальных механизмов решения проблемы «disk read error» — это полная переустановка файловой системы (при этом вы должны быть уверены, что ваш винчестер физически работоспособен).
  • Проверяем функциональность блока питания и материнской платы. Если вы «грешите» на поломку материнки или БП, тогда можно проверить их работоспособность в ближайшем сервисном центре.

Заключение

Обычно, основными причинами возникновения проблемы A disk read error occurred press ctrl+alt+del to restart являются аппаратные проблемы с жёстким диском и шлейфом, а также повреждение MBR-записи на винчестере.

Использование перечисленных выше советов позволяет исправить проблему, при этом я бы советовал обратить особое внимание на работу антивирусных программ, ведь иногда причиной появления рассматриваемой в статье проблемы являются самые обычные вируса. Чаще проверяйте ваш винчестер на плохие («битые») сектора, проверяйте целостность файловой системы с помощью стандартных средств ОС Windows, следите за регулярным обновлением своего антивируса – и описываемая в данной статье проблема будет обходить вас стороной.

Как вам статья?

Сергей

Задать вопрос

Как правило, ошибка «A disk read error occurred. Press Ctrl+Alt+Del to restart» возникает при включении компьютера, при этом не исправляется обычной перезагрузкой. На, то есть несколько причин, от программных до технических. Что делать в этой ситуации? Давайте разбираться.

Содержание статьи

  1. Общая информация
  2. Изменение приоритета загрузки
  3. Восстановление файловой системы и загрузчика
  4. Настройка Биос
  5. Разбираемся с жестким диском
  6. Дополнительные способы
  7. Видео по теме
  8. Комментарии пользователей

Общая информация

В переводе на русский «A disk read error occurred» означает ошибку чтения диска. Но это не говорит о том, что есть проблемы с самим жестким диском или SSD на котором установлена Windows.

Выделю распространенные причины появления сбоя.

  1. Повредилась файловая система. Обычно это происходит при неправильном выключении компьютера, например, после резкого выключения электричества или наличии вирусов.
  2. Повреждение загрузчика «MBR».
  3. Неверные настройки BIOS, в том числе измененный порядок загрузки устройств.
  4. Неисправность жесткого диска. Особенно если до появления проблемы наблюдались периодические зависания, странные звуки или было физическое воздействие (уронили, потрясли, перегрелся).
  5. Неправильно или неплотно подключили HDD.
  6. Недостаток питания. Несмотря на то, что винчестеры потребляют мало мощности, плохой или полуживой блок питания может нарушать его работу.

Перед тем как переходить к исправлению проблемы убедитесь, что накопитель виден в БИОС. Если его там нет, то проверьте подключение и при необходимости замените SATA кабель. Иногда достаточно протереть контактные дорожки ластиком. Если это не помогло, то скорее всего он неисправен и подлежит замене.

Изменение приоритета загрузки

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

Но есть еще и ручной способ.

  1. Зайдите в BIOS и найдите параметр «Boot Option» или аналогичный.изменение boot option для исправления a disk read error occurred
  2. Установите на первое место накопитель с Windows и сохраните изменения.

Перезагрузите компьютер.

Восстановление файловой системы и загрузчика

Это самый безопасный способ, который может помочь в восстановлении работы ПК. Обзаведитесь загрузочной флешкой, LiveCD или WinPE. Буду показывать на примере WinPE (мне нравится сборка от Sergei Strelec). Принцип записи этой сборки на флешку тот же, что и с Windows, поэтому проблем возникнуть не должно.

Инструкция:

  1. Загружаете с накопителя ОС и запускаете командную строку (найти ее можно в Пуске).
  2. Вводите chkdsk C: /f /r – где под буквой «C» подразумевается раздел с операционной системой, которая вышла из строя. Жмете «Enter». Начнется автоматическая проверка и исправление ошибок.проверка файловой системы для предотвращения ошибки a disk read error occurred
  3. Теперь выполните другую команду — bcdboot C:windows. Она восстановит загрузочную область.восстанавливаем загрузочную запись через bcdboot c windows

Закрываем все окна и загружаемся в обычном режиме. Все должно работать.

Настройка Биос

Иногда, изменение настроек Биос влечет за собой появления различных ошибок. Ситуация налаживается следующим образом.

  1. Сбросом параметров. Воспользуйтесь опцией «Optimized Defaults» или аналогичной.сбрасываем настройки биос
  2. Найдите опцию, отвечающую за режим работы накопителя. Обычно это «Sata Mode» ,«Sata Type». Установите значение «AHCI». Если и так стоит «AHCI», то измените на «IDE». Сохраните изменения и перезапуститесь.изменяем sata mode для исправления ошибки a disk read error occurred
  3. Если проблема возникла после обновления BIOS. То установите старую версию. Загружается с официального сайта материнской платы или ноутбука. Иногда, наоборот, помогает обновление Попробуйте оба варианта.

Если настройки не сохраняются, то замените батарею питания, скорее всего она отжила свое. Производить замену желательно 3-5 лет.

Разбираемся с жестким диском

Рассмотрим несколько типичных проблем и попробуем их исправить.

  1. Проверьте подключение носителя. Особенно, если до появления сбоя проводились какие-либо работы внутри корпуса ПК. Также можно подключить его к другому порту.
  2. Замените SATA кабель.
  3. Удостоверьтесь, что винчестер исправен. Проведите сканирование через «Victoria» или «MHDD». Иногда, казалось бы, нормальный HDD с хорошим смартом и результатами тестирования все равно может быть неисправным. Подтверждать это будет невозможность установить Windows, зависания и сбои приложений.

Если и это не избавило от ошибки «A disk read error occurred», то напоследок предложу еще несколько вариантов. Маловероятно, что они помогут, но попробовать стоит.

Дополнительные способы

Вот еще несколько способов, которые помогли некоторым пользователям. Были взять с форумов, комментариев и видео.

  1. Протестируйте оперативную память. Предварительно очистив их от пыли. При обнаружении неисправности замените битые планки. Также если установлено два или более модулей ОЗУ, попробуйте поменять их местами или вынуть все, кроме одного.
  2. Проведите дефрагментацию. Скептически отношусь к этому пункту.
  3. Переустановите ОС. Возможно, используется «кривая» или поврежденная сборка.
  4. Проведите сканирование на вирусы.
  5. Редко виновниками становится материнская плата (в том числе SATA разъем) или блок питания. Поэтому протестируйте HDD на другом компьютере.
  6. Бывает, что системный диск с операционкой пропадает (удаляется) сам по себе. Решается восстановлением раздела с помощью специальных программ, например, «Acronis Disk Director» или созданием нового раздела (при этом придется заново устанавливать ОС). Если это повторяется часто, то желательно заменить такой накопитель.
  7. Посмотрите на контакты на обратной стороне платы (нужно открутить отверткой), возможно, произошло окисление. Почистите их и прикрутите плату обратно. Выполняйте эту процедуру осторожно и только в крайнем случае, когда нечего терять.окись контактов является одной из причиной a disk read error occurred

Напишите в комментариях, если возникли сложности. Буду рад помочь.

Видео по теме

Проблема a disk read error occurred press может не на шутку напугать любого пользователя ПК. Проблема заключается в следующем, во время запуска Windows, система пытается считать файлы необходимые для этого действия, расположенные в скрытом разделе. Такие данные крайне важны, поэтому в случае их отсутствия или неисправности, как раз и встретим такую ошибку. Какие же варианты сложившейся ситуации поддаются исправлению, а какие нет, рассмотрим далее.

Ошибка a disk read error occurred фото 1

Возможные источники неисправности

Сперва следует определиться с источниками проблемы, когда пишет a disk read error occurred. Их существует немало, но некоторые легко диагностируются, поэтому приступим:

  • Вирус повредил загрузочный сектор системы;
  • Антивирус, что-то напутал и стёр нужные записи;
  • Ошибка проявилась после неправильной установки Windows или инсталляции одной ОС поверх другой;
  • Вы производили разбивку HDD на логические диски. Вообще, это не является проблемой, но при наличии битых секторов, может случиться какой-либо сбой;

Ошибка a disk read error occurred фото 2

  • Возможно, вы роняли системный блок/ноутбук или же сам жесткий диск;
  • Отошли или перебиты шлейфы, их всего два и поэтому проверить легко;
  • Вероятной причиной бывает наличие изношенного блока питания, если не достаточно напряжения, диск не сможет работать правильно;
  • Иногда ломаются контролеры на материнке;
  • Восстановление или откат системы, в случаи с недостаточным местом на носителе. Таким образом часть файлов перебивается, а другая остаются прежними, создавая проблемы.
  • Поломка жесткого диска или наличие большого количества нестабильных секторов.

Большинство ситуаций с a disk read error occurred исправить удаётся, в основном те, что связаны с программными сбоями или шлейфами подключения.

Для начала борьбы с недугом необходим установочный диск Windows, иначе ничего не получится. Также, нужно быть готовыми, что может потребоваться полная переустановка ОС.

Читайте также: Как переустановить Windows 8 на ноутбуке?

Определение работоспособности жесткого диска

Простой диагностической мерой по борьбе, где ошибка a disk read error occurred не оставляет возможности получить доступ к Windows, является просмотр его отображения в БИОС. Если в нём отображается HDD правильно, то большая доля вероятности, что причина всё же в программной части, если же не определяется или показывается неправильно, то жесткий диск не исправлен. Можно попытаться восстановить его работоспособность через сервисный центр, но это актуально только для копирования важной информации с него. Итак, нужно:

  • В момент запуска системы нажать Del;
  • Теперь перейдите с помощью стрелочек в раздел «Advanced BIOS features»;

Ошибка a disk read error occurred что делать

  • Затем нажмите на «Hard Disk Boot Priority» или «Boot Device Priority».

Ошибка a disk read error occurred что делать фото 2

Проверьте правильность отображения наименования жесткого диска, а после этого можно проследовать дальше (в случае успеха).

Читайте также: Как зайти в BIOS в Windows 10?

Ошибка a disk read error occurred, как исправить с помощью Acronis Disk Director

Для выполнения проверки и устранения неисправности через эту программу у вас должен быть загрузочный диск Acronis, также подойдёт Paragon или другие. Теперь следует просмотреть такие разделы:

  • Запуститесь через ваше приложение, делается это с помощью нажатия F9 или F8, когда показывается окно с возможностью перехода в BIOS;
  • Проверьте, чтобы раздел «Зарезервировано системой» был в активном состоянии. Если это не так, то кликните правой кнопкой и выберите «Отметить как активный»;

Ошибка a disk read error occurred что делать фото 3

  • Также проверьте наличие на диске папки Boot и файла bootmgr, они изначально скрыты, так как, являются системными. Сперва включите их отображение.

Ошибка a disk read error occurred как исправить

В случае отсутствия папки или файла их придется восстановить, как это сделать показано в следующем разделе.

Восстановление работы раздела загрузки

Для решения проблемы a disk read error occurred Windows 7, нужен соответствующий установочный диск с ОС, для других версий тоже самое. Процедура должна помочь системе проанализировать HDD на ошибки и, в случаи их наличия, попытаться исправить.

1.Теперь вставьте диск или флеш накопитель и запустите его;

2.Нажмите на ссылке «Восстановление системы»;

Ошибка a disk read error occurred как исправить фото 2

3.Далее пройдите в раздел «Диагностика»;

4.Теперь «Дополнительные параметры»;

5.Затем выберите пункт «Командная строка»;

Ошибка a disk read error occurred Windows 7

6.Сперва нужно запустить блокнот, благодаря которому мы сможем узнать распределение букв для логических дисков. Для этого:

  • Введите notepad.exe и нажмите ввод;
  • Клик по вкладке «Файл» и выберите опцию «Открыть»;
  • В «Мой компьютер» важно запомнить или записать, буквы для разделов «Зарезервировано системой», содержащий файлы Windows и загрузочный сектор.

Ошибка a disk read error occurred Windows 7 как исправить

7.Для восстановления файлов Windows нужно ввести команду bcdboot С:/Windows, где C – это буква соответствующего раздела;

8.Для произведения проверки зарезервированной области введите поочерёдно chkdsk D: /r и chkdsk D: /f, где D – буква вашего раздела и она может отличаться.

9.Затем выполните пункт 8 для раздела, который содержит Windows.

10.Если проверка прошла успешно, следует восстановить MBR записи с помощью следующих команд bootrec.exe /fixmbr и bootrec.exe /fixboot;

Ошибка a disk read error occurred Windows 10

11.В конце необходимо провести поиск ОС и включить их в список загрузки, с помощью bootrec.exe /rebuildBcd.

Читайте также: Как преобразовать диск gpt в mbr?

Вероятно, что после показанных действий ошибка исчезнет, но Windows так и не захочет запускаться (не часто, но бывает). Тогда после исправления ошибки a disk read error occurred что делать очевидно, просто переустановить систему заново. Лучше сначала перекинуть все файлы на другой диск и отформатировать изначальный HDD и после установить чистую Windows.

Если у Вас остались вопросы по теме «Как исправить ошибку a disk read error occurred?», то можете задать их в комментариях

oshibka-chteniya-diska

Вопрос от пользователя

Здравствуйте.

Сегодня из ниоткуда на экране ПК появилась одна пакость: «A disk read error occurred… Press Ctrl+Alt+Del». С системой ничего не делал: не удалял, не обновлял, не устанавливал… и т.д.

Есть подозрение только на одно: я накануне часа 2 вечером копировал фильмы на флешки и DVD-диски. Может с диском что-то случилось? Подскажите, как это можно исправить…

Здравствуйте.

Если перевести эту ошибку на русский (для более простого понимания широкой аудитории) — то она означает, что «Произошла ошибка чтения диска». Возникать она может не всегда из-за поломки диска (хватает и других причин: сбившиеся настройки BIOS; неправильное отключение, приведшее к ошибкам файловой системы и т.д.).

Ниже, постараюсь в пошаговом и простом «стиле» представить первичную диагностику. Думаю, большинство с ней справятся… 👌

*

Содержание статьи

    ускорение ПК

  • 1 Что можно посоветовать для исправления ошибки чтения диска
    • 1.1 ШАГ 1
    • 1.2 ШАГ 2
    • 1.3 ШАГ 3 (если не определяется диск)
    • 1.4 ШАГ 4 (если диск определяется)
  •  → Задать вопрос | дополнить 

Что можно посоветовать для исправления ошибки чтения диска

ШАГ 1

И так, первый совет банальный: проверьте и отключите от компьютера все флешки, CD/DVD-диски, внешние HDD, дискеты и т.д. (тем более, если вы накануне что-то записывали на эти типы накопителей).

Примечание: многие пользователи, скинув на внешний накопитель данные, забывают его в USB и выключают компьютер. А затем, при включении, ПК начинает искать загрузочные записи на этой самой флешке (например) — разумеется, их не находит и возникает ошибка*!

Флешка подключена к USB-порту!

Флешка подключена к USB-порту!

👉 Дополнение: если к компьютеру подключен сканер, принтер, телефон и пр. периферийные устройства — отключите их также на время диагностики. Оставьте мышь, клавиатуру, монитор — т.е. самый «минимум».

Если накануне устанавливали доп. диски (HDD/SSD и пр.) — отключите их!

*

ШАГ 2

Если первый шаг не помог — следующее, что я порекомендую — это проверить настройки BIOS (UEFI) компьютера.

👉 В помощь!

1) Как войти в БИОС (BIOS) на компьютере / ноутбуке.

2) Как сбросить настройки BIOS.

*

👉 В первую очередь в BIOS нужно проверить 2 вещи:

  • определяется ли диск (на котором установлена Windows). Видна ли его модель/размер? Если не определяется — см. шаг 3.
  • стоит ли диск первым в очереди* загрузки (примечание: в BIOS можно задавать приоритет накопителей: т.е., например, можно задать, чтобы компьютер сначала искал загрузочную флешку, а если ее нет, загружался с диска. Нам нужно сразу же указать диск…).

Как правило, модель диска (если он определился) можно увидеть сразу же после входа в BIOS (на странице «Main»). Установлен ли этот диск первым по приоритету загрузки — см. раздел BOOT. Пример привел на фотографиях ниже. 👇

Диск определяется (уже неплохо)

Диск определяется (уже неплохо)

Boot Option #1 - указан диск с ОС Windows (настройки BIOS)

Boot Option #1 — указан диск с ОС Windows (настройки BIOS)

Примечание: после проведенных изменений в BIOS — не забудьте сохранить настройки. Как правило, для этого достаточно нажать клавишу F10.

*

ШАГ 3 (если не определяется диск)

Это явно указывает на какую-то аппаратную причину… (не всегда не определяющийся диск начал сыпаться и нуждается в замене).

Для начала я бы посоветовал отключить системный блок от питания и посмотреть, не отошел ли какой-нибудь шлейф от диска. Желательно попробовать подключить диск к другому разъему на мат. плате (благо на любой мат. плате есть по несколько SATA-портов).

Не отошли ли шлейфы...

Не отошли ли шлейфы…

Если диск компьютер так и не увидел, то первое в чем необходимо убедиться — исправен ли он вообще, не пришел ли в негодность. Для этого лучше всего диск подключить к другому компьютеру / ноутбуку. Если у вас есть спец. переходники — диск можно даже подключить к USB-порту (пару ссылок ниже о том, как это сделать).

👉 В помощь!

1) Как подключить второй жесткий диск к компьютеру, ноутбуку.

2) Как подключить жесткий диск к USB-порту.

Подключение SATA и кабеля питания к диску

Подключение SATA и кабеля питания к диску

👉 Кстати!

Компьютер можно использовать даже без диска! Для этого вам понадобиться спец. подготовленная флешка (так называемый «живой» LiveCD) — Windows будет загружена прямо с нее (и она мало чем отличается от обычной ОС).

О том, где загрузить нужный ISO образ с LiveCD и как его  правильно подготовить — можете узнать из этой статьи.

*

ШАГ 4 (если диск определяется)

И так, на этом этапе будем считать, что диск определяется в BIOS, он первый в приоритете загрузки, и с него раньше ПК благополучно загружался…

Для дальнейшей работы нам понадобиться 👉 LiveCD-флешка от Сергея Стрельца.

👉 Загрузившись с нее — необходимо открыть программу Victoria и проверить диск (оценить его состояние — не начал ли он сыпаться (из-за этого, кстати, «часть» диска могла перестать читаться и, как следствие, ошибка «A disk read error occurred»)).

👉 В помощь!

Диагностика и проверка диска за 5 мин. для начинающих (быстрый тест в новой Victoria 5)

Тестирование быстрое (Quick) — Victoria 5

Тестирование быстрое (Quick) — Victoria 5

👉 Если с самим диском всё в порядке — не лишним было бы проверить файловую систему на ошибки (делается также с LiveCD-флешки!).

Для этого необходимо будет открыть командную строку, ввести chkdsk C: /f /r и нажать Enter. 👇 В течении 5-15 мин. (в среднем) диск будет проверен, а ошибки исправлены.

Пример команды

Пример команды

👉 Если вышеприведенное не помогло, то как вариант, можно попробовать с помощью установочной флешки (с Windows) восстановить систему (загрузчик ОС). О том, как это сделать — см. эту заметку.

Восстановление системы (при установке ОС)

Восстановление системы (при установке ОС)

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

*

Иные способы решения — приветствуются в комментариях!

Успехов!

👋

donate

dzen-ya

Полезный софт:

  • видеомонтаж
  • Видео-Монтаж
  • Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
    Видео сделает даже новичок!

  • утилита для оптимизации
  • Ускоритель компьютера
  • Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).

Всем привет. По долгу службы постоянно сталкиваюсь с разного рода ошибками. И сегодня в статье мы рассмотрим очередную. При включении компьютера или даже при перезагрузке, ПК зависает на черном экране с надписью:

A disk read error occurred.
Press Ctrl+Alt+Del to restart

Скорее всего вы уже пробовали перезагрузить систему, но вам это не помогло. Ошибка может возникать при восстановлении системы с загрузочной флешки, из образа или при запуске LiveCD. Также часто она может появляться после глобального обновления, появления синего экрана или установки каких-то драйверов (чаще всего на материнскую плату). Ниже в статье мы рассмотрим все возможные решения, которые могут помочь.

Содержание

  1. Причины
  2. Способ 1: Проверка BIOS
  3. Способ 2: Проверка разделов на наличие ошибок
  4. Способ 3: Восстановление загрузчика
  5. Способ 4: Дополнительные советы
  6. Задать вопрос автору статьи

Причины

A disk read error occurred

Прежде чем нам что-то решать, нам нужно понять – откуда же взялась проблема. Таким образом мы сможем себя перестраховать от повторного появления этой ошибки. Из текста ошибки можно сказать, что BIOS не может найти файлы загрузки системы, и есть ошибка в чтении с диска. Причем проблема может быть, как с разделом на диске, так и с физическим носителем.

  • Возможно, повреждены файлы системного раздела, которые и отвечают за начальную загрузку ОС.
  • Сильно повреждена сама система, и она не может начать загружаться. Напомню, что ОС и загрузочные файлы находятся на разных разделах. Хоть эти разделы и не отображаются в системе, но они есть (просто эти разделы скрыты). Их можно увидеть при загрузке с загрузочной флешки или диска.
  • Проблема с BIOS. Тут может быть как общий сбой, так и неправильные настройки. Возможно, вы ранее меняли там какие-то конфигурации.
  • Проблема с жестким диском HDD или SSD. Возможно, есть проблема с питанием или плохо подключен SATA кабель. Проблема с питанием может быть и из-за блока питания. Возможно, диск ранее роняли или на нем присутствует слишком много битых секторов.
  • Мощности БП не хватает.

Теперь ниже мы рассмотрим все возможные решения, которые мне в свое время помогали.

Способ 1: Проверка BIOS

В первую очередь нам нужно зайти в BIOS и посмотреть – отображается ли наш жесткий диск там. Устройство можно посмотреть в разделе «Main» или «Boot». Если жесткий диск там есть, но вы ранее меняли какие-то настройки, можно попробовать сбросить всю конфигурацию до заводской настройки. Чтобы это сделать, нужно найти этот пункт в одной из вкладок. BIOS или UEFI не такая большая, поэтому вы с этим справитесь.

A disk read error occurred - что делать и как исправить?

Если же жесткий диск не отображается, уже действуем по-другому. Выключаем комп, снимаем боковую крышку системника или заднюю ноутбука. Далее находим жесткий диск. Просто отключите его и подключите повторно, возможно, есть проблема с окислением контактов. Если это не поможет пробуем использовать другой провод питания от БП и кабель SATA. Можно попробовать переткнуть SATA в другой порт на материнской плате.

Можно еще попробовать проверить блок питания. Если после сброса или каких-то манипуляций с диском в БИОС его не видно – попробуйте установить режим AHCI или IDE. Если не знаете, какой вариант поставить – пробуем оба. Обязательно посмотрите, чтобы в разделе BOOT стоял правильный порядок загрузки и на первом месте был жесткий диск.

Если жесткий диск не видно – читаем эту статью (ссылка).

Способ 2: Проверка разделов на наличие ошибок

Если с диском все в порядке, и он определяется в BIOS, значит нам нужно проверить его на наличие ошибок. Но как я и говорил ранее, могут быть проблемы с поломкой как самой операционной системы, так и дополнительного раздела с файлами, которые и начинают запуск нашей ОС. Причем не важно, какая система у вас установлена Windows: 7, 8, 10 или 11 – все делается одинаково.

  1. Для начала вам понадобится загрузочная флешка с той же самой ОС, которая у вас установлена. О том, как сделать загрузочную флешку – читаем тут (ссылка).
  2. Подключаем флешку, включаем комп и запускаем BOOT-меню с помощью горячей кнопки. Посмотреть кнопку можно на начальном экране. Если такой кнопки нет, вы можете зайти в BIOS, перейти в BOOT-раздел и установить на первое место вашу флешку.
  3. После запуска выбираем нужную разрядность системы. Жмем «Далее» на первой вкладке.

A disk read error occurred - что делать и как исправить?

  1. Заходим в раздел восстановления.

A disk read error occurred - что делать и как исправить?

  1. Открываем пункт «Поиск и устранение неисправностей».

A disk read error occurred - что делать и как исправить?

  1. Теперь запускаем «Командную строку».

A disk read error occurred - что делать и как исправить?

  1. В первую очередь нам нужно зайти в режим работы с жесткими носителями, а уже потом посмотреть список всех разделов. Для этого вводим две команды:

diskpart
list volume

Теперь очень внимательно посмотрите на скриншот ниже. Сначала покажу на своем примере и постараюсь объяснить, что мы хотим сделать. Для начала попробуйте найти ваш системный диск с ОС – ориентируйтесь только на размер. Буквы дисков могут отличаться от того, что вы привыкли видеть в загруженной Windows.

A disk read error occurred - что делать и как исправить?

В моем случае это диск «C:», у вас может быть другая буква. Теперь нас интересует еще два раздела. Первый – это том с размером в 100 МБ. Он отвечает за начальную загрузку ОС, именно на нем хранятся все главные файлы. Второй том имеет больший размер – от 200 до 1000 МБ. Он отвечает за восстановление некоторых системных файлов в случае поломки.

В примере выше, это «Том 1» и «Том 3». Теперь найдите их у себя. Посмотрите на мой скриншот, вы можете заметить, что у меня у этих вспомогательных томов нет буквы. У вас же буквы могут присутствовать. В моем случае мне для работы сначала нужно назначить буквы, чтобы попытаться их восстановить:

ПРИМЕЧАНИЕ! Назначать букву тома нужно в том случае, если её нет. Если же она есть, то просто пропустите эти мелкие шаги.

select volume 3
assign letter=Z

A disk read error occurred - что делать и как исправить?

Сначала я выбрал том по номеру, а потом назначил ему букву «Z». Лучше использовать последние буквы алфавита (на всякий случай). Точно также делаем и со вторым томом. Выходим из режима работы с дисками:

exit

Теперь прописываем команду проверки диска на наличие ошибок. Функция дополнительно попробует эти ошибки исправить. Сначала проверяем системный том.

chkdsk C: /f /r

A disk read error occurred - что делать и как исправить?

После этого точно также проверяем дополнительные два тома, о которых мы говорили. Просто вместо буквы «C» используем те буквы, которые установлены у вас. Пробуем перезагрузиться и запустить компьютер.

Способ 3: Восстановление загрузчика

На прошлом шаге мы исправили некоторые ошибки раздела, на котором находятся важные файлы системы. Даже после исправления ошибок система может отказаться запускаться из-за повреждения загрузчика. Поэтому нам нужно попытаться его восстановить:

Читаем – как восстановить загрузчик системы.

Способ 4: Дополнительные советы

Если ничего из вышеперечисленного не помогло – тогда есть два варианта. Первый – у вас сильно повреждена система. В таком случае вы можете повторно её установить. Не используйте при этом кривых и сторонних сборок – только чистая установка. Вторая причина – жесткий диск сильно поврежден. Возможно, на нем скопилось много битых секторов. Их можно попробовать исправить – об этом подробно написано тут. Скорее всего вам понадобится второй компьютер с работающей ОС, чтобы вы могли подключить к нему проблемный жесткий диск и далее произвести восстановление и проверку.

Понравилась статья? Поделить с друзьями:
  • Disk read error imagefile29 pak
  • Disk read error homecoming перевод
  • Disk read error homecoming cod ghosts
  • Disk read error homecoming call of duty ghosts как исправить ошибку
  • Disk read error homecoming call of duty ghost