Что означает «регенерировать initramfs»?

Сегодня я запустил сценарий, чтобы исправить некоторые выдает на acer one 10 s1003, когда он завершил выполнение этого сообщения

All done, please regenerate your initramfs and reboot

Я хочу знать, что означает «восстановить initramfs».

2
задан 15 July 2021 в 03:20

2 ответа

Создать/пересоздать/обновить файл initramfs означает обновить initrd.img-* файлы ramdisk в /boot.

Вот список моей /boot. Обратите внимание на размер/дату файлов initrd.img-*. В вашем случае один или несколько из них нуждаются в обновлении.

~$ ls -al /boot
total 162745
drwxr-xr-x  4 root root     4096 Jul  5 05:19 .
drwxr-xr-x 23 root root     4096 Jun 19 12:40 ..
-rw-r--r--  1 root root   252994 May  7 05:38 config-5.11.0-18-generic
-rw-r--r--  1 root root   253022 Jun 16 15:38 config-5.11.0-22-generic
drwxr-xr-x  3 root root     1024 Dec 31  1969 efi
drwxr-xr-x  5 root root     4096 Jun 30 12:09 grub
lrwxrwxrwx  1 root root       28 Jun 25 12:42 initrd.img -> initrd.img-5.11.0-22-generic
-rw-r--r--  1 root root 62066094 Jul  5 05:19 initrd.img-5.11.0-18-generic
-rw-r--r--  1 root root 62067859 Jul  5 05:18 initrd.img-5.11.0-22-generic
lrwxrwxrwx  1 root root       28 Jun 25 12:42 initrd.img.old -> initrd.img-5.11.0-18-generic
-rw-r--r--  1 root root   182704 Aug 18  2020 memtest86+.bin
-rw-r--r--  1 root root   184380 Aug 18  2020 memtest86+.elf
-rw-r--r--  1 root root   184884 Aug 18  2020 memtest86+_multiboot.bin
-rw-------  1 root root  5968565 May  7 05:38 System.map-5.11.0-18-generic
-rw-------  1 root root  5969489 Jun 16 15:38 System.map-5.11.0-22-generic
lrwxrwxrwx  1 root root       25 Jun 25 12:42 vmlinuz -> vmlinuz-5.11.0-22-generic
-rw-------  1 root root 14737344 May  7 06:26 vmlinuz-5.11.0-18-generic
-rw-------  1 root root 14741312 Jun 16 15:55 vmlinuz-5.11.0-22-generic
lrwxrwxrwx  1 root root       25 Jun 25 12:42 vmlinuz.old -> vmlinuz-5.11.0-18-generic

Примечание: Я предпочитаю создавать абсолютно свежую версию с помощью опции -c, а не просто обновлять существующий файл с помощью опции -u.

Правильной командой будет:

sudo update-initramfs -c -k $(uname -r)

Это создаст свежий файл initrd.img-* для вашей текущей загруженной версии Ubuntu.

Однако, если вы не можете загрузиться с текущей версии Ubuntu, вам придется изменить эту команду, и, загрузившись с более старой версии Ubuntu, вы можете сделать это следующим образом:

sudo update-initramfs -c -k 5.11.0-22-generic, где часть 5.11.0-22-generic должна быть заменена на версию желаемого загрузочного ядра.

Чтобы перегенерировать все файлы initrd.img-* (не рекомендуется), используйте:

sudo update-initramfs -c -k all

Чтобы получить более подробную информацию, введите:

man update-initramfs

1
ответ дан 28 July 2021 в 11:18

От man update-initramfs

   The  update-initramfs script manages your initramfs images on your lo‐
   cal box.  It keeps track of the existing initramfs archives in  /boot.
   There are three modes of operation create, update or delete.  You must
   at least specify one of those modes.

   The initramfs is a gzipped cpio archive.  At boot time, the kernel un‐
   packs  that  archive into RAM disk, mounts and uses it as initial root
   file system. All finding of the root  device  happens  in  this  early
   userspace.

Команды man показывают вам страницу справочного руководства по команде или теме, которую вы указали. Существуют и другие инструменты документации (info и т.д.)

Если вы не знаете, какие команды вам нужно использовать, вы можете искать с помощью таких инструментов, как apropos, например, если я хочу узнать, какие команды связаны с initramfs, я могу использовать

guiverc@d960-ubu2:/de2900/lubuntu$   apropos initramfs

dh_installinitramfs (1) - install initramfs hooks and setup maintscripts
initramfs-tools (7)  - an introduction to writing scripts for mkinitramfs
initramfs.conf (5)   - configuration file for mkinitramfs
kernel-install (8)   - Add and remove kernel and initramfs images to and from /boot
linux-update-symlinks (1) - maintain symlinks to default kernel and initramfs
lsinitramfs (8)      - list content of an initramfs image
mkinitramfs (8)      - low-level tool for generating an initramfs image
unmkinitramfs (8)    - extract content from an initramfs image
update-initramfs (8) - generate an initramfs image
update-initramfs.conf (5) - configuration file for update-initramfs
2
ответ дан 28 July 2021 в 11:18

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

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