Debian: ファイルはドライブには表示されないが、LiveCD には表示される

Debian: ファイルはドライブには表示されないが、LiveCD には表示される

xfce4-Buster-Debian をインストールし、インストール中に手動パーティション分割を選択し、いくつかのファイルを含むドライブを特定の場所にマウントすることを選択しました。もちろん、そのドライブについては、ドライブをフォーマットしないことを選択しました。Debian を別のパーティションにインストールし、OS を起動した後、マウント ディレクトリにファイルが表示されません。ディレクトリは期待した場所に表示されますが、そこに cd して を実行すると、ls -laそのディレクトリには何も表示されません。ただし、GParted によると、データがスペースを占有しています。

LiveCD を起動すると、そこにファイルが表示されます。

この動作の原因として考えられるものは何でしょうか?


編集: 以下の出力を提供します

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=ff57c2c0-e962-4578-be1b-0500f82bceb3 /home/go       ext4    defaults,noatime 0 2
UUID=16DB-7490                            /boot/efi      vfat    defaults,noatime 0 2
UUID=6ff37539-9538-40d4-b3bf-094f44e8410f /              ext4    defaults,noatime 0 1
UUID=5fb9e868-f3c7-47a5-96da-7ccf13bfd998 /home          ext4    defaults,noatime 0 2
UUID=25a379fc-3db3-4f58-813b-a914d147e7c2 swap           swap    defaults,noatime 0 2
$ lsblk -f
NAME        FSTYPE  LABEL                     UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda         iso9660 d-live nf 10.6.0 xf amd64 2020-09-26-13-15-55-00                              
├─sda1      iso9660 d-live nf 10.6.0 xf amd64 2020-09-26-13-15-55-00                     0   100% /media/marius/d-live nf 10.6.0
└─sda2      vfat    d-live nf 10.6.0 xf amd64 DEB0-0001                                           
sdb                                                                                               
└─sdb1      vfat                              F802-75AF                              27,9G     3% /media/marius/F802-75AF
mmcblk0                                                                                           
└─mmcblk0p1 ext4                              ff57c2c0-e962-4578-be1b-0500f82bceb3   53,8G     1% /home/go
nvme0n1                                                                                           
├─nvme0n1p1 ext4                              6ff37539-9538-40d4-b3bf-094f44e8410f   58,5G    18% /
├─nvme0n1p2 ext4                              5fb9e868-f3c7-47a5-96da-7ccf13bfd998  101,4G    15% /home
├─nvme0n1p3 swap                              25a379fc-3db3-4f58-813b-a914d147e7c2                [SWAP]
└─nvme0n1p4 vfat                              16DB-7490                             294,3M     2% /boot/efi

デバイスはmmcblk0p1マウントポイントは/home/go


編集2:

$ stat -c '%n - %i' / /home /home/go
/ - 2
/home - 2
/home/go - 2

答え1

stat -f -c '%n - %i' / /home /home/go私は、ディレクトリの基になるファイルシステムのデバイス識別子を示す の出力を提供するようお願いするつもりでした。(これらがすべて異なっていれば、異なるファイルシステムであるとわかります。) ただし、stat -c '%n - %i' / /home /home/go私が提供した コマンドの出力は、私たちの目的には十分です。これは、3 つのディレクトリすべてのルート inode が同じ (つまり 2) であることを示しています。これは、これらが異なるファイルシステムである必要があることも意味します。

LiveCD ではファイルを表示できるが、実際のブート環境ではファイルが表示されない場合、ファイルは にあり/、マウント時に/homeファイル/home/goがあるディレクトリをマスクすることをお勧めします。

ルートとしてファイルを探すには次のようにします

mkdir /mnt/root             # Create temporary directory mountpoint
mount --bind / /mnt/root    # Make /mnt/root identical to /
ls /mnt/root/home           # List area hidden by /home
ls /mnt/root/home/go        # List area hidden by /home/go

どちらかのコマンドがファイルを生成する場合、対応する または にはそれらのファイルlsは表示されません。のコマンドはファイルを表示するが、 の対応するコマンドはファイルを表示しない場合に限り、これら 2 つのセグメントの 1 つまたは両方を使用して、ファイルを正しい場所に移動できます。ls /homels /home/gols/mnt/home/.../home/...

すべてのファイルをマスクから/home/go実際のファイルに移動します/home/go

(
shopt -s dotglob
cp -au /mnt/root/home/go/. /home/go && rm -rf /mnt/root/home/go/*
)

すべてのファイルをマスクから/home実際のファイルに移動します/home

(
shopt -s dotglob
cp -au /mnt/root/home/. /home && rm -rf /mnt/root/home/*
)

マージ中にコマンドが失敗しないようにするため、cp && rmではなく を使用しました。このフラグにより​​、古いファイルが新しいファイルを上書きすることがなくなります。mvcp -u

答え2

/homeこれは1つのext4パーティション(またはその一部)のマウントポイントであり、すべてのユーザーがホームディレクトリなどを持つように設計されています/home/userx

ただし、同時に 2 番目のパーティション (別のデバイス上) のマウント ポイントとして使用する必要があります/home/go。 'go' パーティションを別の場所にマウントすることを強くお勧めします/mnt/go。 こうすることで、データがマウント ポイントと混同されることがなくなります。

たとえば、ビデオファイル専用の大きなパーティションがあります。これはないに搭載されています/home/videoが、 に搭載されています/mnt/video

私の GUI ファイル マネージャーはこの配置に非常に満足しています。

関連情報