Linux

/proc/mounts 中的第一列在 Linux 中的真正含義是什麼?

  • November 11, 2011

執行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/mountsmount.

正如您引用的文件所說,第一列確實是設備。根據kernel.org 文件,這只是核心用來確保始終掛載某些東西的(記憶體中文件系統)的rootfs一個特例。它僅在 RAM 中佔用 0 或可忽略不計的小空間,如果您進一步查看,您應該會看到包含您的真實根分區的設備的條目安裝在.ramfs``/``/proc/mounts``/

第一列/proc/mounts是核心記錄的設備名稱。大多數時候,這是呼叫時提供的名稱mount(參見核心中show_vfsmnt函式的程式碼);文件系統有一種方法可以調整該名稱,但只有 NFS 和 AFS 可以利用這個機會。

該名稱內置於核心rootfs中;它在引導時用於根文件系統。在某些情況下,核心沒有獲得名稱並使用.none

當您掛載儲存在實際設備上的文件系統時,設備名稱至關重要:它指示該文件系統的位置。對於“虛擬”文件系統,設備名稱通常是不相關的,要麼有一個可能的支持(例如proc,, ) sysfsbinfmt_misc要麼每個文件系統獨立於任何支持(tmpfs),或者掛載選項指示底層數據的位置(大多數FUSE文件系統)。

引用自:https://unix.stackexchange.com/questions/24290