标签: initrd

如何从 ubuntu-20.04-live-server-amd64.iso 中提取 initrd

我正在尝试更新用于重新管理 20.04 的 Ubuntu 18.04 安装映像的进程,但在提取 initrd 存档时遇到问题。使用的命令是cpio -id --no-absolute-filenames. 当我使用相同的命令从 20.04 映像中提取 initrd 映像时,它会提取kernel/x86/microcode/AuthenticAMD.bin并停止。

检查 initrd 文件内容,我可以看到“TRAILER”部分,显示该文件中有多个存档。正如有关 cpio 档案的其他线程中所建议的,我尝试按如下方式提取复合档案:cat initrd | while cpio -id --no-absolute-filenames; do :; done。在这种情况下,第一个条目会提取,但它有一堆“0 块”并且不会提取其他任何内容。

有谁知道这个档案是如何创建的或如何提取它?

disk-image initrd 20.04

6
推荐指数
2
解决办法
9414
查看次数

/sbin/init : 没有这样的文件或目录 | 无法启动ubuntu桌面

我已经使用 Ubuntu Desktop 一段时间了,但是今天由于某种原因我无法启动它。这是我所看到的。

在此输入图像描述

这是我已经尝试过的:

  1. 尝试以恢复模式启动
  2. 从可启动 USB 执行 fsck。

这是我从 USB 启动后所做的事情:

  1. 创建了可启动 USB
  2. 看到4个选项:
    • 无需安装即可尝试 Ubuntu
    • 安装Ubuntu
    • 原始设备制造商安装
    • 检查光盘是否有缺陷

我选择了第一个选项。打开终端-->sudo fdisk -l

这给了我实际的设备名称 -->/dev/sda1

然后我执行 -->sudo fsck /dev/sda1正如这里提到的 -目标文件系统没有请求 /sbin/init

这是输出:

$ sudo fsck /dev/sda1
fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
/dev/sda1: clean, 682451/29483008 files, 26039796/117925888 blocks
Run Code Online (Sandbox Code Playgroud)

尝试重新启动并从 HDD 启动,但同样的问题

  1. 再次从 USB 启动并选择尝试 Ubuntu 而无需安装。执行——sudo fsck -f /dev/sda1

这就是输出的样子 - https://pastebin.com/Yi4PqRU4

还尝试了选项 4 check disk defects。结果是No defects found

帮助?

boot init boot-repair initrd

5
推荐指数
1
解决办法
3万
查看次数

如何修改 Ubuntu 18.10 Cosmic Cuttlefish 的 initrd 初始 ramdisk

我试图提取casper/initrdUbuntu 18.10的 initrd并得到了一个意想不到的结果。我没有看到根文件系统和文件,而只是一个名为kernel.

我做了什么

首先我想知道我是应该解压 initrd 还是直接解压存档,所以我发出了这个命令:

$ file initrd
initrd: ASCII cpio archive (SVR4 with no CRC)
Run Code Online (Sandbox Code Playgroud)

我得到了什么

根据输出,它应该是一个 cpio 存档,我用来cpio解压存档。

$ cpio -id < initrd 
56 blocks
$ ls
initrd  kernel
Run Code Online (Sandbox Code Playgroud)

如果我去看看目录kernel,我得到了

kernel/
??? x86
    ??? microcode
        ??? AuthenticAMD.bin

2 directories, 1 file
Run Code Online (Sandbox Code Playgroud)

我期待什么

应该有文件和文件夹,如initetcusr等。例如:

bin  conf  cryptroot  etc  init  lib  lib64  run  sbin  scripts  usr  var
Run Code Online (Sandbox Code Playgroud)

initrd 18.10

4
推荐指数
1
解决办法
4381
查看次数

升级到 20.04 后:luks 在启动时不会打开我的磁盘;cryptroot/crypttab 为空,cryptsetup 无法识别 crypttab 条目

升级到 20.04 后,我的加密磁盘在启动时没有被解密。我没有被要求输入任何密码,所以它显然找不到任何分区并引导到 initrd 提示符。

可能是什么原因:/cryptroot/crypttab在 initrd 映像中是完全空的。

我可以手动打开 luks 并 chroot 进入系统。这是我/etc/crypttab在真正根目录中的内容:

nvme0n1p3_crypt UUID=<some uuid> none luks

(UUID 都是正确的,无处不在)

当我运行时update-initramfs -c -k all,输出是:

cryptsetup: WARNING: target 'nvme0n1p3_crypt' not found in /etc/crypttab

这有点奇怪,因为它正是该文件中唯一单个条目的目标名称。它也被列为/dev/mapper链接../dm-0,似乎也是正确的。

我尝试将设备重命名为crypt仅使用,dmsetup rename ...但这当然没有帮助。

我认为这是我问题的根本原因。

luks initramfs cryptroot cryptsetup initrd

4
推荐指数
2
解决办法
3618
查看次数

引导分区不断被旧的 inird.img 文件填满

以下是 的内容/boot

drwxr-xr-x  5 root root     3072 Apr 18 09:10 .
drwxr-xr-x 26 root root     4096 Mar 22 15:43 ..
-rw-r--r--  1 root root   217495 Jan 17 05:59 config-4.15.0-76-generic
-rw-r--r--  1 root root   217457 Feb 28 02:45 config-4.15.0-91-generic
drwxr-xr-x  3 root root     4096 Dec 31  1969 efi
drwxr-xr-x  5 root root     1024 Mar 22 15:50 grub
-rw-r--r--  1 root root 60196828 Apr 18 09:05 initrd.img-4.15.0-76-generic
-rw-r--r--  1 root root 60206115 Apr 18 09:05 initrd.img-4.15.0-91-generic
drwx------  2 root root …
Run Code Online (Sandbox Code Playgroud)

apt boot dpkg kernel initrd

3
推荐指数
1
解决办法
1654
查看次数

标签 统计

initrd ×5

boot ×2

18.10 ×1

20.04 ×1

apt ×1

boot-repair ×1

cryptroot ×1

cryptsetup ×1

disk-image ×1

dpkg ×1

init ×1

initramfs ×1

kernel ×1

luks ×1