Що робити, коли у мене з’являється помилка «спроба читання або запису за межами диска 'hd0'», і відновлення завантаження не вирішує проблему?


35

Я спробував встановити Xubuntu 13.10 на більш старий комп'ютер. Я помітив деякі труднощі під час встановлення, які можуть мати відношення до моїх проблем. Зокрема:

  1. Дозвіл екрана був надзвичайно низьким. Вікна були набагато більшими за екран, і мені довелося пересувати їх, щоб дістатися до кнопки «Далі».

  2. Курсор миші - це розмиття кольорів, яке миготіло весь час.

Установка закінчена, і я спробував перезавантажити комп’ютер. Відразу отримав:

error: attempt to read or write outside of disk 'hd0'. 
Entering rescue mode... 
grub rescue>

Я зробив USB-диск для ремонту завантаження, завантажив його і вибрав ремонт за замовчуванням. У програмі було сказано, що проблема усунена і що якщо це не вирішує мою проблему, я повинен показати це посилання тому, хто може мені допомогти.

Що мені робити далі? Я вже намагався встановити Ubuntu та Xubuntu, обидва не мали успіху.

Редагувати:

Я знайшов рішення.

  1. Вставте живий USB Xubuntu
  2. Виберіть "спробувати Xubuntu"
  3. У меню налаштувань виберіть "встановити Xubuntu"

Це вирішило для мене проблему. Оскільки це вирішено, я не можу перевірити відповідь.


Відповіді:


36

Знайдіть розділ, в якому присутній Linux, за допомогою наступної техніки

grub rescue > ls
(hd0) (hd0, msdos9)
grub rescue > ls (hd0,msdos9)/
grub rescue > ls (hd0,msdos8)/
grub rescue > ls (hd0,msdos5)/ # suppose this is root and bootloader of linux
grub rescue > ls (hd0,msdos5)/
grub rescue > set root=(hd0,msdos5)
grub rescue > set prefix=(hd0,msdos5)/boot/grub
grub rescue > insmod normal
grub rescue > normal

Тепер з'являється меню завантаження системи. Завантажтесь у Linux.

sudo update-grub
sudo grub-install  /dev/sda # If the drive is hd0 the equivalent is sda, if it's hd1 then use sdb

Це виправляє завантажувач.


