АЛЕРТ! / dev / disk / by-uuid / xxxxxxxxx не існує. Опускання до оболонки


28

Я використовую Ubuntu 14.04.

Я побіг у терміналі sudo apt-get update. Потім я перезавантажив систему. І ось я бачу:

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_

Я не можу завантажувати LIVE Ubuntu з флешки. Так, я двічі перевірив налаштування BIOS, і USB-флешка в порядку і працює на іншій машині. Зараз я збираюся придбати DVD і записати Live DVD з іншого ноутбука.

sudo blkid дає мені:

/dev/loop0: TYPE="squashfs"  
/dev/sda1: UUID="xxxx" TYPE="ext4"   
/dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960"   

/etc/fstabмає те саме, UUID="xxxx"і є рядок із:

errors=remount-ro 0   

Я спробував скористатися ремонтом завантаження, але все ще не можу увійти в Ubuntu.

Я не хочу перевстановлювати Ubuntu, тому що у мене там багато даних.

Чи є у вас поради, як це можна вирішити?


1
Запустіть sudo blkidз терміналу (з живого DVD при необхідності) і перевірте UUID на те, що /etc/fstabє. Або опублікуйте обидва результати у своєму запиті, будь ласка. Як запустити sudo blkidз живого DVD: завантажтеся з живого диска Ubuntu, натисніть на спробувати параметр Ubuntu при запуску. Відкрийте термінал (Ctrl + Alt + T) і запустіть sudo blkidкоманду в ньому. Нарешті, розмістіть його висновок у своєму запитанні.
карел

1
Ок @karel sudo blkidдає мені /dev/loop0: TYPE="squashfs" /dev/sda1: UUID="xxxx" TYPE="ext4" dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960" / etc / fstab мають однаковий UUID = "xxxx", і там є рядок, де написані помилки = remount-ro 0 -
Marcin Gorski,

1
У мене це є після запуску завантажувального ремонту журналу
Marcin Gorski,

а потім все одно я не можу увійти в ubuntu ...
Marcin Gorski,

3
@MarcinGorski, будь ласка, додайте своє рішення як відповідь та позначте його прийнятим замість редагування питання.
муру

Відповіді:


25

Рішення полягало в тому, щоб виконувати ці команди з liveDVD, це дозволяє мені робити речі на моєму sda1 з цього liveDVD (наскільки я розумію)

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
update-initramfs -u
update-grub
reboot

Мій друг з форуму ubuntu pl допоміг мені вирішити цю проблему.

Він з'ясував, що може бути помилка в initramfs, яку слід оновлювати як частину оновлення ядра. Якщо щось піде не так, під час цього оновлення можуть трапитися такі проблеми, як моя.


4
Гарний пост. Я хотів би додати, що Ubuntu не обов'язково встановлюється на sda1. Щоб визначити, де він встановлений, запустіть sudo fdisk -l. Припускаючи, що ви знаєте, на який жорсткий диск ви встановили Ubuntu, тоді ця команда повинна допомогти вам визначити, який sd * відображається на цьому диску.
ubiquibacon

Я спробував це на Ubuntu MATE 17.04 (нова установка), і це, на жаль, не допомогло ...
Домінік Хейс

1
Я отримував, WARNING: missing /lib/modules/4.2.0-16-genericтому що у LiveCD була інша версія ядра. Таким чином , я встановлений tmp, libі lib64потім все працювало.
Макс Малиш

Мені довелося вказати файлову систему для монтажу для розділу ext4 ( mount -t ext4 /dev/sda1 /mnt), інакше це спрацювало чудово.
Шейн

-2

Люди можуть нахмуритися на це, якщо хочуть, але я виявив, що використання " /dev/sdX" працює для мене надійніше, ніж UUID для моїх особистих систем. У корпоративному середовищі, я б докладати більше зусиль змусити його працювати з UUID замість «/ Dev /» адреса, але ви повинні бути безпечними , використовуючи /dev/sdaXв /etc/fstabзамість UUID посилання, по крайней мере , щоб мати можливість завантажити систему поки ви продовжуйте пошук відповіді на те, чому саме завантажувач не працює, незважаючи на правильний UUID в / etc / fstab.

Якщо ви хочете пройти цей маршрут, скористайтеся такою процедурою:

  1. Завантажте в оболонку відновлення або завантажте на живий USB-накопичувач або компакт-диск

  2. Встановіть системний розділ, який не завантажується

  3. Відредагуйте /etc/fstabфайл у системному розділі, зазначеному на Крок 2, як корінь та замініть UUID=XXXXXвідповідним /dev/sdXярликом у всіх відповідних /etc/fstabзаписах.

Примітка. Ця процедура, як мені відомо, є надійною для дистрибутивів Ubuntu та Ubuntu (станом на написання цієї статті; це може легко змінитися з будь-яким майбутнім випуском). Я знаю факт, що він не буде надійно працювати для деяких інших дистрибутивів, таких як knoppix або Arch Linux (це пов’язано з різницею в тому, як UDEV сканує на пристроях та дає їм імена у файловій системі / dev). Якщо ви використовуєте дистрибутив, що не походить від Ubuntu, будь ласка, не використовуйте цей метод або використовуйте його на свій страх і ризик.


Дякую за вашу допомогу @MGodby, але я вже знаходжу рішення.
Марцін Горський

4
Ваш метод - старий метод, який замінили з досить поважних причин, головним чином, що нумерація накопичувачів не є постійною, і можливо завантажуватися з несподіваного накопичувача. З UUID це неможливо. Але я часто використовую формат "LABEL = ___", просто тому, що зрозуміліше відразу зрозуміти, що до чого. Приклад: LABEL=data_partition.
Марті Фрід
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.