标签: initramfs

引导下降到(initramfs)提示/busybox

我正在运行 HP pavilion dv6000 双启动 win7 和 Ubuntu 12.04。(好吧,直到今天)。重新启动后,启动过程将进入 BusyBox 外壳程序,我最终会出现以下提示:

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)
Run Code Online (Sandbox Code Playgroud)

我一直在研究遇到同样问题的其他人,但一直无法找到任何适合我的解决方案。

我尝试了这里描述的方法,并在最终命令之后

mount -t ntfs-3g /dev/sda1 /root -o force
Run Code Online (Sandbox Code Playgroud)

它什么都不做,并给了我另一个(initramfs)提示。

我可以启动到 live CD (USB) 并到达终端,但它似乎没有多大用处,因为我可以在 ls 命令中看到 /dev/sda1,但是当我看到它时它无法识别它尝试 cd 到它。

还有一个问题:使用命令fdisk -l如何判断哪个挂载点 ( sda1/ sda2) 是我的 Windows 分区,哪个是 Ubuntu?

boot initramfs

313
推荐指数
6
解决办法
100万
查看次数

更新 initramfs 时“W:模块 i915_bpo 可能缺少固件”

当我在 16.04 上运行内核或 NVIDIA 驱动程序更新时,这会触发 initramfs 重建并输出以下警告:

Processing triggers for initramfs-tools (0.122ubuntu8.1) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-34-generic
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver6.bin for module i915_bpo
Run Code Online (Sandbox Code Playgroud)

我有一个带有两个图形芯片的笔记本电脑,一个 NVIDIA GeForce 940M 和一个 Intel i5-6200U 的集成显卡。

使用的设备是我的 NVIDIA 卡:

$ inxi -G
Graphics:  Card-1: Intel Sky Lake Integrated Graphics
           Card-2: NVIDIA GM108M [GeForce 940M]
           Display Server: X.Org 1.18.3 driver: nvidia Resolution: 1920x1080@60.03hz
           GLX Renderer: GeForce 940M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.35
Run Code Online (Sandbox Code Playgroud)

这是lshw -c video,对应于应该使用该驱动程序的英特尔图形芯片的输出:

    *-display         
         description: VGA compatible controller
         product: Sky Lake …
Run Code Online (Sandbox Code Playgroud)

i915 intel-graphics initramfs drivers 16.04

86
推荐指数
2
解决办法
18万
查看次数

安装时出错:“无法找到包含实时文件系统的介质”

错误信息:

(initramfs) unable to find a live medium containing a live file system
Run Code Online (Sandbox Code Playgroud)

我在尝试将 Ubuntu 10.10 从可启动 U 盘安装到华硕 X64J 系列笔记本电脑时遇到此错误。收到此错误后,安装无法启动。

我在其他一些笔记本电脑上使用了相同的 USB 记忆棒,安装照常开始。任何帮助将不胜感激。

initramfs live-environment system-installation

83
推荐指数
3
解决办法
33万
查看次数

根文件系统需要手动 fsck

每当我打开 Ubuntu 时,我总是看到以下消息。

(Initramfs): /dev/sda1 contains a file system with errors, check forced.
  Inodes that were a part of a corrupted orphan linked lost found.
  /dev/sda1 : UNEXPECTED INCONSISTENCY; RUN fsck manually.(I.e .,
  without -a or -p options). fsck exited with status code 4. The root
  filesystem on /dev/sda1 requires a manual fsck
Run Code Online (Sandbox Code Playgroud)

boot initramfs busybox

72
推荐指数
2
解决办法
31万
查看次数

警报!/dev/disk/by-uuid/xxxxxxxxx 不存在。掉到壳

我正在使用 Ubuntu 14.04。

我跑在终端sudo apt-get update。然后我重新启动了系统。现在我看到:

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_
Run Code Online (Sandbox Code Playgroud)

我无法从 USB 闪存驱动器启动 LIVE Ubuntu。是的,我仔细检查了 BIOS 设置,USB 闪存驱动器正常并且可以在另一台机器上运行。现在我打算买一张 DVD 并从另一台笔记本电脑上刻录 Live DVD。

sudo blkid 给我:

/dev/loop0: TYPE="squashfs"  
/dev/sda1: UUID="xxxx" TYPE="ext4"   
/dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960"   
Run Code Online (Sandbox Code Playgroud)

/etc/fstab有相同的UUID="xxxx",有一行:

errors=remount-ro 0   
Run Code Online (Sandbox Code Playgroud)

我尝试使用引导修复,但我仍然无法登录到 Ubuntu。

我不想重新安装 Ubuntu,因为我那里有很多数据。

你有什么建议可以解决这个问题吗?

boot grub2 initramfs boot-repair 14.04

30
推荐指数
2
解决办法
9万
查看次数

如何让 live-USB 使用分区进行持久化?

我想将 Ubuntu 安装到 USB 硬盘驱动器,以便它可以在所有系统上运行,可以运行 LiveCD并将持久数据存储在常规 ext4 分区而不是casper-rw文件上。在其他任何方面,它都应该像常规的 Ubuntu 安装一样

