Я удалил некоторые важные части ядра, чтобы увеличить свободное место на моем загрузочном разделе. Сначала я продолжу, как в этой ссылке . Однако проблема не совсем такая, как в ссылке (см. Ответ от Елии ниже). Сначала я попытался получить следующий первый вывод схемы разделов:
ubuntu@ubuntu:~$ sudo parted -l
Model: ATA ST3500418AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 535MB 535MB primary ext4 boot
2 535MB 5914MB 5379MB primary linux-swap(v1)
3 5914MB 106GB 100GB primary ext4
4 106GB 500GB 394GB primary ext4
Model: WD 5000AAC External (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 500GB 500GB primary ext4
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!
ubuntu@ubuntu:~$
У меня есть загрузочный раздел на sda1
, sda2
- это раздел подкачки, sda3
- мой корневой каталог, и sda4
это мой домашний раздел. Я следовал инструкции по второму ответу (от Елии). Это означает:
1.
ubuntu@ubuntu:~$ sudo mount /dev/sda3 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
Затем я добавил:
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# mount -t proc none /proc
root@ubuntu:/# mount -t sysfs none /sys
root@ubuntu:/# mount -t devpts none /dev/pts
root@ubuntu:/# export HOME=/root
root@ubuntu:/# export LC_ALL=C
Я попытался установить новое ядро:
apt-get update
apt-get -y install linux-image-generic
Здесь я получаю следующую ошибку:
root@ubuntu:/# apt-get -y install linux-image-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-image-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-29-generic)
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-extra-3.8.0-29-generic:
linux-image-extra-3.8.0-29-generic depends on linux-image-3.8.0-29-generic; however:
Package linux-image-3.8.0-29-generic is not configured yet.
dpkg: error processing linux-image-extra-3.8.0-29-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-3.8.0-29-generic; however:
Package linux-image-3.8.0-29-generic is not configured yet.
linux-image-generic depends on linux-image-extra-3.8.0-29-generic; however:
Package linux-image-extra-3.8.0-29-generic is not configured yet.
dpkg: error processing linux-image-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-imNo apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
age:
linux-image depends on linux-image-generic; however:
Package linux-image-generic is not configured yet.
dpkg: error processing linux-image (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
linux-image-3.8.0-29-generic
linux-image-extra-3.8.0-29-generic
linux-image-generic
linux-image
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/#
umount /proc || umount -lf /proc
umount /sys /dev/pts
exit
sudo umount /mnt/dev /mnt
Я также пытался удалить все и запустить
apt-get install linux-generic linux-image-generic linux-headers-generic
и, конечно,
update-grub
I ' я все еще получаю memtest при загрузке. Как указал Илия, вышеупомянутое решение не применимо в моем случае. Поэтому я следовал инструкциям в его ответе ниже. Однако это не решает проблему. Я получил следующие результаты:
ubuntu@ubuntu:~$ sudo mount /dev/sda3 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# mount -t proc none /proc
root@ubuntu:/# mount -t sysfs none /sys
root@ubuntu:/# mount -t devpts none /dev/pts
root@ubuntu:/# export HOME=/root
root@ubuntu:/# export LC_ALL=C
, затем запустить apt-get update
, а затем предложили:
root@ubuntu:/# apt-get -y --purge --reinstall install linux-image-3.8.0-29-generic linux-image-extra-3.8.0-29-generic linux-image-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 3 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/43.3 MB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: warning: files list file for package 'linux-image-3.8.0-29-generic' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'initramfs-tools' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'linux-image-extra-3.8.0-29-generic' missing; assuming package has no files currently installed
(Reading database ... 251414 files and directories currently installed.)
Preparing to replace linux-image-3.8.0-29-generic 3.8.0-29.42 (using .../linux-image-3.8.0-29-generic_3.8.0-29.42_amd64.deb) ...
Done.
Unpacking replacement linux-image-3.8.0-29-generic ...
Preparing to replace linux-image-extra-3.8.0-29-generic 3.8.0-29.42 (using .../linux-image-extra-3.8.0-29-generic_3.8.0-29.42_amd64.deb) ...
Unpacking replacement linux-image-extra-3.8.0-29-generic ...
Preparing to replace linux-image-generic 3.8.0.29.47 (using .../linux-image-generic_3.8.0.29.47_amd64.deb) ...
Unpacking replacement linux-image-generic ...
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Failed to symbolic-link /boot/initrd.img-3.8.0-29-generic to initrd.img:File exists at /var/lib/dpkg/info/linux-image-3.8.0-29-generic.postinst line 614.
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
subprocess installed post-installation script returned error exit status 17
dpkg: dependency problems prevent configuration of linux-image-extra-3.8.0-29-generic:
linux-image-extra-3.8.0-29-generic depends on linux-image-3.8.0-29-generic; however:
Package linux-image-3.8.0-29-generic is not configured yet.
dpkg: error processing linux-image-extra-3.8.0-29-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-3.8.0-29-generic; however:
Package linux-image-3.8.0-29-generic is not configured yet.
linux-image-generic depends on linux-image-extra-3.8.0-29-generic; however:
Package linux-image-extra-3.8.0-29-generic is not configured yet.
dpkg: error processing linux-image-generic (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
linux-image-3.8.0-29-generic
linux-image-extra-3.8.0-29-generic
linux-image-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/#
Используя приведенную выше информацию, я использовал следующее
uname -r
Позволяет вызывать любой вывод вышеприведенной команды PUMPKIN
Затем я набрал:
dpkg --list | grep linux-image
Я просмотрел выходные данные этого списка и заметил, что linux-image-PUMPKIN
Все, что НЕ было моим linux-image-PUMPKIN, можно удалить, выполнив команду, как она применяется. Вам:
sudo apt-get purge linux-image-(your non-PUMKIN entry goes here)
, затем
sudo update-grub
sudo update-grub2
и, наконец,
sudo apt-get update
sudo apt-get autoremove
sudo apt-get upgrade
И мне было хорошо после перезагрузки.
Друг решил проблему. Он предложил следующее, что сработало для меня:
apt-get purge grub grub-pc grub-common
apt-get install grub-common grub-pc
update-grub
Ответы там написаны для ситуаций, когда нет ядер, потому что пакеты, предоставляющие их, были удалены.
Ваша ситуация похожа, но немного отличается. Похоже, что в вашей системе произошло то, что ядра отсутствуют, поскольку их файлы были удалены вручную (или удалены каким-либо автоматическим процессом , отличным от , кроме деинсталляции пакета). Похоже, что с точки зрения менеджера пакетов у вас все еще установлены ядра.
Чтобы решить эту проблему, может быть достаточно просто сказать менеджеру пакетов переустановить пакет ядра.
Вы выполнили эту команду:
apt-get -y install linux-image-generic
Используя ту же процедуру (включая команду apt-get update
перед ней), попробуйте , заменив эту команду apt-get -y install
этой: [ 1125]
apt-get -y --purge --reinstall install linux-image-3.8.0-29-generic linux-image-extra-3.8.0-29-generic linux-image-generic
(Флаг --purge
является необязательным, поскольку эта проблема не связана с общесистемными файлами конфигурации. Но это не должно повредить.)
Это приведет к удалению пакетов, которые не являются работает (из-за удаленных файлов), затем переустановите их, убедившись, что все их файлы скопированы из архивов пакетов. Он не должен зависеть от наличия каких-либо файлов пакетов, поэтому он должен работать, даже если некоторые файлы пакетов, по-видимому, были удалены вручную.
linux-image-generic
- метапакет; при его установке устанавливается самое последнее стабильное ядро для вашей системы, поскольку linux-image-generic
объявляет пакеты, предоставляющие это ядро, в качестве зависимостей. Подчеркивание того, что linux-image-generic
нужно переустанавливать «с нуля», не обязательно приводит к переустановке всех его зависимостей, поэтому я перечислил соответствующие зависимости в приведенной выше команде.
Я получил их имена (linux-image-extra-3.8.0-29-generic
и linux-image-extra-3.8.0-29-generic
) из вывода, который вы включили в свой вопрос. Кто-то еще, столкнувшийся с этой проблемой, не обязательно захочет указать именно эти пакеты для установки, но вместо этого должен увидеть, от чего зависят пакеты linux-image-generic
, и явно переустановить как минимум пакет, в котором отсутствуют файлы.
Таким образом, часть ключа вывода, который побудил меня предложить это решение, была:
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-29-generic)
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
Возможно, это не сработает. Это может произойти, если пакеты разбиты таким образом, что менеджер пакетов не может удалить из них . Если возникнут те или иные проблемы, пожалуйста, уточните свой вопрос с подробностями.
(Для людей, кроме автора , этот вопрос - если это произойдет, и информация, представленная здесь, не позволит вам ее решить, опубликуйте новый вопрос с как можно большим количеством деталей или добавьте детали на ваш вопрос, если вы уже опубликовали один о проблеме.)