Менеджер обновления удалил GRUB - как возвратиться к Ubuntu?

Я запускаю Ubuntu 14.04 и всегда обновляю регулярно (почти каждый день). Сегодня 8 июля обновление Ubuntu вело себя по-другому чем обычно. Это сказало "Не, все обновления могут быть установлены" и предложили "Частичное обновление". Никогда не пробовал это, но я доверяю Ubuntu. Одной из вещей, которые я заметил в списке обновления, был загрузчик GRUB, но эй, я доверяю Ubuntu.

После завершения это попросило, чтобы я перезапустил и когда я делаю это, это загружается непосредственно в Windows. Таким образом, GRUB эффективно удаляется, и у меня нет выбора того, хочу ли я загрузиться в Ubuntu теперь. Я не акула или в Linux или в Windows, но я чувствую вполне более инвалидов в Windows 8 (это просто прибыло связанное).

Ubuntu все еще присутствует на ноутбуке? Если да, как я возвращаюсь к нему как можно скорее возможный? (У меня есть презентация для предоставления в выходные, и установка новой системы и выбирающих данных резервного копирования является медленной).


Сбой к установке личинки после ответа Christian Benke


Я теперь зондирую систему с палкой usb человечности.

ubuntu@ubuntu:~$ sudo parted -l
Model: ATA TOSHIBA THNSNJ25 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name                  Flags
 1      1049kB  1075MB  1074MB  ntfs            Basic data partition  hidden, diag
 2      1075MB  1180MB  105MB   fat32           Basic data partition  boot
 3      1180MB  1314MB  134MB   ntfs            Basic data partition  msftres
 4      1314MB  44.7GB  43.4GB  ntfs            Basic data partition  msftdata
 6      44.7GB  46.7GB  2000MB  linux-swap(v1)
 7      46.7GB  244GB   197GB   ext4
 5      244GB   256GB   12.1GB  ntfs            Basic data partition  hidden, diag

Быстрое "sudo mkdir / медиа / [точка монтирования]", сопровождаемая "sudo, монтирует/dev/sda [X] / медиа / [точка монтирования]", позволенная контроль разделов:

/dev/sda1  Windows boot files
/dev/sda2  EFI files
/dev/sda3  Empty
/dev/sda4  Windows system
/dev/sda5  Toshiba recovery
/dev/sda6  Ubuntu swap partition (not mountable)
/dev/sda7  Ubuntu system

Очевидно,/dev/sda7 - то, что я хочу продолжить.

ubuntu@ubuntu:~$ sudo mkdir /media/oldroot
ubuntu@ubuntu:~$ sudo mount /dev/sda7 /media/oldroot
ubuntu@ubuntu:~$ sudo mount --bind /dev /media/oldroot/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /media/oldroot/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /media/oldroot/sys
ubuntu@ubuntu:~$ sudo chroot /media/oldroot /bin/sh 
# lsb_release -d
Description:    Ubuntu 14.04.2 LTS
# grub-install /dev/sda
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
# exit

Очевидно, установка личинки не нашла файлы EFI в/dev/sda2, но монтирование, что это заранее в/media/oldroot/boot/efi, казалось, работало просто великолепно:

ubuntu@ubuntu:~$ sudo mount /dev/sda2 /media/oldroot/boot/efi
ubuntu@ubuntu:~$ sudo chroot /media/oldroot /bin/sh 
# lsb_release -d
Description:    Ubuntu 14.04.2 LTS
# grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.16.0-43-generic
Found initrd image: /boot/initrd.img-3.16.0-43-generic
Found linux image: /boot/vmlinuz-3.16.0-41-generic
Found initrd image: /boot/initrd.img-3.16.0-41-generic
Found linux image: /boot/vmlinuz-3.16.0-40-generic
Found initrd image: /boot/initrd.img-3.16.0-40-generic
Found linux image: /boot/vmlinuz-3.16.0-39-generic
Found initrd image: /boot/initrd.img-3.16.0-39-generic
Found linux image: /boot/vmlinuz-3.16.0-38-generic
Found initrd image: /boot/initrd.img-3.16.0-38-generic
Found linux image: /boot/vmlinuz-3.16.0-37-generic
Found initrd image: /boot/initrd.img-3.16.0-37-generic
Found linux image: /boot/vmlinuz-3.16.0-36-generic
Found initrd image: /boot/initrd.img-3.16.0-36-generic
Found linux image: /boot/vmlinuz-3.16.0-34-generic
Found initrd image: /boot/initrd.img-3.16.0-34-generic
Found linux image: /boot/vmlinuz-3.16.0-33-generic
Found initrd image: /boot/initrd.img-3.16.0-33-generic
Adding boot menu entry for EFI firmware configuration
done
# exit    

