동일한 파티션이 두 번 마운트되어 각 마운트 지점에 다른 콘텐츠가 표시됩니다. 어떻게 이럴 수있어?
# mkdir /mnt/tmp
# mount -t ext4 -o noatime /dev/block/sda1 /mnt/tmp/
# mount | grep sda1
/dev/block/sda1 on /data type ext4 (rw,seclabel,noatime)
/dev/block/sda1 on /mnt/tmp type ext4 (rw,seclabel,noatime)
# ll /data
drwx------ 2 root root 4096 2021-08-19 18:34 adb
drwxrwxr-x 2 system system 4096 2021-08-19 18:34 anr
drwxrwx--x 8 system system 4096 2021-08-21 22:42 app
(...)
drwx--x--x 2 system system 4096 2021-08-19 18:34 user
drwx--x--x 3 system system 4096 2021-08-19 18:34 user_de
drwxrwx--x 3 root root 4096 2021-08-19 18:34 vendor
# ll /mnt/tmp/
drwxr-xr-x 3 root root 4096 2021-08-19 18:33 android-8.1-r6
drwxr-xr-x 2 root root 4096 2021-08-19 18:33 grub
drwx------ 2 root root 4096 1970-01-01 01:00 lost+found
동일한 파티션이 /dev/block/sda1
두 번 마운트되고 각 마운트 지점( /data
및 /mnt/tmp
)은 서로 다른 내용을 표시합니다.
menu.lst
배경: android-x86에서는 GRUB의 디버그 모드를 통해서만 사용할 수 있거나 mount 를 통해 android 자체에서 사용할 수 있는 GRUB 파일을 수정하고 싶습니다 /dev/block/sda1
. 이렇게 했고 실제로 menu.lst
( /mnt/tmp/grub/menu.lst
)에 액세스할 수 있지만 작동 방식과 /dev/block/sda1
마운트 지점에 따라 다른 콘텐츠를 표시하는 이유는 제 능력이 아닙니다.
[편집하다:아래 사용자 488112의 답변]
/data
실제로 는 의 "루트"가 아닌 의 /android-8.1-r6/data
하위 디렉터리에 설치된 것 같습니다 . 불완전함(마운트된 "루트"가 아닌 장치 블록만 표시함):/dev/block/sda1
dev/block/sda1
# mount
# egrep '/data|/mnt/tmp' /proc/self/mountinfo
18 15 8:1 /android-8.1-r6/data /data rw,noatime shared:3 - ext4 /dev/block/sda1 rw,seclabel
237 28 8:1 / /mnt/tmp rw,noatime shared:23 - ext4 /dev/block/sda1 rw,seclabel
답변1
그게 다야 :
# cd /tmp
# mkdir foo bar
# mount -B /usr/bin foo
# mount -B /var/log bar
# mount | egrep 'foo|bar'
/dev/sda1 on /tmp/foo type ext4 (rw,relatime,errors=remount-ro)
/dev/sda1 on /tmp/bar type ext4 (rw,relatime,errors=remount-ro)
너무 깁니다;dr;이 명령의 출력은 mount
최신 Linux 버전에서 신뢰할 수 없습니다. 대신 이것을 사용하십시오 cat /proc/self/mountinfo
(형식은 리소스에 문서화되어 있습니다 man 5 mountinfo
). 이는 "장치"뿐만 아니라 마운트의 "루트"도 표시합니다.
# egrep 'foo|bar' /proc/self/mountinfo
380 26 8:1 /usr/bin /tmp/foo rw,relatime shared:1 - ext4 /dev/sda1 rw,errors=remount-ro
457 26 8:1 /var/log /tmp/bar rw,relatime shared:1 - ext4 /dev/sda1 rw,errors=remount-ro