儘管 /etc/fstab 中的 root 條目錯誤,但係統啟動正常
我有以下磁碟結構:
sda1 : Windows sda2 : an old Linux distribution sda3 : a new Linux distribution sda4 : data partition
我已經安裝了 grub,並在啟動時選擇了系統。我現在只在 sda3 上使用新的 Linux 發行版,它工作正常。我一直在修改設置 /etc/fstab 文件,以便它在引導時掛載 CDROM 和數據分區。
我最近看到新 Linux 系統(sda3)中的 /etc/fstab 文件是這樣的:
/dev/sda2 / ext4 errors=remount-ro 0 1 #NOTE THIS ENTRY HAS SDA2! /dev/sda4 /media/me_user/datapart ext4 defaults 1 1 /dev/sr0 /media/cdrom0 auto ro,user,noauto,unhide 0 0
似乎根條目是錯誤的:它應該是 /dev/sda3 (我一定是錯誤地更改了它)。但是,系統工作正常,當我啟動時,主文件夾僅在 sda3 上,而不在 sda2 上。
我嘗試從 /etc/fstab 中刪除根入口行。然後,在啟動時,我會留在終端提示符上,要求我登錄。我仍然可以登錄,但圖形不啟動。
我已經更正了 fstab 文件,以便根條目適用於 sda3,但我想明確這個問題。當 /etc/fstab 中的根條目用於 sda2 時,為什麼我的系統工作正常並且我到達 sda3 上的主文件夾?
/etc/fstab
不直接控制以 root 身份掛載的文件系統。(這是有道理的。您必須先掛載根文件系統才能讀取/etc/fstab
。)根文件系統通常在核心命令行參數中指定。如果你跑去
cat /proc/cmdline
檢查它們,你可能會看到root=/dev/sda3
或root=UUID=<uuid of /dev/sda3>
。這些參數一般在引導載入程序配置中進行配置。此處的詳細資訊取決於您使用的發行版,但假設您使用的是 grub,您可能會在
/boot/grub/grub.cfg
或中找到它的配置/boot/grub2/grub.cfg
。如果這個配置是正確的,那麼你最終應該掛載正確的根文件系統。
/
那麼,當您從中刪除時,為什麼您的引導失敗/etc/fstab
?部分系統啟動過程/
使用 中指定的選項重新安裝/etc/fstab
,這可能是失敗的原因。