이미 마운트된 장치를 다시 마운트할 수 있거나 마운트할 수 없는 이유는 무엇입니까? 뭐가 문제 야?
예를 들어:
/tmp/test$ sudo mount /dev/sda5 ./1;echo ${?}
0
/tmp/test$ sudo mount /dev/sda5 ./2;echo ${?}
0
/tmp/test$ sudo mount | grep test
/dev/sda5 on /tmp/test/1 type ext4 (rw,relatime,data=ordered)
/dev/sda5 on /tmp/test/2 type ext4 (rw,relatime,data=ordered)
/tmp/test$ sudo umount ./1 ./2;echo ${?}
0
/tmp/test$ sudo losetup
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO
/dev/loop0 0 0 0 0 /tmp/test/grub.iso 0
/tmp/test$ sudo mount /dev/loop0 ./1;echo ${?}
mount: /dev/loop0 is write-protected, mounting read-only
0
/tmp/test$ sudo mount /dev/loop0 ./2;echo ${?}
mount: /dev/loop0 is already mounted or /tmp/test/2 busy
/dev/loop0 is already mounted on /tmp/test/1
32
/tmp/test$ sudo mount | grep test
/dev/loop0 on /tmp/test/1 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
/tmp/test$
답변1
그 이유는 여러 곳에 설치된 표지판 -w
과 표지판이 -r
동일해야 하기 때문인 것 같습니다.
예를 들어( /dev/sda5
이미 설치됨 -o rw
):
$ sudo mount -r ./grub.iso ./1;echo $?
0
$ sudo mount -r ./grub.iso ./2;echo $?
0
$ sudo mount -r ./grub.iso ./3;echo $?
0
$ sudo umount ./1 ./2 ./3;echo $?
0
$ sudo mount -r /dev/sda5 /mnt;echo $?
mount: /dev/sda5 is already mounted or /mnt busy
/dev/sda5 is already mounted on /home/xx/yy
32
또한보십시오맨마운트 스트레칭:
-w, --rw, --read-write Mount the filesystem read/write. This is the default. A synonym is -o rw.
/dev/sda5
이것이 기본 옵션을 사용하여 여러 위치에 설치할 수 있지만 grub.iso
기본 옵션을 사용하여 여러 위치에 설치할 수 없는 이유입니다.
답변2
증거에서: /dev/sda2
원래 /
(파일 시스템 루트)로 설치되었습니다. 그러나 fstab은 완전히 비활성화되어 있으며 기본 마운트는 my_init
스크립트 파일에서 수행됩니다. 첫 번째 마운트는 /dev/sda2
원래 루트 파일 시스템의 전체 콘텐츠를 추가하고 , 다음 줄은 원래 루트 파일 시스템의 나머지 부분을 숨겨야 하는 옵션을 사용하여 동일한 콘텐츠 /home/
에만 마운트합니다. 이 작업을 한 번 수행하면 폴더에 있는 전체 원본 루트 파일 시스템 (예: ls /home/)을 볼 수 있습니다(제가 쓴 대로). 그런 다음 다음을 제공합니다./home/home/
--bind
umount /home/
/home/
bin boot dev etc home ...
누군가 왜 이런 짓을 하는지 나에게 묻지 마세요.