すでにマウントされているデバイスを再マウントできないか、マウントできないのはなぜですか?何が問題なの?
たとえば、
/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 ...
誰かがなぜこれをするのか私に尋ねないでください。