/ sbin / init:没有这样的文件或目录| 无法启动ubuntu桌面
我一直在使用Ubuntu Desktop一段时间了,但今天由于某些原因我无法启动它。 这就是我所看到的。
这是我已经尝试过的:
- 尝试在恢复模式下启动
- 从可启动USB执行fsck。
这是我从USB启动后所做的事情:
- 创建了一个可启动的USB
- 看到4个选项:
- 不用安装就试试Ubuntu
- 安装Ubuntu
- OEM安装
- 检查光盘是否有缺陷
我去了第一个选择。 打开终端 – > 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
试过重启和从硬盘启动,但同样的问题
- 再次从USB启动并选择尝试Ubuntu而不安装。 执行 –
sudo fsck -f /dev/sda1
这就是输出的样子 – https://pastebin.com/Yi4PqRU4
还尝试了选项4 check disk defects
。 结果是No defects found
救命?
可能是initrd已损坏或丢失。 在这种情况下,它将无法找到initrd需要和使用的init进程。 请按照以下步骤重建initrd:
- 从媒体启动(USB / DVD)并以root身份启动终端会话。 (“救援模式”)
- 将具有根文件系统的磁盘挂载到/ mnt
mount /path/to/disk /mnt
- 将虚拟文件系统挂载并绑定到磁盘上
mount --rbind /proc /mnt/proc mount --rbind /sys /mnt/sys mount --rbind /dev /mnt/dev
- chroot到你的磁盘
chroot /mnt
- 安装其他一切,如果有的话
mount -a
- 进入启动目录
cd /boot
- 重建initrd
在RedHat中,它就像运行此命令一样简单:
mkinitrd
在Ubuntu中,它们看起来像是使用不同的工具。 首先,您需要查看您正在使用的内核版本:
# ls /lib/modules/ 3.11.0-12-generic
然后使用它为您提供的版本来运行必要的命令:
# update-initramfs -c -k 3.11.0-12-generic update-initramfs: Generating /boot/initrd.img-3.11.0-12-generic
之后,您可以exit
chroot并尝试再次正常启动以查看问题是否已解决。