ALERT! / 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 с USB-накопителя. Да, я дважды проверил настройку 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   

Я попытался использовать boot-repair, но все еще не могу войти в Ubuntu.

Я не хочу переустанавливать Ubuntu, потому что у меня там много данных.

Есть ли у вас какие-либо советы, как это можно решить?

Марчин Горски
источник
1
Запустите sudo blkidиз терминала (с живого DVD, если необходимо) и проверьте UUID относительно того, что /etc/fstabимеет. Или опубликуйте оба результата в своем вопросе, пожалуйста. Как запустить sudo blkidс живого DVD: Загрузитесь с живого диска Ubuntu, нажмите опцию Try Ubuntu при запуске. Откройте терминал (Ctrl + Alt + T) и затем запустите sudo blkidкоманду в нем. Наконец, опубликуйте свой вывод в своем вопросе.
Карел
1
ok @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 -
Марцин Горски
1
У меня это после запуска boot-repair Журнал Boot-repair
Marcin Gorski
и тогда я все еще не могу войти в Ubuntu ...
Марцин Горски
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-накопителя или CD

  2. Смонтируйте системный раздел, который не загружается

  3. Отредактируйте /etc/fstabфайл в системном разделе, упомянутом на шаге 2, как root и замените UUID=XXXXXего соответствующей /dev/sdXметкой во всех соответствующих /etc/fstabзаписях.

Примечание: мне известно, что эта процедура надежна для дистрибутивов, производных от Ubuntu и Ubuntu (на момент написания этой статьи; это может легко измениться в любом следующем выпуске). Я точно знаю, что он не будет надежно работать для некоторых других дистрибутивов, таких как knoppix или Arch Linux (это связано с различиями в способах сканирования UDEV на устройствах и присвоения им имен в файловой системе / dev). Если вы используете не производный от Ubuntu дистрибутив, не используйте этот метод и не используйте его на свой страх и риск.

MGodby
источник
Спасибо за вашу помощь @MGodby, но я уже нахожу решение.
Марцин Горски
4
Ваш метод является старым методом, который был заменен по довольно веским причинам, в основном из-за того, что нумерация дисков не является постоянной, и возможно загрузиться с неожиданного диска. Это невозможно с UUID. Но я часто использую формат "LABEL = ___", просто потому, что яснее сразу увидеть, что к чему. Пример: LABEL=data_partition.
Марти Фрид