Почему запись случайных данных с использованием dd приводит к разбиению на разделы диска?

Исправить это должно быть возможно, и это примерно похоже на процесс установки Arch Linux (отказ от ответственности: я могу ошибаться насчет некоторых шагов, прокомментируйте, если вы в беда).

Прежде всего, загрузитесь с живого CD / DVD / USB. Затем смонтируйте свой раздел (все как root!):

mkdir /mnt/ubuntu
mount /dev/sda2 /mnt/ubuntu

Затем сделайте резервную копию всего, что вам может понадобиться, из вашего / dev / sda1 и переформатируйте его для чего-то подходящего для GRUB - допустим, ext3 сделает:

mkfs.ext3 /dev/sda1

Затем смонтируйте его в вашем системном местоположении, затем привяжите материал, который обычно заполняется во время процесса загрузки:

mount /dev/sda1 /mnt/ubuntu/boot
mount -o bind /dev /mnt/ubuntu/dev
mount -o bind /dev/pts /mnt/ubuntu/dev/pts
mount -o bind /proc /mnt/ubuntu/proc
mount -o bind /sys /mnt/ubuntu/sys

Наконец, перейдите в свой старый Ubuntu:

chroot /mnt/ubuntu

Теперь вы должны стать пользователем root в своем старом Ubuntu, если все прошло хорошо. Вам в основном придется переустановить grub и ядро ​​(предполагая имена grub2 и pkg, как в Debian):

aptitude install grub2 linux

Установите grub на свой жесткий диск:

grub-install /dev/sda

Затем сгенерируйте конфигурацию:

grub-mkconfig -o /boot/grub/grub.cfg

Просмотрите конфигурацию, и если все в порядке тебе должно быть хорошо! Перезагрузитесь и попробуйте, работает ли.

0
31.12.2018, 00:53
1 ответ

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

Если команда, которую вы указали в своем вопросе, выполнялась без сообщения об ошибке, вы не переустанавливали свое настоящее ядро, а установили другое (, которое сейчас не используется ).
Если вы просто запустите apt-get installдля уже установленного пакета, вы получите следующий вывод:

linux-image-4.4.0-137-generic is already the newest version (4.4.0-137.163)

и apt -get ничего не делают. Поскольку он что-то установил на ваш сервер, это должен быть пакет, который не был установлен ранее.

Итак, чтобы быть абсолютно уверенным, что вы не удаляете текущее ядро, запустите следующее:

$ dpkg -S /boot/vmlinuz-`uname -r`
linux-image-4.4.0-137-generic: /boot/vmlinuz-4.4.0-137-generic

Это позволяет dpkg искать пакет, содержащий работающее в данный момент ядро ​​(, на основе имени файла в/boot).

В моем случае имя пакета linux-image-4.4.0-137-generic, для вашего виртуального сервера, скорее всего, оно будет другим.

Если это имя пакета отличается от имени пакета, который вы установили ранее, вы можете безопасно удалить ненужный пакет.

sudo apt-get remove linux-image-$(uname -r)
Последующий запуск

sudo apt-get autoremoveдолжен позаботиться обо всех зависимостях.

2
28.01.2020, 02:30

Теги

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