/ devバインドマウントをアンマウントできません。

/ devバインドマウントをアンマウントできません。

私のライブディスクをパーティションごとに1つのrsync/dev/sdbとして2番目のディスクにコピー(試行)するスクリプトを作成しました。/dev/sdaフルスクリプト)。

最後のステップはにgrubをインストールすることです/dev/sda。私が使用する方法は次のとおりです。

  1. /dev/sda ルートパーティションをマウントします。/mnt/root1
  2. /mnt/root1 にマウント {/dev,/sys/,/proc} バインディング:
# mount -o bind /sys  /mnt/root1/sys
# mount -o bind /proc /mnt/root1/proc
# mount -o bind /dev  /mnt/root1/dev
  1. chrootedを実行しupdate-grubgrub-install次を実行します/dev/sda
chroot /mnt/root1 update-grub
chroot /mnt/root1 grub-install /dev/sda
  1. 3つのバンドルのアンインストール:
# umount /mnt/root1/sys
# umount /mnt/root1/proc
# umount /mnt/root1/dev

しかし、/mnt/root1/devumountは失敗します。

# umount  /mnt/root1/dev 
umount: /mnt/root1/dev: target is busy.

メモ:mount コマンドは以下を提供/devします/mnt/root1/dev

udev on /dev type devtmpfs (rw,nosuid,relatime,size=8131896k,nr_inodes=2032974,mode=755,inode64)
udev on /mnt/root1/dev type devtmpfs (rw,nosuid,relatime,size=8131896k,nr_inodes=2032974,mode=755,inode64)

私の質問は:バインドインストールがどのようにそんなに忙しいのですか?解決策はありますか?

編集する:/mnt/root1/dev を使用してマウント解除できましたが(マンページを理解すると実際にマウントされたことを隠します)、umount --lazy私には適していないようです。

関連質問:https://stackoverflow.com/questions/7878707/how-to-unmount-a-busy-device

ベストアンサー1

さまざまな考慮事項から始めてください。

同様のことを達成するときは、以下をインストールすることをお勧めします。

  • --タイププロセス/proc /mnt/root1/proc これは、procが特殊なファイルシステムであり、常に自動的に認識されるかどうかわからないためです。しかし、その目的と特性のために/ procにバインドする必要はありません(そうではありませんか?)。

  • /sys および /dev の場合は、以下を好みます。

ㅏ:--rbind/sys /mnt/root1/sys (mount --rbind /dev /mnt/root1/dev)
なぜなら、再帰的にマウントする必要があるからです (/sys と /dev のサブディレクトリも心配する必要があります)

第二:--make-rslave/mnt/root1/sys (mount --make-rslave /mnt/root1/dev)
あなたの質問についてはこれが重要です。

一つのためスレーブマウントホストから電波を受信しますが、その逆ではありません。削除してイベントはその方​​向にのみ伝播されます。

この重要な点を確認したら、次のことができるはずです。umount -R /mnt/root1/dev.

おすすめ記事