Linux无swap分区能启动吗,CentOS 6 没有 swap 分区不能启动

最近刚发现一个 centos 6.x(测试过 6.8, 6.9)的

bug:如果在安装系统的时候,手动分区,并且没有创建 swap 分区,那么系统不能启动。

重现 bug 很简单,用 virt-manager 创建一个虚机,然后下载 centos 6.8/6.9 的镜像,

我试过 minimal image 和 bin-dvd image,均有这个 bug。

安装的时候手动分区,并且,只创建一个分区,挂载到 / 下。

安装完成后,重启系统,会发现系统不能启动,如下图所示:

c60f07481db02d8625fd4bff29480474.png

下面尝试解决这个问题。

启动的时候,修改启动参数,添加 kernel 参数 rdshell,这样启动失败会进入 dracut

debug shell,然后,查看 /sysroot/etc/fstab(/sysroot

是真正根分区挂载的地方),没有分配 swap 分区,在 fstab

中也没有,所以感觉不是挂载的问题。

在 dracut debug shell 中查看 dmesg,找到了答案,如下图所示:

d413a0a275d7acac00b9682215418f79.png

发现有一个 fatal error,是因为加载 selinux policy 失败。在 kernel 参数中添加

selinux=0 禁止 selinux,就能启动成功。

所以,这个问题从表现看是没有 swap 分区导致的,因为如果创建了 swap

分区,则系统能够正常启动。

但是,真正原因去和 selinux 有关,而 centos 6.x 在安装的时候,并不能配置

selinux,所以这应该是一个 bug。

在 centos 7.x 中,不创建 swap 分区并不会触发这个 bug。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值