F3 steht für "Fight Flash Fraud" oder "Fight Fake Flash" (Kampf gegen Flash-Betrug)Achtung: Mit diesem Tool können alle zuvor gespeicherten Daten auf der Festplatte (Stick / SD-Card / SSD) zerstört werden!
Leider tauchen immer wieder gefälschte USB-Sticks, SD-Karten oder SSD's auf, deren manipulierte Controllerchips dem Betriebssystem eine größere Speicherkapazität melden als tatsächlich verbaut ist. Daher bevorzuge ich Markenware und bin bei sehr preisgünstigen Geräten immer entsprechend misstrauisch. Shops die solche Betrugsware nicht zurücknehmen und entsprechend reagieren, z.B. den Händler sperren und anzeigen, sind für mich so oder so gestorben.
F3 ist ein einfaches Tool, das die Kapazität und Leistung von SSD's oder Flash-Karten testet, um zu sehen, ob diese den angegebenen Spezifikationen entsprechen oder ob ihr betrogen wurdet (Fake-Stick / Fake-SSD). Es füllt das Gerät mit pseudozufälligen Daten und prüft dann, ob es beim Lesen die gleichen Daten zurück gibt. Nebeneffekt: Durch die komplette Befüllung per
f3write mit Daten, können die zuvor gelöschten Dateien nicht rekonstruiert werden.
(https://secure.jolichter.de/smf/tutorials/f3/CC2tv_318.jpg)
F3 ist in vielen Linux-Distributionen enthalten wie z.B. Arch (Manjaro) oder Debian (Ubuntu / Mint). Unter Manjaro ist es im Arch Repository verfügbar und kann aus dem AUR installiert werden:
yay -S f3
Beispiele zum Testen der Leistung.
f3write schreibt große Dateien auf eine gemountete Festplatte und
f3read prüft ob die Flash-Disk genau die geschriebenen Dateien enthält. Verwendet beide Programme in dieser Reihenfolge:
f3write /run/media/jo/USB-DISK/
f3read /run/media/jo/USB-DISK/
Ersetzt "/run/media/jo/USB-DISK/" durch euren entsprechenden Pfad!
f3write benötigt dabei sehr viel Zeit zum schreiben.
f3probe ist der schnellere Laufwerkstest und eignet sich daher besonders für große Festplatten. Dieses benötigt je nach Größe bis zu 15 Minuten, da er nur das schreibt, was zum Testen des Laufwerks erforderlich ist. Der Vorteil einer kompletten Datenvernichtung ist dadurch allerdings nicht gegeben. Es arbeitet direkt auf dem nicht gemounteten Blockgerät und muss als privilegierter Benutzer ausgeführt werden.
f3probe: Ermittelt das richtige Laufwerk und listet die Partitionen auf (entsprechenden Partitionen anpassen!), bei mir ist das z.B. sda1.
sudo fdisk -l
Sicherstellen das dieses USB-Gerät ausgehängt ist:
sudo umount /dev/sda1
dann:
sudo f3probe --destructive --time-ops /dev/sda
Dem USB-Gerät nicht die Partitionsnummer z.B. "/dev/sda1" angeben, sondern "/dev/sda" (also ohne Zahl).
Sollte die tatsächliche Größe nicht stimmen, kann eine Korrektur der Kapazität auf die tatsächliche Größe mit
f3fix geschrieben werden. Bei meinem Test war alles OK, also "*Usable* size" und "Announced size" sind identisch.
Meine F3-Probezeiten:
- Noname 8GB USB 2.0 Stick ca. drei Minuten
- Samsung 64GB USB 3.0 Stick ca. eine Minute
- Samsung 256GB PCIe M.2 SSD (2242) via USB 3.1 NVMe nur 8 Sekunden
f3fix erstellt eine Partition, die der tatsächlichen Größe des gefälschten Laufwerks entspricht. Verwendet dafür die Ausgabe von
f3probe ("*Usable* size:"), um die Parameter (Blocks) für
f3fix zu bestimmen, z.B.:
sudo f3fix --last-sec=15974400 /dev/sda
Anschließend kann ein Dateisystem mit GParted oder per Terminal erstellt werden (Dateisystem muss ausgehängt sein), z.B.:
sudo umount /dev/sda1
wenn als
NTFS-Dateisystem
sudo mkfs.ntfs -f -L "USB-NTFS-8GB" /dev/sda1
(-f = Schnellformatierung | -L = Bezeichnung)wenn als
FAT32-Dateisystem
sudo mkfs.vfat -F 32 -n "USB-8GB" /dev/sda1
(-n = Bezeichnung, max 8 Zeichen)wenn als
exfat-Dateisystem (benötigt exfat-utils)
sudo mkfs.exfat -n "USB-EXFAT-8GB" /dev/sda1
(-n = Bezeichnung)Das ausgehängte Dateisystem kann mit fsck überprüft werden:
sudo fsck /dev/sda
(wird beim Prüfen eingehangen)
Quellen:
- YT: Verlogene USB-Festplatten (CC2tv Folge 318) (https://www.youtube.com/watch?v=_iJJaNA81qo)
- github AltraMayor/f3 (https://github.com/AltraMayor/f3)
- AUR packages/f3 (https://aur.archlinux.org/packages/f3)