update-initramfs генерирует ненужные изображения, которые не должны существовать

Возможно, кому-то это понадобится:)

По сути, некоторое время назад я возился с режимами сжатия initramfs и создал однострочник, чтобы обновлять только текущий образ initramfs. Путем проб и ошибок я добился успеха. Однако, поскольку я был новичком с bash в целом, я создал проблему.

Вывод терминала при попытке обновить все образы initrd:

root@OMEN:/boot# update-initramfs -k all -c
update-initramfs: Generating /boot/initrd.img-{uname
WARNING: missing /lib/modules/{uname
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: Bad version passed {uname
dpkg: įspėjimas: version '{uname' has bad syntax: version number does not start with digit
dpkg: įspėjimas: version '{uname' has bad syntax: version number does not start with digit
depmod: ERROR: Bad version passed {uname
update-initramfs: Generating /boot/initrd.img--r}
update-initramfs: Generating /boot/initrd.img-(uname
WARNING: missing /lib/modules/(uname
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: Bad version passed (uname
dpkg: įspėjimas: version '(uname' has bad syntax: version number does not start with digit
dpkg: įspėjimas: version '(uname' has bad syntax: version number does not start with digit
depmod: ERROR: Bad version passed (uname
update-initramfs: Generating /boot/initrd.img--r)

Как мне избавиться от всех этих ошибок?

1
задан 1 August 2020 в 04:54

1 ответ

Вопрос был в том, как инструмент update-initramfs имеет представление об этих «версиях» (как ему удалось «сгенерировать» их - другое: D)? Чтобы найти ...

  1. cd (перейти) в каталог:

     lukas @ OMEN : / etc / initramfs-tools $ cd / var / lib / initramfs-tools
    
  2. ls (список) файлов в текущем каталоге:

     lukas @ OMEN : / var / lib / initramfs-tools $ ls
    '-r)' -r} '(uname' {uname '(uname -r)' '{uname -r}'
    

    Здесь мы видим эти файлы. Просто продолжайте удалять их один за другим, если вы обнаружите что-то еще, что вам может понадобиться, или просто удалите их все:

     lukas @ OMEN : ~ $ sudo rm / var / lib / initramfs-tools / *
    

Теперь удалите ненужные файлы в / boot ... Сначала проверьте, какие файлы там:

lukas@OMEN:~$ ls /boot
 boot                          initrd.img-5.7.10-xanmod2     System.map-5.4.0-42-generic
 config-5.3.0-62-generic       initrd.img-5.7.11-xanmod1     System.map-5.7.10-xanmod2
 config-5.4.0-42-generic       initrd.img-{uname             System.map-5.7.11-xanmod1
 config-5.7.10-xanmod2        'initrd.img-{uname -r}'        vmlinuz-5.3.0-62-generic
 config-5.7.11-xanmod1         lost+found                    vmlinuz-5.4.0-42-generic
 efi                           memtest86+.bin                vmlinuz-5.7.10-xanmod2
 grub                          memtest86+.elf                vmlinuz-5.7.11-xanmod1
 initrd.img-5.3.0-62-generic   memtest86+_multiboot.bin
 initrd.img-5.4.0-42-generic   System.map-5.3.0-62-generic

Затем удалите файлы, которые вы считаете ненужными. (be careful, deleting wrong files can make your system unbootable):

lukas@OMEN:~$ sudo rm "/boot/initrd.img-{uname -r}"

If the files have space symbol or some weird symbols, put the argument after rm in quotes (both ' and " work)

If you did accidentally delete an image that was needed, do not reboot your computer, first do this:

  1. Type in terminal uname -r, then sudo ls /boot and check if running kernel still has initrd image (should be initrd.img-VERSION, where VERSION is the output from uname -r). If there is such a file, you will be able to reboot your PC into GNU/Linux. Following next steps are still recommended, though.
  2. Open up Synaptic or Muon (if neither are installed, sudo apt install synaptic), then launch from your dash or application menu.
  3. Search for installed linux-image packages (put what is in quotes into search box, wait a sec for the application to load package list, then sort packages by "installed version" or "status".
  4. Reinstall everything that shows a "installed version" or has status "installed" down below.
  5. Check /boot directory with ls /boot again, and if you have the initrd images again, you can relax and do what you want, successful reboot included.
0
ответ дан 2 August 2020 в 21:58

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

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