在内核 5.4 中提取“initrd”存档时出现问题

Par*_*avi 3 kernel initrd cpio

我可以看到我的initrd文件占用了近 90 MB 的磁盘空间,但通过解压后cpio,它只包含一个 30 KB 的微代码:

$ cpio -it < initrd.img-5.4.0-18-generic 
.
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/AuthenticAMD.bin
62 blocks
Run Code Online (Sandbox Code Playgroud)

我知道内核在启动的第一阶段需要很多文件和工具,但我找不到任何有用的东西。

$ file initrd.img-5.4.0-18-generic 
initrd.img-5.4.0-18-generic: ASCII cpio archive (SVR4 with no CRC)
Run Code Online (Sandbox Code Playgroud)

我查看了这里这里以及这个问题,但这些太旧了,对我不起作用。我的initrd.img不是gzip档案。
如何正确提取该文件?
我使用内核 v.5.4.0

谢谢。

Ste*_*itt 6

initramfs图像包含多个cpio档案;文件名表明您\xe2\x80\x99正在使用Ubuntu衍生版本,因此列出完整内容的最简单选择是使用lsinitramfs

\n\n
lsinitramfs initrd.img-5.4.0-18-generic\n
Run Code Online (Sandbox Code Playgroud)\n\n

要提取内容,请使用unmkinitramfs

\n\n
unmkinitramfs initrd.img-5.4.0-18-generic initramfs\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会将所有文件提取到该initramfs目录。

\n