Frage von illuslash1, 30

Ubuntu Block Device erstellen?

Mein Ziel war es den USB-Icon vom Launcher wegzubekommen. Das habe ich geschafft, aber jetzt gibt es kein /dev/sdb mehr wenn ich den USB anstecke und kann ihn nicht mehr mounten.

Der Stick wird aber noch erkannt. Es gibt in /dev/bus/usb/ einen Character Device vom USB-Stick und mit dem Befehl lsusb wird er angezeigt. Und wenn ich versuche diesen Character Device versuche zu mounten, steht dort das es kein Block Device ist.

Meine Frage jetzt, wie kann ich den Character Device zu einem Block Device machen. Oder wie kriege ich /dev/sdb zurück.

Expertenantwort
von guenterhalt, Community-Experte für Computer & Linux, 14

unter /dev/bus/usb wirst du keine Gerätedatei für einen USB-Stick finden.
Beim Anstecken werde die in  /proc/partitions eingetragen.
Dort findest du dann auch die zugewiesene Gerätedatei.
Du kannst zwar irgendwo ein Blockdevice erstellen, wenn die dann aber nicht die gleichen Werte wie die zugewiesene hat, nützt das wenig.

Das würde mit

mknod <name> b <MAJOR> <MINOR>

funktionieren aber :

das mounten von USB-Memory-Sticks ist nicht so einfach, weil die Gerätedateien mit major- und minor- Nummer an nichts gebunden sind.

So wird ein Stick, der heute die /dev/sdb1  hat, kann morgen die /dev/sdc1 haben. Die Major-Nummer sollte immer 8 sein, die Minor-Nummer wird aber 49, 50 ... sein können.

Zu lösen ist das (vielleicht die einzige Möglichkeit) über einen Label.
Gib deinem Stick einen Namen ( dosfslabel für FAT , e2label für ext2,3 4 )
und mounte dann mit

mount LABEL=<Name-des-Sticks> <MountPoint>




Antwort
von Linuxhase, 10

Hallo

Ubuntu Block Device erstellen?

Das macht doch der Kernel schon von sich aus. Das kannst Du gar nicht weil es nicht vom Userspace aus geht.

Mein Ziel war es den USB-Icon vom Launcher wegzubekommen. Das habe ich geschafft,

Wie genau hast Du das getan und welchen Sinn hat das für Dich?

aber jetzt gibt es kein /dev/sdb mehr wenn ich den USB anstecke

Wird er denn mit:

journalctl -f

angezeigt?

Der Stick wird aber noch erkannt. Es gibt in /dev/bus/usb/


Das ist auch kein Gerät sondern ein BUS.

Was zeigt denn:

fdisk -l


an?

> Oder wie kriege ich /dev/sdb zurück.

Am besten wenn Du das was Du getan hast um es wegzukriegen wieder rückgängig machst ;-)

Linuxhase

Antwort
von illuslash1, 10

Habe es irgendwie anderes gelöst. Ich habe jetzt scripts geschrieben, die das für mich machen.

Ein Script aktiviert usb_storage und mountet dann den USB zu /mnt/

Der andere unmountet den USB und deaktiviert usb_storage wieder.

Ist zwar nicht die beste Lösung, aber ich kann damit leben. :)

Keine passende Antwort gefunden?

Fragen Sie die Community