Datenträger


© Mai 2021, Letzte Änderung 24.12.21

--- still under construction ---

Übersicht

USB als FAT32 formatieren

Zum schnellen Datenaustausch zwischen verschiedenen Systemen,
kann man auch einen USB-Speicher verwenden.
In diesem Beispiel habe ich auf einem USB-Stick   sdb   zwei Linux Partitionen und
möchte daraus einen Windows lesbaren Stick machen.

Zum Überblick lasse ich mir alle angeschlossenen Speicher anzeigen

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   2.7T  0 disk 
├─sda1        8:1    0    20G  0 part 
├─sda2        8:2    0    16G  0 part 
└─sda3        8:3    0   2.7T  0 part /mnt/sda3
sdb           8:16   1   3.8G  0 disk 
├─sdb1        8:17   1   1.8G  0 part 
└─sdb2        8:18   1   2.3M  0 part 
nvme0n1     259:0    0 447.1G  0 disk 
├─nvme0n1p1 259:1    0    28G  0 part /
├─nvme0n1p2 259:2    0     1K  0 part 
├─nvme0n1p5 259:3    0    16G  0 part [SWAP]
└─nvme0n1p6 259:4    0 403.3G  0 part /home

An z.B. der Größe kann ich erkennen das   sdb   der USB-Stick ist.

Sollte der USB-Stick bereits eingehängt sein, was hier nicht der Fall ist,
ist er vor dem Formatieren auszuhängen.
Die geschieht wie folgt:

su
umount /dev/sdb1
umount /dev/sdb2

Den externen USB-Stick als FAT32 formatieren geht wie folgt:

Bitte daran denken, danach (nach den Formatieren) ist der Inhalt futsch!
Also, bitte darauf achten, das der richtige Pfad verwendet wird.
in diesem Beispiel sdb1

su
mkfs.vfat -F32 /dev/sdb1
bash: mkfs.vfat: command not found

whereis mkfs
mkfs: /usr/bin/mkfs.btrfs  /usr/sbin/mkfs.ext2  /usr/sbin/mkfs.minix 
      /usr/sbin/mkfs.exfat /usr/sbin/mkfs.ext4  /usr/sbin/mkfs.msdos 
      /usr/sbin/mkfs       /usr/sbin/mkfs.ntfs  /usr/sbin/mkfs.cramfs 
      /usr/sbin/mkfs.fat   /usr/sbin/mkfs.xfs   /usr/sbin/mkfs.reiserfs 
      /usr/sbin/mkfs.bfs   /usr/sbin/mkfs.ext3  /usr/sbin/mkfs.vfat 
      /usr/share/man/man8/mkfs.8.gz

/usr/sbin/mkfs.vfat -F32 /dev/sdb1
mkfs.fat 4.1 (2017-01-24)

Offensichtlich ist der entsprechende Befehl under DEB 10 verschoben worden.

Und noch eine Ansicht nach dem Formatieren und nachdem Daten darauf gespielt wurden,
also der USB-Stick noch eingebunden ist.

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   2.7T  0 disk 
├─sda1        8:1    0    20G  0 part 
├─sda2        8:2    0    16G  0 part 
└─sda3        8:3    0   2.7T  0 part /mnt/sda3
sdb           8:16   1   3.8G  0 disk /media/a1/290E-CDC5
nvme0n1     259:0    0 447.1G  0 disk 
├─nvme0n1p1 259:1    0    28G  0 part /
├─nvme0n1p2 259:2    0     1K  0 part 
├─nvme0n1p5 259:3    0    16G  0 part [SWAP]
└─nvme0n1p6 259:4    0 403.3G  0 part /home

Es fällt auf das nicht nur die Partition   sdb1   formatiert wurde,
sondern der gesamte USB-Stick sdb.
Bug inside?

Da kein sdb1 mehr angezeigt wird, ist dieser Datenträger nicht mehr als Festplatte,
sondern als Wechseldatenträger (Superfloppy, ohne MBR) formatiert.

FAT32 auf unformatierten Datenträger erstellen

In seltenen Fällen, z.B. die ersten 512 Bytes des Bootsektors (VBR oder MBR) sind zerstört
oder absichtlich mit z.B. dd überschrieben worden,
ist es nötig den Datenträger neu zu erstellen.

fdisk /dev/sdb
p				print partition table → leer
n				new partition
 p				primary partition
  1				partition 1
   2048			first sector
    default	= return	last sector or size
t				change partition type
 c				W95 FAT32 (LBA)
w				write changes & quit

fdisk -l			gucken wie die Partition heisst

mkfs -t vfat /dev/sdb1

Im Gegensatz zur vorherigen Supperfloppy-Formatierung,
ist hier der Datenträger als Festplatte formatiert.
Am Anfang ist also ein MBR - master boot record,
gefolgt von einer Partition, welche wiederum mit einen
VBR - volume boot record anfängt.

Quellen

moyens.net   So formatieren Sie ein USB-Gerät unter Linux auf Fat32   Gnome Disk Utility, per cli
tutonaut.de   USB-Stick unter Linux formatieren
  Grafische Oberfläche Mint/Ubuntu, Gparted
joecomp.com   So formatieren Sie USB-Laufwerke und SD-Karten unter Linux 2021
  parted,
