一、故障原因
因爲需要給新的樹莓派接入外部移動硬盤,百度後看到樹莓派實驗室的教程文章,其中裏面包括了對/etc/fstab
進行修改,如下所示。
#創建掛載點
sudo mkdir /mnt/myusbdrive
#編輯fstab讓移動硬盤開機自動掛載
sudo nano /etc/fstab
#在最後一行添加如下內容
/dev/sda1 /mnt/myusbdrive auto defaults,noexec,umask=0000 0 0
#保存重啓,即可生效
先不提這種修改方式正不正確,但或多或少是有問題的,小白最好是用mount進行手動加載,避免直接修改/etc/fstab
,不然就只能折騰了。
重啓樹莓派之後直接暴斃,提示如下:
you are in emergency mode. after logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or ^d to try again to boot into default mode.
cannot open access to console, the root account is locked.
see sulogin(8) man page for more details.
press enter to continue.
然後插上硬盤之後鍵入Enter,系統嘗試使用默認配置加載,但失敗了,又因爲root賬號被鎖定,所以無法進行操作,最終形成死循環。
這時候需要通過三步進入想辦法獲知故障原因。
- 拔出TF卡,將其插入其他電腦。
- 讀取boot分區,打開
cmdline.txt
,並在最後空格並追加single
(其他教程中是追加init=/bin/sh
,但我用了之後連繫統都不讀取了) - 想辦法看到TF卡系統加載過程後,發現
/dev/sda1
根本無法正常加載,最終導致文件系統直接崩掉了。
二、解決方法
必須要物理解除TF卡,並使用其他PC進行讀取。
Linux或Mac:
- 取下TF卡,插入另外一臺電腦。
- 因爲都是基於Linux內核,所以可以直接打開
/etc/fstab
。 - 將添加的內容全部移除,重啓。
Windows:
- 插入電腦後,無法識別ext4硬盤內容。
- 安裝
Paragon ExtFS for Windows
進行讀取,安裝教程 - 避免軟件分享被刪,這裏再分享一下,同時非常感謝教程的作者。(百度網盤 提取碼: b47b)
- 安裝過程也一同附上,希望得到幫助的朋友給原作者點贊。
- 安裝完
ext4
讀取神器後,按照Linux和Mac的過程,打開/etc/fstab
將新增的內容刪除。 - 插回樹莓派被重啓,正常進入系統。
三、溫馨提醒
網上文章不一定全部可靠,因爲這個問題,導致我浪費了足足三個小時去收集資料修復,希望大家擦亮雙眼,在嘗試的前先了解清楚操作會導致什麼樣的結果。