grub2: update-grub не смог получить канонический путь `none '

$ sudo update-grub
/usr/sbin/grub-probe: error: failed to get canonical path of `none'.

Это ситуация, в которой я нахожусь после прерванного обновления от яркого до wily

[edit]

Дальнейшее углубление в исходный код grub, вторая команда возможно, сбой:

$ grub-probe --target=device /
/dev/md2
$ grub-probe --target=device /boot
grub-probe: error: failed to get canonical path of `none'.

Следующее также дает ошибку:

$ sudo grub-probe -t device /boot/grub
grub-probe: error: failed to get canonical path of `none'.
$ sudo grub-probe -t fs_uuid /boot/grub
grub-probe: error: failed to get canonical path of `none'.

[/ edit]

У меня нет /boot/grub/grub.cfg present (или старше /boot/grub/menu.lst)

Не удалось установить загрузчик во время конфигурации grub:

http://imgur.com/a/ LqPa8

Grub не смог установить доступные параметры (/dev/sda /dev/sdb или /dev/md2)

md1 не был предоставлен в качестве опции, хотя это в настоящее время установлен в / boot:

$ cat /etc/fstab
proc /proc proc defaults 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0

У меня есть установка рейда с / dev / sda и / dev / sdb в любом случае:

$ sudo fdisk -l
Disk /dev/sda: 447.1 GiB, 480103981056 bytes, 937703088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00032e61

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1          2048   8390656   8388609     4G fd Linux raid autodetect
/dev/sda2       8392704   9441280   1048577   512M fd Linux raid autodetect
/dev/sda3       9443328 937701040 928257713 442.6G fd Linux raid autodetect


Disk /dev/sdb: 447.1 GiB, 480103981056 bytes, 937703088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00074c3d

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sdb1          2048   8390656   8388609     4G fd Linux raid autodetect
/dev/sdb2       8392704   9441280   1048577   512M fd Linux raid autodetect
/dev/sdb3       9443328 937701040 928257713 442.6G fd Linux raid autodetect


Disk /dev/md2: 442.5 GiB, 475133575168 bytes, 927995264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md0: 4 GiB, 4292804608 bytes, 8384384 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md1: 511.7 MiB, 536543232 bytes, 1047936 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Grub, похоже, установлен (обнаружение из http://imgur.com/a/LqPa8 on serverfault):

$ sudo dd bs=512 count=1 if=/dev/sda 2>/dev/null | strings
ZRr=
`|f 
\|f1
GRUB 
Geom
Hard Disk
Read
 Error

Когда я запускаю grub-emu, я получаю пустое приглашение:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:        15.10
Codename:       wily

Это на сервере с единственным доступом ssh, поэтому у меня нет доступа к live CD, если grub не работает!

[e dit] выхода df -h:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             63G     0   63G   0% /dev
tmpfs            13G  714M   12G   6% /run
/dev/md2        436G  178G  236G  44% /
tmpfs            63G  8.0K   63G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            63G     0   63G   0% /sys/fs/cgroup
none            436G  178G  236G  44% /boot
tmpfs            13G     0   13G   0% /run/user/0
tmpfs            13G     0   13G   0% /run/user/1002
/dev/md2        436G  178G  236G  44% /var/cache/apt/archives
none            436G  178G  236G  44% /bin
none            436G  178G  236G  44% /etc
none            436G  178G  236G  44% /initrd
none            436G  178G  236G  44% /lib
none            436G  178G  236G  44% /lib32
none            436G  178G  236G  44% /lib64
none            436G  178G  236G  44% /sbin
none            436G  178G  236G  44% /usr
none            436G  178G  236G  44% /var

[далее редактирование], приведенная выше команда сообщает, что / boot установлен на none. Я думаю, что это может быть none grub-probe жалуется. Вот результат работы mount -l, который показывает две отдельные записи монтирования; исследуя, как удалить второй сейчас.

mount -l |grep boot
/dev/md1 on /boot type ext3 (rw,relatime,data=ordered)
none on /boot type aufs (rw,relatime,si=6ea5aad590be877d)
1
задан 13 April 2017 в 15:14

3 ответа

Вы пытались grub-install?

Если вы не можете использовать его, тогда ...

Как я вижу, вы можете запустить терминал в системе: [!d3 ]

Do

apt-get -f install

Как суперпользователь.

Если он не просил установить что-либо, ничего не сломалось.

Рассмотрим:

apt-get upgrade //To finish upgrading

Last

apt-get install -y aptitude && aptitude reinstall grub

Теперь попробуйте еще раз с grub-install

Примечание:

[d13 ] Для использования grub-install выполните:

