Festplatte leer - Truecrypt, HDD, ext4 oder DAU schuld?

Sarturos

Neuling
Thread Starter
Mitglied seit
20.05.2012
Beiträge
16
Ort
Thüringen
Hallo zusammen,
ich hatte neulich das Problem, dass sich ein ext4 Truecryptcontainer auf einer ext4 Partition nicht mehr unmounten ließ, bis ich dann festgestellt habe, dass von nem anderen Rechner noch die Sambafreigabe offen war... unmounten der Festplatte, auf der der Container lag, ging logischerweise auch nicht. Habe dann alles geschlossen und die umounts klappten. Nach nem Reboot war plötzlich die komplette Platte leer - alles weg, auch lost+found. Gibt es eventuell Hinweise darauf, dass es in soner Situation derartige Probleme geben kann? Ich habe jetzt die Platte und auch den Truecryptcontainer beide mit ext3 neu formatiert und jetzt scheint es zu laufen, auch wenn der Zugriff etwas langsamer geworden ist und ich diesen Vorfall noch nicht wieder provoziert habe (Verschlüsseln des Containers dauert 7,5-8,5 Stunden)... schlimmer wäre es, wenn dann wirklich mal Daten drin liegen, die nicht nur zum Testen da sind... Vielleicht sollte ich auch einfach was an meinem Handling verändern...

Passiert ist mir das ganze, als ich ein shell script laufen ließ, das mir das unmounten abnehmen soll. Fürs mounten gibt es ein separates. LMDE mountet die Festplatten aus der GUI heraus ja standardmäßig nach z.B. /media/sdb1. In meinem mountscript habe ich das genauso gemacht, um daran nichts zu verändern, auch wenn der mountbefehl nicht unter der Decke beim Draufklicken passiert. Auf sdb1 und sdc1 liegen im Verzeichnis data die Truecryptcontainer slot0 und slot1, die nach /mnt/data/slot# gemountet werden sollen. /mnt/data ist eine Sambafreigabe.

Mein mountscript macht folgendes:
#!/bin/bash
#
# Mountscriptfor HDD and Truecryptcontainers
#
function green_msg() {
echo -e "\\033[32;1m${@}\033[0m"
}

mkdir /media/sdb1
mount /dev/sdb1 /media/sdb1
mkdir /media/sdc1
mount /dev/sdc1 /media/sdc1

truecrypt -t -k "" --protect-hidden=no /media/sdb1/data/slot0 /mnt/data/slot0
truecrypt -t -k "" --protect-hidden=no /media/sdc1/data/slot1 /mnt/data/slot1

green_msg "All Done"

Das umountscript macht dann folgendes:
#!/bin/bash
#
# Unmountscript for HDD and Truecrypt Containers
#
function green_msg() {
echo -e "\\033[32;1m${@}\033[0m"
}

truecrypt -d

umount /media/sdb1
rm -r /media/sdb1

umount /media/sdc1
rm -r /media/sdc1

green_msg "All Done"

Die scripte gehören "mir", werden aber mit sudo aufgerufen, haben also eigentlich alle Rechte, die gebraucht werden könnten.

Das Mounten klappt einwandfrei. Beim unmounten neulich ging truecrypt -d nicht bei /mnt/data/slot0, weil der Container noch busy war. Nach dem umounten und reboot ließ sich sdb1 immernoch mounten, aber wie geschrieben fehlten lost+found und der data Ordner samt Inhalt. sdb1 war laut Eigenschaften vollkommen leer... Für die Fehlersuche wäre es vielleicht hilfreich gewesen, es noch zu lassen, anstelle neu zu erstellen, aber das ist wohl nun zu spät. :rolleyes:

Eine Vermutung/Erklärung für das Verschwinden des gesamten Inhalts hätte ich aber noch - und zwar dass beim fehlgeschlagenen truecrypt -d und anschließend fehlgeschlagenen umount /media/sdb1 das rm -r /media/sdb1 nicht nur der Ordner, auf dem es eingehängt wurde, sondern auch der komplette Inhalt gelöscht wurde... obwohl der hinterher immernoch da war, ich konnte eine Testdatei im Truecryptcontainer slot0 immernoch öffnen. Ist das vielleicht so?


Also, ich bin mir jetzt doch ziemlich sicher, dass es am rm -r im umountscript lag (also der DAU-Variante :wall:), wobei ich immernoch nicht nachvollziehen kann, weshalb die Daten erst nach dem Reboot endgültig futsch waren... Hat jemand einen Tip, wie ich dem Script so viel Intelligenz verpassen kann, dass es im Fall eines "Device busy" kein rm -r fährt?
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
benutze doch einfach luks, dass wird nativ supported, da hast du viel weniger möglichkeiten dich zu vertun
 
Warum machst du überhaupt nen rm -r!?

Lass die Ordner doch einfach da sein wo sie sind und gut ist :)

Was du machen könntest:

Code:
while [ true ]; do
   mount | grep sdc1
   sdc1=`$?`
   mount | grep sdb1
   sdb1=`$?`

   if [ $sdb1 != 1 -o $sdc1 != 1 ]; then
        echo "Sind noch gemountet"
   else
        rm -r /mnt/sdc1
        rm -r /mnt/sdb1
   fi

   if [ -d /mnt/sdb1 -o -d /mnt/sdc1 ]; then
     echo "Verzeichnisse noch vorhanden"
   else
      exit
   fi
   sleep 1
done

Er ist in einer Endlosschleife, sobald mount kein sdc mehr hat macht er das rm und dann beendet er das Script. Sonst wartet er eine Sekunde und macht das ganze noch mal.

Aber wie gesagt ich versteh den Sinn nicht dahinter, das du beim Hochfahren das Verzeichniss anlegst und dann wieder löscht.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh