一、Centos8 fstab文件配置錯誤導致機器起不來問題解決 1)現象 2)解決 通過單用戶模式進入系統解決 1、重啟進入 2、看到上面畫面,按 e。紅框中的ro改為:rw init=/sysroot/bin/sh 3、按下 ctrl+x ,使用單用戶模式啟動 4、切換到系統真正的根目錄下(可以 ...
目錄
一、Centos8 fstab文件配置錯誤導致機器起不來問題解決
1)現象
2)解決
通過單用戶模式進入系統解決
1、重啟進入
2、看到上面畫面,按 e。紅框中的ro改為:rw init=/sysroot/bin/sh
3、按下 ctrl+x ,使用單用戶模式啟動
4、切換到系統真正的根目錄下(可以理解以 root 許可權登錄了原來的系統,許可權變大了,但是並沒有真正root那麼大許可權)
chroot /sysroot
常用到的許可權:
查看/var/log/目錄下的日誌
查看修改/etc/fstab
修改root密碼(echo "password" | passwd --stdin root)
5、修改/etc/fstab,把有問題的那行先註釋掉,或者記得正確的UUID可以修改成正確的UUID,一般不會去記住這鬼東西,還有就是可以用磁碟路徑替換。這裡我把有問題的那行先註釋掉。
6、reboot(重啟系統),啟動OK
7、重啟之後,輸入blkid 命令,查找磁碟的UUID,然後按照UUID的格式在fstab文件中重新寫入配置信息,然後執行mount -a重新掛載。
切記:改完/etc/fstab文件,一定要執行monut -a看一下有沒有錯誤,有錯誤就立即修改,要不然很可能會導致系統起不來。
二、取消磁碟掛載失敗和磁碟掛載不上問題解決(fuser)
1)取消磁碟掛載失敗問題解決
【問題】
$ umount /dev/sdb1
umount: /opt/data1: target is busy.
$ umount /dev/sdb1 -f # 強制取消掛載也不行
umount: /opt/data1: target is busy.
# 有些操作系統提示
umount: /dev/sdb1: device is busy.
【fuser工具】
fuser
命令用於報告進程使用的文件和網路套接字。fuser命令列出了本地進程的進程號,那些本地進程使用File,參數指定的本地或遠程文件。對於阻塞特別設備,此命令列出了使用該設備上任何文件的進程。
每個進程號後面都跟隨一個字母,該字母指示進程如何使用文件。
c:指示進程的工作目錄。
e:指示該文件為進程的可執行文件(即進程由該文件拉起)。
f:指示該文件被進程打開,預設情況下f字元不顯示。
F:指示該文件被進程打開進行寫入,預設情況下F字元不顯示。
r:指示該目錄為進程的根目錄。
m:指示進程使用該文件進行記憶體映射,抑或該文件為共用庫文件,被進程映射進記憶體。
語法
fuser (選項) [文件|目錄|埠號]
選項
-a:顯示命令行中指定的所有文件。
-k:殺死訪問指定文件的所有進程。
-i:殺死進程前需要用戶進行確認。
-l:列出所有已知信號名。
-m:指定一個被載入的文件系統或一個被載入的塊設備。
-n:選擇不同的名稱空間。
-u:在每個進程後顯示所屬的用戶名。
yum安裝fuser
$ yum install -y psmisc
【解決】
$ fuser -m /opt/data1 # 查看該目錄下的進程,-m可以省略
/opt/data1: 7767c 7786c 7792c
# 殺掉進程
$ kill -9 7767 7786 7792
# 或者查詢後直接殺死進程(-k),將上面兩步合為一步
$ fuser -k /opt/data1
再次卸載就OK了
$ umount /opt/data1
2)磁碟掛載不上問題解決
解決方法跟上面的一樣,先用fuser
查出哪些進程還在跑,kill掉進程後重新mount就ok。