
Ich habe xfce4-Buster-Debian installiert und während der Installation die manuelle Partitionierung ausgewählt und entschieden, ein Laufwerk mit einigen Dateien an einem bestimmten Ort zu mounten. Für dieses Laufwerk habe ich mich natürlich entschieden, das Laufwerk nicht zu formatieren. Nachdem Debian auf einer anderen Partition installiert wurde und ich das Betriebssystem gebootet habe, sehe ich keine Dateien im Mount-Verzeichnis. Das Verzeichnis wird an der erwarteten Stelle angezeigt, aber wenn ich mit cd hineinwechsele und ls -la
, ist nichts in diesem Verzeichnis. Aber laut GParted belegen die Daten den Speicherplatz.
Ich habe die LiveCD gebootet und die Dateien werden dort angezeigt.
Welche möglichen Ursachen gibt es für dieses Verhalten?
EDIT: Ich liefere folgende Ausgabe
$ 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
Das Gerät ist mmcblk0p1
und der Einhängepunkt ist/home/go
EDIT2:
$ stat -c '%n - %i' / /home /home/go
/ - 2
/home - 2
/home/go - 2
Antwort1
Eigentlich wollte ich Sie bitten, mir die Ausgabe von zur Verfügung zu stellen stat -f -c '%n - %i' / /home /home/go
, die die Gerätekennungen für die den Verzeichnissen zugrunde liegenden Dateisysteme geliefert hätte. (Wären sie alle unterschiedlich gewesen, hätten wir gewusst, dass es sich um unterschiedliche Dateisysteme handelt.) Die Ausgabe des stat -c '%n - %i' / /home /home/go
Befehls, den ich Ihnen gegeben habe, reicht jedoch für unsere Zwecke aus – sie sagt uns, dass der Root-Inode für alle drei Verzeichnisse derselbe ist, also 2, was auch bedeutet, dass es sich um unterschiedliche Dateisysteme handeln muss.
Da Sie die Dateien auf Ihrer LiveCD, aber nicht in Ihrer tatsächlichen Boot-Umgebung sehen können, würde ich vorschlagen, dass sich Ihre Dateien auf befinden und dass Sie /
beim Mounten die Verzeichnisse maskieren, in denen sich die Dateien befinden./home
/home/go
Suchen Sie als Root nach den Dateien, wie folgt
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
Wenn einer der ls
Befehle Dateien erzeugt, werden Sie diese nicht im entsprechenden ls /home
oder sehen ls /home/go
. Vorausgesetzt (aber nur wenn) die ls
Befehle für /mnt/home/...
zeigen Dateien an, die entsprechenden für jedoch /home/...
nicht, können Sie eines oder beide dieser beiden Segmente verwenden, um die Dateien an die richtigen Stellen zu verschieben.
Verschieben Sie alle Dateien vom maskierten /home/go
in den echten /home/go
:
(
shopt -s dotglob
cp -au /mnt/root/home/go/. /home/go && rm -rf /mnt/root/home/go/*
)
Verschieben Sie alle Dateien vom maskierten /home
in den echten /home
:
(
shopt -s dotglob
cp -au /mnt/root/home/. /home && rm -rf /mnt/root/home/*
)
Ich habe cp && rm
eher verwendet als mv
, weil ich nicht möchte, dass der Befehl während der Zusammenführung fehlschlägt. Das cp -u
Flag verhindert, dass ältere Dateien neuere überschreiben.
Antwort2
/home
ist der Einhängepunkt einer ext4-Partition (oder eines Teils davon) und so konzipiert, dass alle Benutzer ein Home-Verzeichnis haben, wie /home/userx
z. B.
/home/go
Sie möchten jedoch gleichzeitig den Einhängepunkt einer zweiten Partition (auf einem anderen Gerät!) verwenden . Ich empfehle dringend, die „Go“-Partition woanders einzuhängen /mnt/go
. Auf diese Weise werden Ihre Daten nicht mit Ihren Einhängepunkten verwechselt.
Ich habe zum Beispiel eine große Partition für Videodateien. Das istnichtmontiert auf /home/video
, aber ist auf montiert /mnt/video
.
Mein GUI-Dateimanager ist mit dieser Anordnung sehr zufrieden.