在 /etc/fstab 中使用 UUID 掛載 ext4
我正在嘗試將 USB 拇指驅動器安裝到我的路由器。
我的 U 盤是 32GB,分為兩個分區:
16GB NTFS 和 16GB ext4。
16GB NTFS 分區將在路由器中自動檢測為 sda1,並預設安裝到 /mnt/sda1 和 /tmp/ftp/Volume_A1。
16GB ext4 在路由器中自動檢測為 sda2 但尚未安裝。
所以我想將 sda2 掛載到 /test
這些我做了什麼:
mount /dev/sda2 /test
<====== sda2 將掛載到 /test,但在路由器重啟後消失/dev/sda2
添加如下的 UUID/etc/fstab
以將其安裝在/test
.<========== 我檢查
df
從未安裝過,請參見下文root@router:/# blkid /dev/sda2: UUID="14a0f0f0-27ac-4101-8d11-3057f10d1385" TYPE="ext4" /dev/sda1: LABEL="usbdata" UUID="23D9FBBC72AB064E" TYPE="ntfs" /dev/ubi1_0: UUID="9c7f4c41-289f-4c49-8036-3698b24c7687" TYPE="ubifs" /dev/ubi0_0: UUID="66fa53a5-cc19-454d-b1a4-6a691051fb9e" TYPE="ubifs"
/dev/sda2
我添加了(上面列出的)的 UUID/etc/fstab
以將其安裝在/test
:root@router:/# nano /etc/fstab # fstab file - used to mount file systems proc /proc proc defaults 0 0 tmpfs /var tmpfs size=420k,noexec 0 0 tmpfs /mnt tmpfs size=16k,noexec 0 0 tmpfs /dev tmpfs size=64k,mode=0755,noexec 0 0 sysfs /sys sysfs defaults 0 0 debugfs /sys/kernel/debug debugfs nofail 0 0 mtd:bootfs /bootfs jffs2 ro 0 0 UUID=14a0f0f0-27ac-4101-8d11-3057f10d1385 /test auto nosuid,nodev,nofail 0 0
root@router:/# df Filesystem 1K-blocks Used Available Use% Mounted on ubi:rootfs_ubifs 44840 38760 6080 86% / mtd:bootfs 4480 3440 1040 77% /bootfs mtd:data 4096 464 3632 11% /data ubi1:tp_data 4584 844 3472 20% /tp_data ubi:rootfs_ubifs 44840 38760 6080 86% /tmp/root /dev/sda1 15452156 84620 15367536 1% /mnt/sda1 /dev/sda1 15452156 84620 15367536 1% /tmp/ftp/Volume_A1
$$ Spacing has been modified in an attempt to increase readability. $$
請指教並謝謝
===========================================================================
跟進評論如下:
===========================================================================
正如Aaron D. Marasco 所建議的,我
auto
改為ext4
:UUID=14a0f0f0-27ac-4101-8d11-3057f10d1385 /test ext4 nosuid,nodev,nofail 0 0
仍然沒有運氣。
df
和以前一樣的結果這是Hauke Laging 要求
ps
的輸出。(路由器的 Busybox 無法辨識該 選項。)-p
root@router:/# ps -o pid,args PID COMMAND 1 init 2 [kthreadd] 3 [ksoftirqd/0] 4 [kworker/0:0] 5 [kworker/0:0H] 6 [kworker/u4:0] 7 [rcu_preempt] 8 [rcu_sched] 9 [rcu_bh] 10 [migration/0] 11 [migration/1] 12 [ksoftirqd/1] 14 [kworker/1:0H] 15 [khelper] 122 [writeback] 125 [ksmd] 126 [crypto] 127 [bioset] 129 [kblockd] 151 [skbFreeTask] 152 [bcmFapDrv] 173 [kswapd0] 174 [fsnotify_mark] 294 [cfinteractive] 344 [kworker/1:1] 351 [linkwatch] 352 [ipv6_addrconf] 357 [deferwq] 362 [ubi_bgt0d] 926 [jffs2_gcd_mtd2] 947 [ubi_bgt1d] 962 [ubifs_bgt1_0] 1039 [bcmFlwStatsTask] 1113 [kworker/1:2] 1137 {rcS} /bin/sh /etc/init.d/rcS S boot 1139 init 1140 logger -s -p 6 -t sysinit 1286 /sbin/klogd 1540 /sbin/hotplug2 --override --persistent --set-rules-file /etc/hotplug2.rul 1550 /usr/sbin/logd -C 128 1555 /sbin/ubusd 1558 {S12ledctrl} /bin/sh /etc/rc.common /etc/rc.d/S12ledctrl boot 1560 /usr/bin/ledctrl 1627 [bcmsw_rx] 1629 [bcmsw] 1636 [pdc_rx] 1649 /bin/swmdk 1766 /sbin/netifd 4265 [dhd_watchdog_th] 4272 [wfd0-thrd] 4425 [check_task] 4493 [kworker/0:2] 4559 [scsi_eh_0] 4562 [scsi_tmf_0] 4568 [usb-storage] 4917 [kworker/u4:2] 4919 [kworker/1:1H] 5039 /usr/sbin/imbd 5207 /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf 5219 [ telnetDBGD ] 5220 [ acktelnetDBGD ] 5243 [NU TCP] 5248 [NU UDP] 5356 eapd 5369 nas 5395 wps_monitor 6095 acsd 7008 /usr/sbin/mcud 7592 /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22 7598 {S50postcenter} /bin/sh /etc/rc.common /etc/rc.d/S50postcenter boot 7600 /usr/sbin/postcenter 7612 /usr/sbin/sysmond 7620 {S50tmpServer} /bin/sh /etc/rc.common /etc/rc.d/S50tmpServer boot 7622 /usr/bin/tmpServer 7626 /usr/sbin/tsched 7628 /usr/bin/tmpServer 7777 /usr/bin/client_mgmt 8350 /usr/sbin/ntpd -n -p time.nist.gov -p time-nw.nist.gov -p time-a.nist.gov 8398 [ubifs_bgt0_0] 8403 /usr/bin/cloud-https 8639 {S99switch_led} /bin/sh /etc/rc.common /etc/rc.d/S99switch_led boot 8644 /usr/bin/switch_led 8758 /usr/bin/tm_shn -b start 8948 [tntfsiupdated] 9217 /usr/sbin/smbd -D 9219 /usr/sbin/nmbd -D 9264 proftpd: (accepting connections) 9279 udhcpc -p /var/run/udhcpc-eth0.pid -s /lib/netifd/dhcp.script -O 33 -O 12 9330 /usr/sbin/minidlnad -f /tmp/minidlna.conf -P /var/run/minidlnad.pid 9533 /usr/sbin/crond -c /etc/crontabs -l 5 9568 {dnsproxy_deamon} /bin/sh /usr/lib/dnsproxy/dnsproxy_deamon.sh 9974 /usr/sbin/improxy -c /etc/improxy.conf -p /tmp/improxy.pid 10122 /usr/sbin/miniupnpd -f /var/etc/miniupnpd.conf 10332 /usr/bin/cloud-brd -c /etc/cloud_config.cfg 10341 /usr/bin/cloud-client 10778 {lic-setup.sh} /bin/sh ./lic-setup.sh 10783 ./gen_lic 11185 {tcd_monitor.sh} /bin/sh ./tcd_monitor.sh 11186 {dc_monitor.sh} /bin/sh ./dc_monitor.sh 11187 {wred-setup.sh} /bin/sh ./wred-setup.sh 11200 ./tcd 11204 ./dcd -i 1800 -p 43200 -S 4 -b 11217 ./wred -B 11241 {clean-cache.sh} /bin/sh ./clean-cache.sh 11244 /usr/bin/tm_shn -t start 15903 sh /lib/deleteTmSigToken.sh 86400 15906 sleep 86400 19612 /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22 19771 -ash 19884 sleep 600 21950 sleep 30 22135 sleep 5 22137 sleep 5 22158 sleep 5 22160 sleep 5
作為 Hauke Laging 的回答。聽起來不錯,我做
mount -a
ormount /test
和 sda2 將被掛載到/test
,如何使用 udev 規則永久掛載?在我的路由器上,我不知道執行 udev 規則(找不到任何 udev.conf),所以我使用執行腳本
mount /test
進行測試/etc/rc.local
,重新啟動路由器但仍然不會安裝/test
然後我添加sleep 20
延遲腳本並通過重新啟動測試路由器,並且正在工作,現在自動安裝/測試!謝謝你們
在 SystemD 系統中列出的
/etc/fstab
在引導時不存在但稍後出現的設備會自動掛載。其他系統不這樣做(至少不是全部)。因此,您需要在設備可用時觸發
mount /test
呼叫的東西。這可以通過 udev 規則 (RUN=
) 來完成。
也許您可以嘗試:
UID=14a0f0f0-27ac-4101-8d11-3057f10d1385 /test errors=remount-ro,user,noatime 0 2
如果有錯誤,這應該讓任何錯誤顯示並以只讀方式安裝。