标签: initramfs

无法开机!initramfs 错误!

我已经使用 Ubuntu 一段时间了,直到现在它一直运行良好。每次尝试启动时,我都会收到此消息,无法再继续:

BusyBox v1.17.1 (Ubuntu 1:1.17.1-10ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands

(initramfs)
Run Code Online (Sandbox Code Playgroud)

我主要担心的是我的文件和图片,因为我没有备份。

任何建议将不胜感激!

initramfs boot-failure busybox

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

如何自定义“cryptroot”脚本?

我有一个系统,其中除/boot之外的所有分区(//homeswap)都已加密。/boot驻留在外部设备中,该设备还包含一组用于自动解密所有分区的加密密钥文件。换句话说,我想要的最终结果是使用外部设备和密码进行 2 因素身份验证,其中密码将在启动期间输入一次,启动脚本将使用该密码解密所有分区。

我是 Ubuntu(以及一般的 Linux)的新手,但我使用update-initramfs修改了initrd.img 中的各种脚本。该cryptroot脚本似乎在做所有的工作挂载分区在第一,但一些尝试后,似乎它只是用于解密根文件系统负责。我修改了脚本中的一个字符串,将Enter the passphrase更改为简单的Password,这在解密根文件系统时似乎有效,但再次使用旧提示来解密下一个分区。换句话说,这就是我得到的:

  1. cryptroot脚本加载。
  2. 该脚本要求输入密码来解密密钥分区并安装它。
  3. 该脚本调用setup_mapping函数来解密根文件系统。
  4. 该脚本尝试从密钥分区读取密钥文件以解密根文件系统。
  5. 根文件系统被解密并挂载。
  6. 系统提示输入密码来解密下一个分区……

我认为 Ubuntu 可能正在某处运行cryptroot脚本的另一个副本来解密 root 之后的所有其他分区,但我不知道还有什么要修改的。

encryption source-code initramfs 12.04 cryptroot

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

设置后切换到目标 initrd?

在 Ubuntu Server 设置期间,我可以选择安装一个“目标”initrd,其中只包含我的计算机需要的模块。我选择了另一个选项,“通用”。既然我已经安装了系统,我该如何安装“目标”initrd?

server kernel initramfs

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

在 initramfs 中使用 DHCP 设置 eth0 网络接口

我创建了自己的 initramfs 脚本(基于 live-initramfs),我需要设置网络连接(使用 DHCP)来获取远程文件。那么我需要向 initramfs 挂钩文件(ifconfig、dhclient?)添加什么。以及如何编写我的 initramfs 脚本?现在我正在尝试这样的事情:

mkdir -p /var/run/network  # needed by ifup
modprobe af_packet         # for DHCP?
udevadm trigger            
udevadm settle  
ifup eth0                  #???            
Run Code Online (Sandbox Code Playgroud)

对于 ifup,我需要 /etc/network/interfaces 文件具有:

auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)

但通常我不知道网络设备到底需要做什么才能在 initramfs 中正常工作。

任何想法或帮助?

10.04 networking dhcp initramfs ethernet

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

Ubuntu 12.04 无法加载 - 挂在 Busybox v1.18.5 / initramfs

我想首先说我对 Linux 非常陌生(使用它大约 1 个月)。到目前为止,我没有遇到任何问题。

我正在从带有 250 GB 硬盘驱动器和 3 GB 内存的东芝笔记本电脑上运行 Ubuntu 12.04。

昨天一切正常。我所做的唯一改变是我下载了 Banshee 来尝试替代 Rhythmbox,并做了一些推荐的更新。今天早上我尝试启动,花了很长时间,我终于得到了这个错误:

mount: mounting /dev/disk/by-uuid/02bc41cc-1e21-4700-a179-be2805a658c4 on /root failed: Invalid argument
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.
BusyBox v1.18. (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter …
Run Code Online (Sandbox Code Playgroud)

updates initramfs boot-failure busybox

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

根文件系统需要手动 fsck

我的电脑死机了。我将其关闭并重新启动并出现此错误:

/dev/sda2 contains a file system with errors, check forced. Inodes that were part of a corrupt orphan linked list found.

/dev/sda2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. Fsck exited with status code 4.
Run Code Online (Sandbox Code Playgroud)


请向我解释我需要做什么,因为我对 Ubuntu 真的很陌生。

fsck initramfs

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

{开始:在 Ubuntu 17.10 启动时运行 /scripts/local-block ... 完成,卡在 initramfs}

我全新安装了 Ubuntu 17.10(擦除整个磁盘并让 Ubuntu 安装程序执行任何需要的操作)。

它看起来类似于这两个问题:

基本上,当我开始按 shift 键以访问 grub 菜单并使用恢复模式时,我最终得到:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

boot grub2 initramfs 17.10

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

升级到 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
查看次数

启动 zpool 空间不足,无法再运行更新

我最近擦拭了我的盒子并安装了 20.10,我喜欢它,非常棒!这次我决定要生活在边缘并使用实验性的 zfs 支持,但在安装软件包和更新一段时间后,我现在遇到了一个奇怪的问题,我的启动 zpool 太满了。

每当我在软件更新程序中点击“立即更新”时,我都会收到如下消息:

The upgrade needs a total of 254 M free space on disk '/boot'. Please free at least an additional 194 M of disk space on '/boot'. You can remove old kernels using 'sudo apt autoremove', and you could also set COMPRESS=xz in /etc/initramfs-tools/initramfs.conf to reduce the size of your initramfs.
Run Code Online (Sandbox Code Playgroud)

我已经运行了sudo apt autoremove,它没有删除任何内容,我犹豫更改 initramfs 上的压缩,因为这更像是针对可能较低问题的补丁(也许我错了哈哈)。

我仍然可以手动升级,sudo apt update && sudo apt upgrade但每次都会收到此错误:

ERROR couldn't save system state: Minimum free …
Run Code Online (Sandbox Code Playgroud)

apt initramfs zfs 20.10

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

什么是`run-init`?

init在 bootint 过程中,初始 ramdisk 中有一个脚本。在最后一次操作中,它说:

# Chain to real filesystem
exec run-init ${rootmnt} ${init} "$@" ${recovery:+--startup-event=recovery} <${rootmnt}/dev/console >${rootmnt}/dev/console 2>&1
panic "Could not execute run-init."
Run Code Online (Sandbox Code Playgroud)

我在ramdisk内容中搜索所有脚本,找不到任何类似的文件名或函数名。run-init实际上是什么?

initramfs

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