Случайно удалил все ядра

Я работаю на сервере Ubuntu 12.04 LTS LAMP. Я получил сообщение о том, что мой корневой каталог был переполнен после запуска apt-get dist-upgrade, поэтому, следуя инструкциям, которые я нашел в Интернете, я удалил некоторые из старых ядер с помощью apt-get. Однако я как-то случайно удалил все ядра. Моя система не перезагрузится сейчас.

Я нашел тему от 2011 года о решении этой проблемы Как восстановить систему после случайного удаления всех ядер?

Но когда я пытаюсь следовать инструкциям, они не не работает для меня.

Когда я делаю это:

sudo parted -l

я получаю это:

Model: ATA WDC WD20EZRX-00D (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      1049kB  256MB   255MB   primary   ext2         boot
 2      257MB   2000GB  2000GB  extended
 5      257MB   2000GB  2000GB  logical                lvm


Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0
has been opened read-only.

Error: Can't have a partition outside the disk!

Я не понимаю, почему раздел 1 является ext2, так как это была новая установка 12,04 LTS, но я выполнил эту команду в соответствии с инструкциями:

sudo mount /dev/sda1 /mnt

Затем я попробовал эту команду:

sudo mount --bind /dev /mnt/dev

и он сказал, что не может найти точку монтирования.

Итак, я сделал это:

mkdir /mnt/dev

и затем он сделал монтировку.

Хорошо, теперь я готов к chroot, следуя инструкциям:

sudo chroot /mnt

И я получаю это:

chroot: failed to run command '/bin/bash': No such file or directory

Я заранее извиняюсь, но я не знаю достаточно о Linux, чтобы понять, что здесь происходит. Может ли кто-нибудь помочь мне? Мне потребуется много времени, чтобы переустановить все на моем сервере.

ОБНОВЛЕНИЕ: Спасибо за ваш ответ. Когда я ввожу

sudo pvs 

, я получаю:

PV         VG         Fmt  Attr PSize PFree  
/dev/sda5  HOP-Server lvm2 a-   1.82t 136.00m

Затем я ввожу

sudo lvdisplay /dev/HOP-Server

и получаю это:

  --- Logical volume ---
  LV Name                /dev/HOP-Server/root
  VG Name                HOP-Server
  LV UUID                feUsjU-HFHi-WFre-322J-SlWF-0J1K-zpiTQX
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                1.81 TiB
  Current LE             474993
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto

  --- Logical volume ---
  LV Name                /dev/HOP-Server/swap_1
  VG Name                HOP-Server
  LV UUID                tuJSFw-EKU4-oeLI-A934-srj2-DA2L-VqZtYr
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                7.20 GiB
  Current LE             1843
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto

Это немного отличается от вашего примера, но я предполагаю, что я должен ввести

sudo mount /dev/HOP-Server/root /mnt  **UPDATED**

Но когда я это сделаю, я получу это:

mount: special device /dev/HOP-Server/root does not exist

** ОБНОВЛЕНИЕ: ** Я использовал это веб-страница, чтобы помочь мне смонтировать раздел файловой системы:

http://linuxwave.blogspot.com/2007/11/mounting-lvm-disk-using-ubuntu-livecd.html

После этого я смог выполнить остальные оригинальные инструкции без ошибок. Однако, когда я перезагружаюсь, единственными вариантами являются запуск двух версий утилиты тестирования памяти. Я снова перезагрузил live CD и снова следовал инструкциям. Когда я добрался до apt-get для ядра, он сказал, что он обновлен.

ОБНОВЛЕНИЕ: Хорошо, я снова смонтировал разделы, и я вижу, что в / root находится файл с именем initrd.img-3.2.0-56-generic. IIRC, это последнее ядро. Я запустил update-grub, но выдает ошибку "не могу найти устройство для /".

ОБНОВЛЕНИЕ: После другого поиска я нашла это:

http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:Cannot_Find_A_Device_For_boot/grub

Я следовала этой процедуре, и она не выявила никаких ошибок. Однако теперь, когда я загружаюсь, я получаю это:

error: ELF header smaller than expected
grub rescue> 
0
задан 13 April 2017 в 15:23

1 ответ

Похоже, ваша Ubuntu использует LVM в качестве своего корня. Смонтированный вами раздел ext2 содержит все необходимое, чтобы ваша система могла загружаться и монтировать lvm, остальное - включая bash - там хранится.

Чтобы найти том LVM, содержащий ваши данные, вам нужен пакет lvm2 , который не установлен в работающей системе. Таким образом, установите его.

sudo apt-get install lvm2

Найдите группу томов, содержащую ваш корневой раздел, перечислив все группы томов.

sudo pvs

Выходные данные должны выглядеть следующим образом:

PV         VG   Fmt  Attr PSize PFree  
/dev/sda2  vg1  lvm2 a--  1,64t 236,91g

Второй столбец содержит имя группы томов, в данном случае vg1. При этом вы можете получить информацию о томах, содержащихся в этой группе, выполнив

sudo lvdisplay /dev/vg1

Вывод будет выглядеть как

--- Logical volume ---
LV Path                /dev/vg1/lv1
LV Name                lv1
VG Name                vg1
LV UUID                kE8qXE-bI4u-NLzZ-u37A-wZfx-NtaU-57PqRj
LV Write Access        read/write
LV Creation host, time , 
LV Status              available
# open                 1
LV Size                1000,00 GiB
Current LE             256000
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:0

Вы ищете Имя Л.В., в данном случае lv1. В случае, если есть только один том, это должен быть ваш корневой диск. В противном случае, смонтируйте их все и посмотрите, какой из них содержит данные вашей системы.

Установка тома так же проста, как

sudo mount /dev/vg1/lv1 /mnt

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

Обновление : Как уже упоминалось в комментариях, поскольку вы используете отдельный загрузочный раздел (/dev/sda1), вам придется смонтировать его на /mnt/boot/. Второй ответ в найденной вами ветке содержит более подробную информацию об этом.

Обновление 2 : последняя ошибка обычно указывает, что что-то не так с вашей установкой grub. Если у вас есть доступ к удаленному графическому интерфейсу, вы можете попробовать использовать Boot Repair . Если это не поможет или у вас есть только терминал, я бы посоветовал создать новый поток, сфокусированный на этой новой проблеме.

0
ответ дан 13 April 2017 в 15:23

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

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