funktioniert.org   USB-Stick unter Linux partitionieren und formatieren
  fdisk, mkfs.ext4

Zum Anfang

Partition ungewollt Read Only

Manchmal kann es vorkommen, dass ein externer Datenträger nicht mehr in sich stimmig ist
und Linux, zur Vermeidung weiterer Probleme, den Datenträger auf read only setzt.

Im Thunar werden die Ordner als nur lesend gekennzeichnet.
Im Terminal kann der eingebundene Datenträger dann wie folgt aussehen.

cd /media/a1/
ls -la
drwxr-x---+  3 root root  4096 Sep 10 23:16 .
drwxr-xr-x   5 root root  4096 Okt 12  2018 ..
drwxr-xr-x  12 a1   a    65536 Jan  1  1970 INTENSO

Das hilf zwar nicht, dient aber der Information.
Unabhängig ob eingebunden oder nicht, zeigt parted den Datenträger.

su
parted -l                    unter DEB 10: /usr/sbin/parted -l

…
Model: Intenso BASIC LINE (scsi)
Disk /dev/sdc: 31,0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      4129kB  31,0GB  31,0GB  primary  fat32        lba
…

Wenn noch eingebunden, zeigt lsblk nichts ungewöhnliches.

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   2,7T  0 disk 
├─sda1        8:1    0  15,3G  0 part 
├─sda3        8:3    0   3,8G  0 part 
└─sda4        8:4    0   2,7T  0 part /mnt/sda4
sdc           8:32   1  28,9G  0 disk 
└─sdc1        8:33   1  28,9G  0 part /media/a1/INTENSO
nvme0n1     259:0    0 465,8G  0 disk 
├─nvme0n1p1 259:1    0    28G  0 part /
├─nvme0n1p2 259:2    0     1K  0 part 
├─nvme0n1p3 259:3    0    28G  0 part 
├─nvme0n1p5 259:4    0  14,9G  0 part [SWAP]
└─nvme0n1p6 259:5    0   395G  0 part /home

Wenn noch eingebunden, erhalte ich über df noch weitere Größeninformationen.

df -Th
Dateisystem    Typ      Größe Benutzt Verf. Verw% Eingehängt auf
udev           devtmpfs  7,4G       0  7,4G    0% /dev
tmpfs          tmpfs     1,5G    9,6M  1,5G    1% /run
/dev/nvme0n1p1 ext4       28G    7,7G   19G   30% /
tmpfs          tmpfs     7,4G     85M  7,3G    2% /dev/shm
tmpfs          tmpfs     5,0M    4,0K  5,0M    1% /run/lock
tmpfs          tmpfs     7,4G       0  7,4G    0% /sys/fs/cgroup
/dev/nvme0n1p6 ext4      388G    134G  235G   37% /home
/dev/sda4      ext4      2,7T    2,3T  323G   88% /mnt/sda4
tmpfs          tmpfs     1,5G    4,0K  1,5G    1% /run/user/110
tmpfs          tmpfs     1,5G     16K  1,5G    1% /run/user/1002
tmpfs          tmpfs     1,5G    8,0K  1,5G    1% /run/user/1001
/dev/sdc1      vfat       29G    8,4G   21G   29% /media/a1/INTENSO

Im Idealfall sollte es ausehen, wie im folgenden Beispiel,
Also rw statt ro stehen.

mount
…
/dev/sdc1 on /media/a1/INTENSO type vfat (rw,nosuid,nodev,relatime,
   uid=1001,gid=1001,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,
   shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

Bevor ich den defekten Datenträger reparieren kann, muß er ausgehängt werden.
Bei den hier beschriebenen Wechseldatenträger
geht das wahrscheinlich am einfachsten via Thunar.
Generell sind Wechesldatenträger unter
/media/[Benutzername]/[Datenträger-name oder -Nummer] zu finden.

umount /media/a1/INTENSO/

dosfsck /dev/sdc1                      funktioniert unter DEB 9

/usr/sbin/dosfsck /dev/sdc1            ab DEB 10
fsck.fat 4.1 (2017-01-24)              (Daten sind von einen anderen Medium)
/dev/sdb1: 84 files, 382/1954832 clusters

Wenn ich nun den Datenträger wieder einbinde, wird er zwar anders dargestellt,
aber ist noch nicht wieder beschreibbar…
an den unscheinbaren + kann ich erkennen,
daß es weitere Berechtigungen gibt (man acl).
Mit getfacl bekomme ich mehr Details über die   file access control list.

ls -ld /media/a1/INTENSO
dr-xr-xr-x+ 3 a1 a 4096 Sep 10 23:55 /media/a1/INTENSO

getfacl /media/a1/INTENSO
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: media/a1/INTENSO
# owner: a1
# group: a
user::r-x                              hier sollte rwx stehen
group::r-x
other::r-x

setfacl -m u:a1:rwx /media/a1          -modify u:uid:permissions 

Mit setfacl oder Neustart kann ich die Schreib-Rechte wiedererlangen.

Alternativ kann ich das auch über Gparted erreichen.
Zunächst   Partition > aushängen
Dann   Partition > überprüfen (& reparieren)

Zum Anfang

Quellen

askubuntu.com   USB devices showing as read only

Zum Anfang