【虚拟机启动】run-init:/sbin/init:No such file or directory报错解决方案

现象

某次关电脑后虚拟机起不来,报错是:run-init:/sbin/init:No such file or directory

过程尝试

参考了各教程发现还是与他们的情况有点不一样
参考资料如下:
https://blog.csdn.net/qq_41042595/article/details/108342297
https://blog.csdn.net/weixin_53269650/article/details/140406451

解决办法

在GRUB页面按“C”进入命令行,然后去ls (hd0,msdos1)/sbin/init果然没有这个文件,去看其他linux主机里发现这是一个软链接,指向的是/lib/systemd/systemd,我看我的硬盘里/lib/systemd/systemd这个文件是有的。
在这里插入图片描述
【想法】
由于之前有嵌入式启动的经验,启动参数是可以修改的,准备修改一下内核启动的参数,默认是去找/sbin/init去作为启动程序,但是也肯定可以修改参数去指定其他路径下的文件作为启动程序。

【修改过程】
在这里插入图片描述
按E可以编译引导命令,引导命令应该是出自/boot/grub/grub.cfg,可以在其他的linux主机里面去找找看,在以linux开头的命令后添加参数init=/lib/systemd/systemd,修改后启动:
在这里插入图片描述

【结果】
正常进入虚拟机,且功能正常

【修复】
创建/sbin/init的软链接,下次启动就不用修改启动参数。
sudo ln -sf /lib/systemd/systemd /sbin/init

后续问题

笔者发现不仅是/sbin/init缺失,还有一些网络问题,比如网卡没起来,samba服务没起来,python运行异常,都已一一解决。可能还是在上次关机时磁盘数据出现了异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值