问题

使用Startup Disk Creator可以将 LiveCD 映像放在 USB 设备上。更改可以持久化,但存储在大小限制为几 GB 的文件中。所述持久文件(除了受大小限制外)还有一个问题,即它不像普通分区上的数据那样可读。*

我的问题

那么我如何在 USB 磁盘上获取 LiveCD 以将更改存储在普通分区而不是持久性文件中呢?此外,持久更改不应该限制在几 GB 的大小,而是在需要时使用许多 100 GB 的整个分区。

我怀疑那里有一个教程,但是我的 google-fu 还不够好,无法找到它。

tl;博士:

Sytem 应该在所有硬件配置上运行,具有 LiveCD 的全部功能,并存储在常规的 ext4 分区上,而无需使用 ramdisks 和 casper-rw。FU casper-rw。


*我知道可以从另一个操作系统挂载 casper-rw 文件并以这种方式获取数据,但这很麻烦。

live-usb grub2 initramfs persistence

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

Ubuntu 15.10 - 每次启动时“BusyBox 内置 shell (initramfs)”

每次我们重新启动 Ubuntu PC 时,它都会显示这个屏幕,并且不会去任何地方,即使我们输入 exit。

如何永久摆脱这个噩梦,让它永远不会发生?

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)

boot initramfs busybox

25
推荐指数
2
解决办法
15万
查看次数

从 Live CD 挂载加密的 LUKS 分区

开始时出错,无法启动

我不得不对我的计算机进行硬重启,并且在启动它时(我认为是 initramfs)给出了一个错误:

mount: mounting /dev/mapper/ubuntu--vg-root 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. 
Run Code Online (Sandbox Code Playgroud)

尝试从 Live-CD 挂载

我有非常非常重要的数据,所以与其尝试修复引导系统(或我应该称呼的任何系统),我只想挂载它并将重要文件复制到 U 盘。

我已经尝试了几个指南,但没有运气。最直接的似乎是从命令行挂载加密卷?. 这是我所做的:

ubuntu@ubuntu:~$ sudo cryptsetup luksOpen /dev/sda3 myvolume
Enter passphrase for /dev/sda3: 
ubuntu@ubuntu:~$ mkdir mountpoint …
Run Code Online (Sandbox Code Playgroud)

filesystem boot lvm luks initramfs

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

错误 24:写入错误:无法写入压缩块

我最近从 Ubuntu 18.04 更新到 19.10。在我看来,更新安装的内核 (5.3.0-29) 比我在 18.04 (5.0.0-36) 下运行的内核更旧。从那以后,我在所有 apt 更新上都有错误,显示 initramfs 失败:

Setting up initramfs-tools (0.133ubuntu10) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.133ubuntu10) ...
update-initramfs: Generating /boot/initrd.img-5.3.0-29-generic
Error 24 : Write error : cannot write compressed block 
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.3.0-29-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned 
error exit status 1
Errors were encountered while processing: …
Run Code Online (Sandbox Code Playgroud)

kernel initramfs

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

使用 IPv6 的无盘启动

在我们的工作中,我们使用了大约 80 台运行 Ubuntu 的无盘机器。我们想要过渡到 IPv6,所以现在我试图让我们的无盘系统与 IPV6 一起工作。内核和 initramfs 的传输仍然可以通过 IPv4 连接,但是一旦机器完全启动,我希望所有网络连接都通过 IPv6。

这意味着 nfsroot 必须通过 IPv6 挂载。我对此的研究表明 initramfs-tools (1.18.5-1ubuntu4.1) 不支持 IPv6。这意味着用于早期启动时的接口配置的 ipconfig 和 nfs 根的挂载程序都不支持 IPv6。

为了避免这种情况,我在 initramfs ( /etc/initramfs-tools/hooks/ipv6) 中添加了两个二进制文件:

#!/bin/bash 
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/dhclient /sbin
copy_exec /sbin/mount.nfs4 /sbin
Run Code Online (Sandbox Code Playgroud)

我使用这些来 (a) 在早期启动时请求 DHCPv6

/sbin/dhclient -6 -1 -cf /tmp/dhclient.conf -pf /tmp/dhclient6.eth0.pid -lf /tmp/dhclient6.eth0.leases eth0
Run Code Online (Sandbox Code Playgroud)

(b) 使用我通过执行获得的地址配置接口:

ipv6=$(cat /tmp/dhclient6.eth0.leases | grep iaaddr | egrep -o "([a-f0-9]{1,4}:){3}([a-f0-9]{0,4}:){0,4}[a-f0-9]{1,4}")
ip -6 addr add $ipv6/112 dev eth0
Run Code Online (Sandbox Code Playgroud)

通常使用以下命令挂载 nfs 根目录/usr/share/initramfs-tools/scripts/nfs

nfsmount …
Run Code Online (Sandbox Code Playgroud)

nfs ipv6 pxe initramfs

16
推荐指数
1
解决办法
1256
查看次数