Как исправить ошибку hd0 вне диска в Linux —

Одна из ошибок, которую пользователи Linux боятся больше, чем любая другая, читает что-то вроде ошибки: hd0 вне диска. Нажмите любую клавишу, чтобы продолжить … во время загрузки. Из-за этой ошибки создается впечатление, что ваш загрузочный том физически отсутствует в вашей системе. Хотя это и указывает на то, что возникла какая-то серьезная проблема бухгалтерского учета, она не так плоха, как словесность, о которой идет речь, это может звучать. Загрузка с живого USB ISO может быть всем, что вам нужно для восстановления основной установки и восстановления возможности загрузки с основного / подключенного корневого раздела.

Предполагая, что вы смогли восстановить файловую структуру с помощью этих шагов, вам необходимо обновить менеджеры пакетов. Для этого используйте, например, команду sudo apt-get update в Ubuntu или Debian. Повреждение файловой структуры может, в свою очередь, привести к повреждению списков репозитория и, следовательно, сделать так, чтобы ваша установка либо считала его обновленным, а не наоборот, или наоборот. Обновление и последующее обновление ваших пакетов также может помочь перезаписать поврежденные файлы безопасными частями системного программного обеспечения.

Восстановление из hd0 ошибок диска

Во время загрузки вы можете обнаружить, что ваша установка Linux зависает с ошибкой, которая читает что-то вроде ошибки: hd0 вне диска, хотя файл устройства и номер раздела могут отличаться в зависимости от вашей конфигурации. Это может измениться, если повреждены различные разделы, и может также отображать имя устройства sd # более высокого уровня, а не более классический файл устройства hd # более низкого уровня.

Хотя система предложит вам нажать любую клавишу, чтобы продолжить, они, как правило, не будут работать. Время от времени вы можете перейти к терминалу GRUB или к экстренному восстановлению, но часто вам нужно загружаться с живого компакт-диска или USB-устройства. Вы также можете попытаться загрузиться с другого раздела на вашей физической машине, если у вас установлен второй том с Linux или FreeBSD.

Если вы вставите записанное в реальном времени USB-устройство, записанное в формате ISO, в один из слотов на вашем компьютере, вам, вероятно, потребуется нажать определенную клавишу, когда вы начнете загружать компьютер с него. Это зависит от вашего аппаратного обеспечения, но обязательно выберите съемное хранилище, когда вас спросят о типе загружаемого устройства. Возможно, вы уже получали сообщение о том, что находитесь в оболочке busybox ash, если вам удалось несколько успешно загрузить систему. В любом случае вам нужно получить приглашение и убедиться, что у вас есть root-доступ, прежде чем продолжить. В противном случае, перед вводом каждого имени отдельной команды введите sudo. Вы также можете попробовать sudo -i, sudo bash, sudo tcsh или sudo busybox ash, чтобы получить корневую оболочку из командной строки.

Возможно, вы захотите скопировать весь каталог ~ / home на съемное устройство, на случай, если у вас есть серьезные повреждения, но сначала вы должны выполнить операцию fsck. Предположим, что / dev / sda1 — поврежденный раздел для обсуждения, но заменим файл устройства на правильное имя файла в вашей системе. Начните с umount / dev / sda1, а затем fsck.ext4 -f / dev / sda1, чтобы убедиться, что файловая система не повреждена. Если у вас есть другие разделы, которые вы хотите проверить, сделайте это сейчас. Вы можете использовать e2fsck или fsck.ext3 в зависимости от файловой системы, которую вы загружали. Обязательно всегда размонтируйте разделы перед запуском fsck.

Несколько ядер, конкурирующих друг с другом на одном устройстве, могут вызвать эту ошибку. В некоторых случаях команда fsck могла бы решить проблему, но при условии, что есть еще проблемы, следующие команды для монтирования частей файловой структуры в вашей среде USB:

mount / dev / sda1 / mnt

mount –bind / dev / mnt / dev

mount –bind / dev / pts / mnt / dev / pts

mount –bind / proc / mnt / proc

mount –bind / sys / mnt / sys

chroot / mnt

Теперь вам нужно запустить apt-get update, apt-get autoremove и apt-get clean для очистки. Еще раз, это могло бы решить проблему, и вы можете обнаружить, что операционная система теперь будет загружаться правильно. Если это не так, попробуйте использовать это, чтобы установить переменную окружения:

UNUSCONF = $ (dpkg -l | grep «^ rc» | awk ‘{print $ 2}’)

Бежать:

apt-get remove –purge $ UNUSCONF

NEWKERNEL = $ (uname -r | sed ‘s / — * [a-z] // g’ | sed ‘s / -amd64 // g’)

ADDKERNEL =»linux- (изображение | заголовки | Debian-модули | суженные-модули)»

METAKERNEL =»linux- (изображение | заголовки | суженные-модули) — (общий | amd64 | сервер | общий | к.т. | Xen)»

UNUSKERNELS = $ (dpkg -l | awk ‘{print $ 2}’ | grep -E $ ADDKERNEL | grep -vE $ METAKERNEL | grep -v $ NEWKERNEL)

Хотя вам, возможно, придется изменить ссылки на amd64 на 386 или i386 и ссылки на модули debian на модули ubuntu, если вы не используете чистый Debian. Наконец, запустите:

apt-get remove –purge $ UNUSKERNELS

grub-install –root-directory = / mnt / dev / sda

grub-install –recheck / dev / sda

umount / mnt

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

Если после перезагрузки fsck и процедур очистки ядра ошибка все еще будет иметь место, то на самом деле может произойти более серьезный сбой оборудования, который не позволяет запустить Linux. Проверьте соединения с вашим диском и убедитесь, что адаптер питания надежно подключен. Это скорее проблема с древними разъемами IDE Molex, чем с SATA, и в значительной степени все более современное. Вы также можете рассмотреть возраст загрузочного тома, если вы работали с любым типом SSD. Чипы памяти NAND со временем изнашиваются, и это может привести к необходимости проверки на наличие бадблоков. Несколько человек могут загружаться либо из слота для карт SD, либо из адаптера SD в PATA или SATA. Эти карты иногда могут выскользнуть, и влажность может нанести ущерб контактам, поэтому вы можете выключить систему, извлечь карту и переместить ее, прежде чем пытаться снова.

Ссылка на основную публикацию
Adblock
detector