1. 程式人生 > >CentOS7開機時在進度條介面卡死

CentOS7開機時在進度條介面卡死

起因

自己在公司一臺主機上安裝了幾個centos7的虛擬機器用來給同事練手/測試,前段時間停電的緣故導致機器關機,重啟後發現其中一臺虛擬機器無法啟動,進度條很慢,並且進度條滿了之後就一直卡在這個介面不能進入系統,今天剛好需要用到就搜了下解決辦法。

主要參考了下面文章:

  1. Linux基礎——centos 跳過管理員密碼進行登入(單使用者模式、救援模式)
  2. Linux無法登入,顯示module is unknown,一閃而過
  3. 解決“Linux無法登入,顯示module is unknown”問題
  4. Centos 7.2 failed to load SELinux policy freezing

 

解決

 開始各種嘗試的步驟就不列出來了,下面是最終解決的過程:

首先重啟機器,當出現下圖這個介面的時候按任意鍵(除了回車)停留在當前介面,選中需要啟動的項,如圖:

 

在這個介面按“e”進行編輯,如下:

接著將游標移動到如圖所示位置,即當前段落的最後,新增init=/bin/sh(後面沒有下劃線,截圖的時候是游標閃爍):

新增完成後使用ctrl+x啟動,成功後會出現sh-4.2#,如下:

因為要修改檔案,因此輸入mount -o remount,rw /賦予讀寫許可權(此時可以直接使用passwd命令修改root使用者密碼,本次不是忘記密碼的問題,因此再描述):

因為在之前嘗試修改的時候(類似前面修改init的方式,先後嘗試了新增enforcing=0和selinux=0),按修改的順序遇到了:

  • 啟動時出現[!!!]failed to load SELinux policy,freezing錯誤;期間出現登入提示:Login timed out after 60 seconds
  • 登入時出現module is unknown錯誤;

兩個問題,下面將分別對兩個問題進行描述

首先是第一個,這個錯誤參考了Centos 7.2 failed to load SELinux policy freezing,這篇部落格。

編輯/etc/selinux/config檔案(也可以使用vi命令):vim /etc/selinux/config

發現果然是將”SELINUXTYPE“引數錯誤配置為disabled,按照部落格中的引數重新配置並儲存,下面截圖為正確配置:

修改配置檔案時候請務必細心,防止出現類似粗心的錯誤

修改完成後儲存退出。

 

然後是第二個錯誤,參考了解決“Linux無法登入,顯示module is unknown”問題Linux無法登入,顯示module is unknown,一閃而過​​​​​​​,如下:

檢視系統日誌:vim /var/log/secure

 在日誌最下面發現類似問題,

然後檢視配置檔案:vim /etc/pam.d/login

因為安裝的虛擬機器系統為64位,因此此位置也可能不正確,因此直接註釋掉”session required /lib/security/pam_limits.so“這一行。儲存退出。

完成後重啟系統,輸入 exec /sbin/int 或者 exec /sbin/reboot重啟,但是我在使用這兩個命令的時候會卡住,因此直接在vmware中選擇電源-重新啟動客戶機,

成功!


END