man grub-install
0
ответ дан 23 May 2018 в 10:56
  • 1
    Я не знаю, почему у вас есть нисходящий поток, aptitude reinstall grub, похоже, добился определенного прогресса; установка пакета с именем grub{b} libc6-i386{a} и удаление необходимых пакетов; [F3] – EoghanM 25 May 2016 в 22:52
  • 2
    Downvotes для заказа, в котором представлены ответы. Чтобы помочь другим найти наиболее ценные ответы в первую очередь. – userDepth 25 May 2016 в 23:09
  • 3
    Хммм, я почти уверен, что лучше позволить upvotes делать заказ. downvotes подразумевают, что что-то не так с ответом. И ваш ответ помог мне добиться прогресса и, конечно же, был не хуже, чем единственный ответ. – EoghanM 25 May 2016 в 23:15
  • 4
    Гораздо лучше использовать утилиты sytem, ​​если они поставляются с носителями ОС. Вы говорите об обновлениях, и PPA не дружат с этим. Эти два ответа хороши, поскольку вы заявляете, но ... Использование Grub имеет больше вероятностей эффективности, когда вы узнали, несмотря на кажущуюся длинную кривую обучения. С помощью f install вы пытаетесь внести изменения, обновление перезапускает процесс. Я сосредоточился на мини-части Grub, но ... Проверьте список источников и, если он не был изменен на новую версию, вам также понадобится apt-get dist-upgrade для перезапуска процесса. – userDepth 25 May 2016 в 23:31
  • 5
    В дополнение к моему первоначальному комментарию, я не понимал, что aptitude reinstall grub фактически понизил меня от grub2 до grub0.97. На самом деле это не был прогресс, и я переустановил grub2 – EoghanM 25 May 2016 в 23:34

Не пытайтесь это исправить. Используйте boot-repair Подключитесь к Интернету, затем откройте терминал с помощью Ctrl + Alt + t, вставьте следующие команды и запустите их, нажав Enter:

sudo add-apt-repository -y ppa:yannubuntu/boot-repair; \
sudo apt-get update; \
sudo apt-get install -y boot-repair && boot-repair

Следующая (опасная) вещь, которую вы можете сделать если boot-repair не работал, попробуйте переустановить, который не позволит вам. Поэтому выберите что-нибудь еще. Создайте все одно и то же и укажите один и тот же пароль и имя пользователя. Говорят, что это работает как ремонт.

Лучшая альтернатива, если boot-repair не работает, заключается в резервном копировании ваших данных и новой установке. Вы можете делать резервные копии с помощью живого диска. Я помню, я сделал что-то тривиальное в Lubuntu, которое только испортило некоторые настройки. Было предложено создать резервную копию и установить новую версию. Мне сказали, что потребуется час, а не часами, пытаясь понять это. Я закончил этот совет, пробовав некоторые другие вещи. Он был прав.

Вы также можете попробовать эту ссылку для восстановления grub из live usb https://community.linuxmint.com/tutorial/view/245 Я пробовал что-то подобное (но не такую ​​же ссылку) когда неудачное обновление ядра все испортило. Я googled «как исправить grub после неудачного обновления Linux» и получил множество страниц. Вы можете попробовать найти «grub repair usb live». Попробуйте это, у которого есть терминальные и графические ответы. http://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/

0
ответ дан 23 May 2018 в 10:56
  • 1
    (Я не спустил вас вниз) Я понимаю, что boot-repair - это только GUI? И это не попытка исправить это! Резервное копирование и переустановка - это позиция по умолчанию, которую я пытаюсь избежать. – EoghanM 25 May 2016 в 22:31
  • 2
    Была еще одна вещь, которую я когда-то использовал для использования живого компакт-диска, и монтирования и повторной установки grub в качестве восстановителя восстановления. Я постараюсь найти его. Он работал и работал хорошо, но его было трудно найти. – Bhikkhu Subhuti 26 May 2016 в 01:36
  • 3
    О, я вижу, вы ответили на свой вопрос. Немного понравилось, как я отредактировал свой ответ. – Bhikkhu Subhuti 26 May 2016 в 01:48

Этого было бы достаточно, как root в режиме восстановления после включения сети:

sudo apt-get install --reinstall grub * sudo grub-install / dev / partition

Для раздела вы вводите раздел загрузки, который вы очень безопасны, например, например, / dev / sda

. Затем выполните следующее:

Есть ошибка проверки орфографии, но только немного? Вы можете попробовать:

sudo apt-get install --reinstall grub *

sudo update-grub2

sudo update- grub
0
ответ дан 23 May 2018 в 10:56

Другие вопросы по тегам:

Похожие вопросы: