/proc/mounts 中的第一列在 Linux 中的真正含義是什麼?
執行
cat /proc/mounts
,我得到這個(簡化):rootfs / rootfs rw 0 0 proc /proc proc rw,relatime 0 0 /dev/sda1 / ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0 io /etc/blkio cgroup rw,relatime,blkio 0 0 ...
關於內容,來自 Red Hat 的文件說:
第一列指定掛載的設備,第二列顯示掛載點,第三列告訴文件系統類型…
我不認為那
rootfs
是一個設備,我試圖在其中找到這個設備,udev(/dev)
但我無法得到它。所以我不知道掛載了哪個設備/
(你可能會說我可以mount
用來獲取這些資訊,但是如果rootfs
這裡不是通過mount
命令掛載的呢)。另一個例子是在 VMware ESX 3.x 伺服器上,您在 的結果中找不到任何“vmfs”條目
mount
,但是通過cat /proc/mounts
,我得到/vmfs /vmfs vmfs rw 0 0
. 例如rootfs
,我也不知道哪些設備與這裡的第一個“/vmfs”相關。問題:有人能告訴我第一列的
/proc/mounts
真正含義是什麼嗎?PS。請閱讀“如何在 Linux 中獲取已掛載文件系統的完整和準確列表? ”以獲取更多關於
/proc/mounts
和mount
.
正如您引用的文件所說,第一列確實是設備。根據kernel.org 文件,這只是核心用來確保始終掛載某些東西的(記憶體中文件系統)的
rootfs
一個特例。它僅在 RAM 中佔用 0 或可忽略不計的小空間,如果您進一步查看,您應該會看到包含您的真實根分區的設備的條目安裝在.ramfs``/``/proc/mounts``/
第一列
/proc/mounts
是核心記錄的設備名稱。大多數時候,這是呼叫時提供的名稱mount
(參見核心中show_vfsmnt
函式的程式碼);文件系統有一種方法可以調整該名稱,但只有 NFS 和 AFS 可以利用這個機會。該名稱內置於核心
rootfs
中;它在引導時用於根文件系統。在某些情況下,核心沒有獲得名稱並使用.none
當您掛載儲存在實際設備上的文件系統時,設備名稱至關重要:它指示該文件系統的位置。對於“虛擬”文件系統,設備名稱通常是不相關的,要麼有一個可能的支持(例如
proc
,, )sysfs
,binfmt_misc
要麼每個文件系統獨立於任何支持(tmpfs
),或者掛載選項指示底層數據的位置(大多數FUSE文件系統)。