有時候,我真的希望他們不要對Linux這麼亂!我知道那裡有一個 / etc / fstab
,但是在哪裡?
我想用備用文件系統掛載一些分區(因為我不喜歡FAT32)。
有時候,我真的希望他們不要對Linux這麼亂!我知道那裡有一個 / etc / fstab
,但是在哪裡?
我想用備用文件系統掛載一些分區(因為我不喜歡FAT32)。
不要將Android視為經過大量修改的Linux發行版。因為不是。 Android與Linux發行版共享的幾乎唯一東西是內核。甚至這個組件也被修改了。其他核心組件(如libc)也有所不同。
Android沒有 / etc / fstab
您沒有需要 / etc / fstab
來安裝分區。但是也沒有IIRC也沒有 mount
命令。 dev_mount
應該可以工作(需要root)。 要回答您的問題的標題,:所有啟動系統的安裝均使用 /etc/vold.fstab
幫助程序腳本完成。
fstab文件位於 /
中。
它稱為 /fstab.$systemname.rc
,其中 $ systemname
基於手機的指紋屬性,可以識別為芯片組類別還是手機本身
我看到有衝突的信息。 一種資源說它是經過硬編碼的,因此您不能更改用戶端的內容:
特定於Android的初始化程序位於device / system / init中。添加LOG消息以幫助您調試device / system / init / init.c中定義的LOG宏的潛在問題。
init程序使用硬編碼的文件名或設備直接掛載所有文件系統和設備。通過探查sysfs文件系統生成的名稱(從而消除了Android中對/ etc / fstab文件的需要)。
其他地方 /etc/vold.fstab
和 /etc/vold.conf 。我將它們安裝在CM 7.1下的設備上,但不確定如何使用它們。
您可以通過運行
mount -o remount,rw / mnt / sdcard
將外部存儲重新安裝為可執行文件,這將刪除noexec ,nosuid和nodev標誌,但仍為vfat fs。您可以鏈接到此fs,但不能從內部鏈接。重新安裝不能在重新啟動後繼續存在,因為將讀取vold.fstab文件,並在重新啟動時使用noexec標誌將其重新安裝。
如果將任何外部存儲重新格式化為vfat以外的任何格式,那麼它們將不會在重新引導時重新安裝,並且您移至任何外部存儲的任何應用程序將無法使用。如果您不打算為應用程序使用外部存儲,則可以卸載外部存儲並使用 busybox mke2fs DEVICE
使其成為ext2。使用 busybox newfs_msdos設備
將其返回到vfat並再次可用。
請注意 busybox mkfs.vfat 損壞,您將得到類似
搜索:對於已定義的數據類型,該值太大
,所以不要浪費時間。所有這些都假設您已經紮根,並且擁有一個工作中的busybox二進製文件。
我意識到這是一個古老的話題,但是這裡的一些答案實際上阻礙了我學習 fstab
和Android的努力,因為它們強烈暗示著 fstab
Android中的情況與其他Linux發行版完全不同。據我所知,不是。
但是,在這裡閱讀不同的響應讓我感到奇怪:我上有什麼等價於
退後一會兒,注意“ Android沒有/ etc / fstab ”可能對OP沒有幫助,因為他們必須已經知道這一點。如果這是不正確的,那麼他們的問題(詢問 / etc / fstab
在Android上是什麼)將毫無意義。另一方面,我們知道@Flow並不是要暗示Android上沒有等效功能,因為他們提到了其中一個,名為 /etc/vold.fstab
的“幫助腳本”。 / p>
總而言之,我認為@Flow帖子的主要內容是,在某些系統上,有一個名為的文件(可能是“幫助腳本”,我無法在手機上驗證該文件) /etc/vold.fstab
,在那些系統上,該文件與 / etc / fstab
最接近。等效文件。
讓我想知道自己的設備,儘管有OP的年齡,但出於以下幾個原因,我將在這裡發布我的發現:
全部我可以在手機Pixel 2XL上找到> fstab
樣式的文件。所以讓我嘗試一下總結一下我從這一切中學到的一切:
Android或至少可以訪問的其變體確實使用了 fstab
樣式的文件。但是,這些文件的確切名稱,位置和功能會因分發而有所不同-取決於Android版本和設備,如果使用自定義ROM,也取決於ROM。
要在系統上查找這些文件,請打開終端仿真器,例如 tmux
或 adb shell
,然後運行以下命令: find / -類型f -iname'* fstab *'2> / dev / null
。將文件2( stderr
)重定向到 / dev / null
將使您的輸出更整潔,因為您可以忽略從查找,即使您是 root
。
在我的系統(Pixel 2XL,代碼名為“ taimen”)上,我發現了三個候選文件:
taimen:/#查找/ -type f -iname'* fstab *'2> / dev / null / sbin / .core / mirror / vendor / etc / fstab.taimen / vendor / etc / fstab.taimen / data / data / com.android.omadm.service / files / dm / dmt_data / fstab
前兩個是單獨的文件,因為它們都不是硬鏈接或符號鏈接另一個,但是如果您 diff
它們,您會發現它們是相同的。再深入一點,如果在文件上運行 stat
,則會看到它們具有相同的Device和Inode值:
taimen:/#stat / sbin / .core / mirror / vendor / etc / fstab.taimen /vendor/etc/fstab.taimen文件:`/sbin/.core/mirror/vendor/etc/fstab.taimen'大小:1326塊:16 IO塊:512常規fileDevice:fc00h / 64512d Inode:925鏈接:1 Access:(644 / -rw-r--r--)Uid:(0 / root)Gid:(0 / root)訪問:2009-01-01 02:00: 00.000000000修改:2009-01-01 02:00:00.000000000更改:2009-01-01 02:00:00.000000000文件:`/vendor/etc/fstab.taimen'大小:1326塊:16 IO塊:512常規文件設備: fc00h / 64512d索引節點:925鏈接:1
訪問:(644 / -rw-r--r--)Uid:(0 / root)Gid:(0 / root)訪問:2009-01-01 02:00:00.000000000修改:2009-01-01 02: 00:00.000000000更改:2009-01-01 02:00:00.000000000
stat
將這兩個文件名均報告為常規文件,每個文件均只有一個鏈接(因此,硬鏈接或符號鏈接)。我不是文件系統專家,但是這裡發生的是同一設備已掛載兩次。您可以在以下命令的輸出中看到這一點,其中輸入的兩行之間的唯一區別是安裝點(緊接在“ on”之後的部分):
taimen:/ $ mount |在/ vendor類型ext4上的grep vendor / dev / block / dm-0(ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr)/在/sbin/.core/mirror/vendor類型ext4上的dev / block / dm-0 (ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr)
僅當我以root用戶身份登錄時,我才能看到第三個文件,因此,如果您擁有與我相同的設備,除非您的手機已植根,否則您仍將找不到或無法訪問此文件。該文件與一項名為“開放移動聯盟設備管理”的服務有關,但這是我所知甚少的服務,因此,我在這裡只提及它,如果您願意,可以從Google那裡獲取詳細信息。 >