17
Я не бачу, що це робити. Ви вказуєте пекло безлічі команд, жодна з яких не має для мене сенсу. Будь ласка, додайте трохи більше пояснювального тексту! Чому ви "рахуєте" з msdos9 до 5? Як ви бачите, що "це Linux" ?? У моєму випадку це показує (hd0, msdos1)! Я не можу "рахувати" - і коли я встановлюю корінь і префікс і роблю "insmod normal", я отримую абсолютно те саме повідомлення про помилку, як і раніше. Вибачте. Це не відповідь, з якою ніхто не міг би працювати. :(
Зордід

13
Як тільки я набираю, insmod normalя знову отримую повідомлення: "помилка: спроба читати чи писати поза розділом."
user643722

2
Ви кажете "припустимо, це Linux", не говорячи про те, як я можу сказати, що таке Linux. Щоразу, коли я набираю insmod normal, я повертаюсь "помилка: невідома файлова система", для мене це не працює. Також ви можете пояснити, чому це відбувається в першу чергу?
msknapp

1
Найкраще, що я отримав, - це ще одне підказки про грубу. Меню ніколи не спливає.
jbo5112

2
Я погоджуюся з @Zordid - лише список криптовалютних команд без пояснення того, що ці команди роблять, не тільки недостатній, він може бути потенційно небезпечним.
Джонс

27

Для всіх, хто має це питання:

Це сталося зі мною там, де буде працювати і перезавантажуватися новий ремонт встановлення чи виправлення, але наступного разу, коли я перезавантажуюсь, вона отримує цю саму «спробу помилки читання». У більшості випадків у мене виникає паніка ядра, і комп'ютер потребує жорсткого перезавантаження.

Я дотримувався деяких порад і зробив нову інсталяцію, використовуючи розширені параметри (не використовуйте "стерти диск і встановити ubuntu"), використовуючи ці параметри розділу:

  1. Створіть на початку диска розділ 1 GB (1024 МБ) ext4 ; встановлений у "/ boot"
  2. Створіть потрібний простір для установки в ext4, встановленому в "/" МІНУСІ вашої області заміни
  3. Використовуйте залишок місця для заміни. (Усі розділи будуть первинними)
  4. У спадному меню встановлення завантаження виберіть розділ "/ boot". Не корінний диск накопичувача!

Це спрацювало для мене, коли команди у прийнятій відповіді отримували "Файлову систему не розпізнається". Я в кінцевому рахунку використовував той самий набір файлових систем, але цей невеликий виділений / завантажувальний розділ вирішив мою проблему. Спасибі.
GregHNZ

Здається, це також працює, якщо / boot є єдиним первинним розділом.
Аарон Мейсон

Приєднався до цього сайту, щоб сказати, що це теж працювало для мене. Невеликий завантажувальний розділ - це те, що мені потрібно було працювати, щоб розмістити Ubuntu на зовнішньому жорсткому диску. Спасибі!
rayryeng

Це допомогло мені: у мене був великий (> 5 ТБ) / розділ, додавши малий / завантажувальний розділ виправили проблему
нейтрин

Чи можна це зробити, не видаляючи існуючий розділ? У мене великий розділ з усіма моїми даними, починаючи з початку диска.
пір

6

Це легко вирішити через рятувальний рядок Grub. Перша відповідь не зовсім повна, і я спершу отримав ту саму помилку. Ось як це працює:

1-го нам потрібно знайти первинний розділ. Тут будуть знаходитись необхідні файли, необхідні для завантаження Linux, тому ми вводимо це -

Grub> ls

Тепер вам слід побачити список, порівнянний з (hd0) (hd0, msdos5) (hd0, msdos1). Зауважте, що у вас можуть бути різні розділи, ніж у мене, а також декілька дисків, але процес той самий.

Тепер шукайте розділи, щоб знайти основний -

Grub> ls (hd0)
Grub> ls (hd0,msdos5)
Grub> ls (hd0,msdos1)

Поки grub не видає або список файлів на цьому розділі, або покаже тип файлової системи та дату останньої модифікації.

По-друге, нам потрібно встановити кілька речей, як тільки ми знайшли наш основний розділ -

Grub> set prefix=(hd0,msdos1)/boot/grub
Grub> set root=(hd0,msdos1)
Grub> set

Після виконання останньої заданої команди Grub видасть список різних параметрів. Тепер перевіримо, що ми встановили правильний корінь і префікс -

Grub> ls /boot

Grub повинен вивести список файлів, що містяться в / boot.

Третє нам потрібно встановити точку монтажу та завантажити ядро ​​-

Grub> linux /vmlinuz root=/dev/sda1
Grub> initrd /initrd.img

І нарешті, ми завантажуємо систему -

Grub> boot

Якщо ви закінчите завантаження в оболонку зайнятого просто, просто введіть fsck /dev/sda1. Після цього просто введіть exitі ваша система завантажиться нормально.


Врятувало моє життя, дякую!
Тімма

3

Я вирішив цю проблему, перемістивши мій розділ Linux близько до початку жорсткого диска. Коли підрозділ Linux був наприкінці мого HDD з 120 Gb (40 Gb з кінця), у мене виникла ця проблема. Жодне рішення не спрацювало. Після переміщення розділу Linux в простір від 40Gb до 80Gb проблема зникла.


1
Як можна перемістити розділ Linux на початок диска?
пір

1

Після пошуку багато годин я спробував це рішення, і воно добре працює, щоб перевстановити ядро:

sudo dpkg --configure -a
sudo apt-get install --reinstall linux-image-$(uname -r)

0

Я досягаю цієї проблеми, коли використовував диск vmdk з пакету віртуальної машини OVA у virt-manager / QEMU / KVM. Віртуальна машина вийшла з ладу з цим повідомленням про помилку.

Рішенням було перетворити vmdk в qcow2:

qemu-img convert -O qcow2 MyAppliance-disk1.vmdk MyAppliance.qcow2

І використовувати замість цього перетворене зображення в virt-manager.


0

У мене виникла ця проблема при спробі встановити Ubuntu 18 Server та Xubuntu 18 на сервер Dell. Вибір UEFI замість Legacy у меню BIOS виправив це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.