Это не сделало решил проблему, как бы то ни было. На перезагрузку не обнаружился GRUB, и это пошло непосредственно в Windows снова? Спасибо до сих пор, что, кажется, проблема на этот раз?


Отказ переустановить затронутые пакеты


Как предложено, я смотрю на файл apt/history.log для наблюдения то, что произошло во время "частичного обновления", которое мешало GRUB работать. К сожалению, это не содержит записи для обновления 8 июля:

ubuntu@ubuntu:~$ cat /media/summer7/var/log/apt/history.log

Start-Date: 2015-07-03  09:32:40
Commandline: aptdaemon role='role-commit-packages' sender=':1.79'
Upgrade: lightdm:amd64 (1.10.5-0ubuntu1, 1.10.5-0ubuntu1.1), liblightdm-gobject-1-0:amd64 (1.10.5-0ubuntu1, 1.10.5-0ubuntu1.1)
End-Date: 2015-07-03  09:32:42

Start-Date: 2015-07-05  20:02:01
Commandline: aptdaemon role='role-commit-packages' sender=':1.85'
Upgrade: libxcomp3:amd64 (3.5.0.31-0~605~ubuntu14.04.1, 3.5.0.32-0~668~ubuntu14.04.1), nxproxy:amd64 (3.5.0.31-0~605~ubuntu14.04.1, 3.5.0.32-0~668~ubuntu14.04.1), irqbalance:amd64 (1.0.6-2ubuntu0.14.04.1, 1.0.6-2ubuntu0.14.04.2)
End-Date: 2015-07-05  20:02:04

Start-Date: 2015-07-07  20:00:24
Commandline: aptdaemon role='role-commit-packages' sender=':1.81'
Install: linux-image-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1), linux-headers-3.16.0-43:amd64 (3.16.0-43.58~14.04.1), linux-headers-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1), linux-image-extra-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1), linux-signed-image-3.16.0-43-generic:amd64 (3.16.0-43.58~14.04.1)
Upgrade: linux-signed-image-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), libfontembed1:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), linux-image-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), cups-browsed:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), linux-signed-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), cups-filters-core-drivers:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), cups-filters:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5), libgtksourceview2.0-0:amd64 (2.10.5-1ubuntu2, 2.10.5-1ubuntu2.14.04.1), linux-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), linux-libc-dev:amd64 (3.13.0-55.94, 3.13.0-57.95), libgtksourceview2.0-common:amd64 (2.10.5-1ubuntu2, 2.10.5-1ubuntu2.14.04.1), linux-headers-generic-lts-utopic:amd64 (3.16.0.41.33, 3.16.0.43.34), libcupsfilters1:amd64 (1.0.52-0ubuntu1.4, 1.0.52-0ubuntu1.5)
End-Date: 2015-07-07  20:01:11

На самом деле это кажется немного маленьким в длине, не делает этого? Кроме того, последняя запись составляла 2 часа в будущее по сравнению с тем, когда файл был затронут в последний раз:

ubuntu@ubuntu:~$ ls -l /media/summer7/var/log/apt/history.log
-rw-r--r-- 1 root root 1925 Jul  7 18:01 /media/summer7/var/log/apt/history.log

Таким образом, возможно, мы смотрим на повреждение файла здесь? О, хорошо я попробовал Кв. - получают обновление, и оно не работало:

ubuntu@ubuntu:~$ sudo mount --bind /dev /media/oldroot/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /media/oldroot/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /media/oldroot/sys
ubuntu@ubuntu:~$ sudo chroot /media/oldroot apt-get update

Всему не удалось выбрать с, "не мог разрешить" ошибку, во многом как этот вопрос. Следующие сбои

