2つのパーティションがあります。 1 つは / にマウントされ、もう 1 つは /crypt にマウントされます。私はbind
マウント/crypt/home
(/home/
および他のさまざまなマウント)を使用しています。
問題は今、元の/home
ディレクトリを見る必要がありますが、もちろん/crypt/home
。
ログインが必要なため削除できません。つまり、/home が使用中であるという意味です。
/home
USBスティックなどから起動せずに元のディレクトリのファイルにアクセスできる方法(他のバインドマウントなど)はありますか?
答え1
ルートでログインした場合は、問題なくインストールできます/home
。しかし、これが不可能な場合は、単にmount --bind / /elsewhere
。デフォルトでは、--bind
型マウントは再帰的ではありません。したがって、マウントされたファイルシステムは、他の場所にマウントされたときには従わないことに注意してください/
。--bind
あなたできるただし、他の場所には再帰的にインストールされます--rbind
。
たとえば、
findmnt /esp; findmnt /
TARGET SOURCE FSTYPE OPTIONS
/esp /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2[/arch_root] btrfs rw,relatime,compress-force=lzo,ssd,space_cache,autodefrag
ご覧のようにインストールさ/esp
れています/
。
mkdir /tmp/root
sudo mount --bind / /tmp/root
ls /esp /tmp/root/esp
/esp:
EFI/ shellia32.efi* shellx64.efi*
/tmp/root/esp:
これでファイルを次の場所に配置しました/tmp/root/esp
。
sudo touch /tmp/root/esp/blank_file
ls /esp /tmp/root/esp
/esp:
EFI/ shellia32.efi* shellx64.efi*
/tmp/root/esp:
blank_file
/esp
そのため、インストールされたディレクトリにファイルを作成しました。願いより?
sudo umount /boot /esp; ls /esp
blank_file
sudo mount -a; ls /esp
EFI/ shellia32.efi* shellx64.efi*
しなければならなかったumount /boot
そして /esp
実際に/boot
は/esp
。どちらもそこにあります/etc/fstab
。だからmount -a
戻ってきたのです。