ubuntu@ubuntu:~$ sudo chroot /media/oldroot ping dk.archive.ubuntu.com
ping: unknown host dk.archive.ubuntu.com

и/media/oldroot/etc/resolv.conf файл абсолютно пуст. Действительно ли это - плохой знак?

1
задан 13 April 2017 в 15:24

2 ответа

У меня была эта та же проблема, происходят со мной в тот же день, что Вы сделали. Я работал над некоторыми вещами, человечность предложила частичное обновление, я соответствовал, и затем потратил большую часть вчера попытки переустановить личинку (напрасно).

Моя установка была двойной загрузкой с окнами 8.1, таким образом, кроме разделов окон у меня было три раздела Linux: один для системы (" / "), один для дома (" / размещают"), и один для подкачки. Я был неспособен переустановить личинку с помощью восстановления начальной загрузки, таким образом, я загрузил использование карты флэш-памяти человечности и запустил установщик.

, Когда это спросило меня, что я хотел сделать, я выбрал что-то еще. Я тогда установил свой исходный системный каталог "/" как корневой раздел и сказал установщику форматировать его, я установил подкачку как подкачку и мой корневой каталог как "/домой", но я сказал установщику не форматировать корневой каталог.

я также сказал установщику устанавливать загрузчик на диске (/dev/sda в моем случае) не раздел. Завершенная установка, на личинке перезагрузки появилась, и я смог перезагрузить в человечность и окна 8.1.

, Мой корневой каталог был абсолютно неповрежден, мое настольное образование и .bashrc, загруженный автоматически, и как только я запустил программы переустановки, я автоматически вошелся в teamviewer, хром, и т.д.

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

1
ответ дан 7 December 2019 в 13:56

Можно использовать маленькую загрузочную живую систему как Grml и команда chroot для возвращения в старую систему для фиксации поврежденного загрузчика.

после начальной загрузки от живого CD Вы хотите получить доступ к файловой системе Вашей установленной системы Linux. Таким образом, первая вещь, которую Вы делаете, состоит в том, чтобы смонтировать корневой раздел установленного Linux (Как пользователь root в Вашей живой среде CD):

# mkdir /media/oldroot
# mount /dev/sda1 /media/oldroot

, Если Вы не уверены, который Ваш раздел Linux, смонтируйте все доступные разделы и проверку, какой является Вашим корневым разделом.

следующий шаг, который получит функциональную chroot-среду, должен смонтировать псевдофайловые системы (/dev, /proc, /sys) от Вашей живой среды CD в корневом разделе, который мы просто смонтировали:

# mount --bind /dev /media/oldroot/dev
# mount --bind /proc /media/oldroot/proc
# mount --bind /sys /media/oldroot/sys

Теперь наша система готова быть chrooted, что означает, что Вы "заменяете" среду своего живого CD установленной системой (Мы также говорим ему использовать /bin/sh в качестве командной строки в установленной среде:

# chroot /media/oldroot /bin/sh
# 

Проверяют, что Вы находитесь в своем старом установленном Linux:

# lsb_release -d
Description:    Ubuntu 14.04.2 LTS

От chroot пытаются работать

# grub-install /dev/sda

для переустановки загрузчика личинки в Главной загрузочной записи жесткого диска.

, Если grub2 действительно был удален и установка личинки не существует, можно переустановить его путем копирования grub2-пакета в палку usb:

Загрузка deb-файл от http://packages.ubuntu.com/trusty/grub2 и копия это к палке usb. Смонтируйтесь палка usb в Вашем chroot (Используйте Alt-F2, чтобы заставить второй tty на среде живого CD монтировать карту с интерфейсом USB, переключатель назад к chroot-среде с Alt-F1 впоследствии):

-- Press <Alt-F2> to get to the second tty of the live-cd-env
# mkdir /media/oldroot/media/<yourusername>/usb_stick
# mount /dev/sdb1 /media/oldroot/media/<youruser>/usb_stick

-- Press <Alt-F1> to get back to the first tty to our chroot
# cd /media/<yourusername>/usb_stick
# ls
dpkg -i grub2_2.02~beta2-9_amd64.de
# dpkg -i grub2_2.02~beta2-9_amd64.deb

После этого, продолжите установка личинки .

1
ответ дан 7 December 2019 в 13:56

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

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