Wie mounte ich ein Gerät unter Linux?


75

Ich habe einige Ressourcen zum Befehl mount zum Mounten von Geräten unter Linux gelesen, aber keine davon ist klar genug (zumindest für mich).

Im Großen und Ganzen sagen die meisten Führer:

$ mount
(lists all currently mounted devices)

$ mount -t type device directory
(mounts that device)

for example (to mount a USB drive):
$ mount -t vfat /dev/sdb1 /media/disk

Was ist mir nicht klar:

  • Woher weiß ich, was ich für "Gerät" wie in verwenden soll $ mount -t type device directory? Das heißt, woher weiß ich, dass ich "/ dev / sdb1" in diesem Befehl verwenden sollte $ mount -t vfat /dev/sdb1 /media/disk, um mein USB-Laufwerk zu mounten?

  • Was definiert der Parameter "-t" hier? Art?

Ich habe die Manpage ( $ man mount) ein paar Mal gelesen , aber mir fehlt wahrscheinlich noch etwas. Bitte klären Sie.


@rozcietrzewiacz Ich muss zugeben, dass mein Verstand nicht richtig funktioniert hat. Als sich @Let_Me_Be bezog, /dev/disk/by-iddachte ich, dass "by-id" durch etwas ersetzt werden sollte und als Befehl ausgegeben werden sollte. Es kam mir nicht in den Sinn, dass es sich tatsächlich um ein Verzeichnis handeln könnte. Dies passiert wahrscheinlich Windows -> Linux-Benutzern in ihrer Anfangsphase! (oder es ist nur ich :))
its_me

@rozcietrzewiacz Das ist nicht sehr fair.
Alex Chamberlain

4
Lass das fallen -t type. mountwird es normalerweise herausfinden und im Allgemeinen, wenn es nicht kann, ist es ein vernünftiger Hinweis darauf, dass Sie etwas falsch machen.
Alex Chamberlain

3
@AlexChamberlain Ich kann sehen, ich wurde getragen. Ich entschuldige mich bei @its_me. Ich hätte schreiben sollen "Wenn Sie das Handbuch wirklich gelesen hätten, würden Sie nicht nach der -tOption fragen ". Der andere Teil der Frage (wie man feststellt, welches Gerät durch einen /dev/Eintrag repräsentiert wird ) ist sehr vernünftig.
Rozcietrzewiacz

Antworten:


81

Sie können fdisk verwenden, um eine Vorstellung davon zu bekommen, welche Art von Partitionen Sie haben, zum Beispiel:

fdisk -l

Zeigt an:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   204796619   102398278+   7  HPFS/NTFS
/dev/sda2       204797952   205821951      512000   83  Linux
/dev/sda3       205821952   976773119   385475584   8e  Linux LVM

Auf diese Weise wissen Sie, dass Sie SDA1, 2 und 3 Partitionen haben. Die Option -t ist der Dateisystemtyp. es kann NTFS, FAT, EXT sein. In meinem Beispiel ist sda1 ntfs, also sollte es ungefähr so ​​aussehen:

mount -t ntfs /dev/sda1  /mnt/

USB-Geräte sind normalerweise vfat und Linux ist normalerweise ext.


Ich bin auf einer Fedora-VM (Windows 7-Host). Ich habe gerade ein USB-Laufwerk angeschlossen (Windows erkennt es nicht, weil die VM ausgeführt wird) und den Befehl ausgegeben $ fdisk -l. Es werden jedoch nur Linux- und Linux LVM-Dateisysteme aufgelistet (nur zwei). Nicht vfat, ntfs, hpfs oder ext usw.
its_me

Möglicherweise handelt es sich nicht um ein Mount-Problem, sondern um ein Problem mit der Geräteerkennung. Schauen Sie sich die Datei / var / log / message an. Sie sollte anzeigen, ob ein Problem mit dem USB-Gerät vorliegt.
ghm1014

Normalerweise ist das so, wie ich es auf einem laufenden Linux-System finden sollte: ein USB-Stick (Beispiel) # fdisk -leinstecken, den Befehl ausgeben und das Gerät (/ dev / *) und sein Dateisystem (vfat, ntfs, hpfs, ext usw.) finden . Richtig?
its_me

Normalerweise ja. Wenn Sie Gnome ausführen, werden USB- und externe Festplatten gemountet, jedoch nicht manuell. Es zeigt ein Popup-Fenster wie Windows.
ghm1014

Ein letzter Zweifel. Sind dies die einzigen gemeinsamen Dateisystem-Gerätedateien: / dev / sd * oder / dev / hd * sind für Festplatten, / dev / cdrom für CD-ROMs und / dev / fd * für Disketten. Noch etwas?
its_me

17

Ich war wirklich verrostet und dann fing es an zurückzukommen. Wenn dies Ihre Frage nicht beantwortet, habe ich sie vielleicht falsch verstanden.

Alibi: Dies ist eine Ubuntu 14-Version. Ihr Kilometerstand kann variieren.

Ich benutze lsblk, um meine Mount-Punkte zu erhalten, was mount für mich lsblkeinfacher zu lesen ist alsmount

Stellen Sie sicher, dass Sie ein Verzeichnis erstellt haben, bevor Sie Ihr Gerät einbinden.

sudo mkdir /{your directory name here}
sudo mount /dev/{specific device id} /{your directory name here that is already created}

Sie sollten einsatzbereit sein. Überprüfen Sie jedoch die Sicherheitsberechtigungen für dieses neue Verzeichnis, um sicherzustellen, dass es Ihren Wünschen entspricht.


7

In diesen Tagen können Sie die ausführlichen Pfade verwenden, um ein bestimmtes Gerät bereitzustellen.

Zum Beispiel:

mount /dev/disk/by-id/ata-ST31500341AS_9VS2AM04-part1 /some/dir
mount /dev/disk/by-id/usb-HTC_Android_Phone_SH0BTRX01208-0\:0 /some/dir

Wo finde ich mehr Informationen dazu? Ich bin noch nicht in dieses "wortreiche Ding" unter Linux vertieft, es ist also verwirrend.
its_me

1
@Aahan Nun, das sind nur Symlinks zu /dev/sd*. Es gibt /dev/disk/by-id(Geräte- / Partitions-ID), /dev/disk/by-uuid(Geräte- / Partitions-UUID - nicht sehr nützlich für die manuelle Verwendung), /dev/disk/by-path(hängt davon ab, wie das Gerät angeschlossen ist), /dev/disk/by-label(Partitionsbezeichnung, falls vorhanden)
Let_Me_Be

Woher bekomme ich diese Details (Partitions-ID, Gerätepfad, Bezeichnung usw.)?
its_me

1
@Aahan Nun, das meldet das Gerät. ID ist der Gerätename oder die Modell- oder Seriennummer oder eine Kombination. Der Pfad ist derselbe, wird jedoch für die Art und Weise angegeben, in der die Festplatte angeschlossen ist. pci-0000:00:1f.2-scsi-3:0:0:0-part3Dies gilt zum Beispiel (PCI-Gerät 0000: 00: 1f.2, dritter Port, dritte Partition) id (Sie werden das verwenden, wenn Sie eine Form der Identifikation wünschen, die sich nicht ändert).
Let_Me_Be

1
Als Sie sich auf / dev / disk / by-id bezogen, dachte ich, dass "by-id" durch etwas ersetzt werden sollte und als Befehl ausgegeben werden sollte. Es kam mir nicht in den Sinn, dass es sich tatsächlich um ein Verzeichnis handeln könnte. Vielen Dank für Ihre Geduld. LOL, ich war lächerlich :)
its_me

3

mount(der Befehl) ermittelt normalerweise den "Typ" des Dateisystems auf dem Gerät. Ich denke, der schwierige Teil, wenn man den Gerätedateinamen herausfindet. Sie müssen fast die Benennungskonventionen für Festplattenlaufwerke kennen, um dies herauszufinden.

Auf einer aktuellen Arch-Linux-Box:

133 % ls /dev/sd??
/dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sdb1  /dev/sdb2

Aber das funktioniert auf einer ausgereiften (2.6.20.9) Slackware-Box nicht:

1 % ls /dev/sd??
zsh: no matches found: /dev/sd??
2 % ls /dev/hd??
/dev/hda1  /dev/hda2

Ohne zu wissen im Voraus , dass /dev/sd*oder /dev/hd*Festplattengerätedateien sind, müssen Sie verwenden lspcioder lsusboder etwas , um die Gerätedateinamen herauszufinden. USB-Geräte hinterlassen häufig Informationen /var/log/messages, um herauszufinden, welche Gerätedatei udev ihnen zugewiesen wurde.


1
Wie wäre es mit fdisk -lwie die andere Antwort erwähnt? (Siehe auch meinen letzten Kommentar zu dieser Antwort.)
its_me

1

Unter Ubuntu 14 können Sie auch die Disks-App verwenden:

Bildbeschreibung hier eingeben

Klicken Sie zuerst auf die Festplatte im linken Bereich und dann auf die Partition im rechten Bereich. Das untere rechte Feld zeigt das Format, den aktuellen Bereitstellungsstatus usw. Sie können diese GUI auch zum Erstellen / Löschen / Formatieren von Partitionen verwenden.


Warum zwei identische 4GB? Und es fällt OQ schwer, das richtige Gerät zu finden. Und dann auch formatieren?
Rastafile

1

Wie kommt es, dass wir viele Möglichkeiten haben, dies zu tun, aber wie immer berücksichtigen wir auch und wissen nicht, wo das in dem Gerät verwendete Dateisystem ein wenig hinderlich sein kann, aber wir können die "auto" -Option verwenden, um ein wenig Hilfe zu geben.

mount -t auto /dev/sdb1 /media/pendrv

und fertig, unser Gerät wird gemountet: at / media / pendrv ready to use, dann einfach benutzen:

umount /media/pendrv

... um das Gerät freizugeben.


0

ThoerX Forum Überprüfen Sie das Gerät mit fdisk -l

Partition the device as following :-
fdisk /dev/sda
d - Delete old partitions
n - New partition
select partition number
select start block
select end block
v - verify the new partition
w - write through

now fdisk - l should show /dev/sda1 with proper filesystem type (say ext4)
mount -t ext4 /dev/sda1 /myMountPoint

0

Das "Gerät", von dem man spricht, ist ein logisches Blockgerät mit einem darauf befindlichen Dateisystem.

Ein "Gerät" kann auch ein Produkt sein (SSD ist ein Laufwerk, HDD ist ein Laufwerk, DVD ist ein Laufwerk, ODD ist ein Laufwerk).

Oft ist es egal was genau. Aber wenn es um das Mounten (oder Formatieren oder Partitionieren) geht, ist es wichtig, weil es logisch wichtig ist.

Wie Sie sehen können, ist sda direkt neben sda1, 2, 3 ... und auch sdb, sdc, jeweils mit ihren Partitionen. Sie können also in beide Richtungen etwas falsch machen.

Wenn Sie dies mount /dev/sdb1 /media/disk/tun, wählen Sie Partition 1 von der SATA-Festplatte "b". Wenn es sich bei sdb1 um eine USB-Stiftpartition handelt, ist der Name Ihres Mountpoints nicht sehr aussagekräftig.

Sie können sogar ein Stück RAM mounten, um eine Ramdisk oder eine Datei ("Loop-Gerät") zu erstellen. Oder ein rein virtuelles "Gerät" wie sysfs, das das Verzeichnis / sys (Mountpoint) auffüllt.

Die Idee des Einbindens und damit des Befehls mount beruht auf einem Konzept (VFS usw.) mit drei Hauptelementen:

  1. Partition / Block-Gerät: Vergleichen fdisk -l, lsblkund cat /proc/partitions. Es ist schwierig, aber 80% sind nur unterschiedliche Sichtweisen.
  2. Dateisystem: Durch das Formatieren wird eine 20-GB-Partition in ein leeres Verzeichnis mit 18 GB freiem Speicherplatz für Dateien umgewandelt. Siehe man mkfsund man mkfs.ext2(mkfs.FSTYPE).
  3. Mountpoint: Dies ist nur ein "Hook", ein (leeres) Verzeichnis, mit dem der neue Zweig an das oberste Verzeichnis "/" angehängt wird. Durch Binden und Überlagern können Sie komplizierte FS-Bäume erstellen. Aber ad hoc mkdir xyzist technisch in Ordnung.

Die gesamte Bereitstellung wurde einmal zentral vom Sysadmin in / etc / fstab konfiguriert. Mit dem heutigen Hot-Plugging von Massenspeichern werden die Dinge etwas kompliziert.

Bei einem USB-Stift handelt es sich um ein Kernelmodul, das / dev / sdb und seine Partitionen in Sekundenbruchteilen aufruft.

Jede weitere Automatisierung beim Hot-Plugging, so einfach es ist, muss von udev koordiniert und manchmal durch zusätzliche Tools perfektioniert werden. Udev kann ALLE Geräte handhaben, nicht nur Speicher.

Wir sind gefangen zwischen dem Komfort, ein neues Symbol (oder sogar nur ein "Gerät" mit einem anständigen Namen) automatisch öffnen zu lassen, und der Art und Weise, wie der Kernel mit dem (virtuellen) Dateisystem die Teile systematisch vorbereiten muss. Aber mit RAID und Verschlüsselung und all den verschiedenen "Speichergeräten" muss Linux einige Schichten hinzufügen.

Am Ende möchten Sie diese Inhalte immer zur Hand haben.

Normalerweise muss man nur das richtige ... GERÄT identifizieren;). Sie können ls /dev/sd*sehen, was da ist: Welche Buchstaben, welche Zahlen kennzeichnen Ihr GERÄT ...

Und dann tippe

mkdir mydev
mount /dev/DEVICE mydev

(Sie können das -t typeTeil weglassen)


Dies ist leicht zu lesen und gleichzeitig systematisch. "mount" ist ein sehr wichtiges Konzept. Alle diese Antworten zeigen das "Problem", insbesondere für Debütanten . "mount" ist DER UNIX-Befehl. Mehrdimensional. Nur fork () komplexer.
Rastafile

Kritik an Wikipedia-Linux: Einst mussten Wechselmedien wie Disketten und CD-ROMs auf Linux-Systemen manuell gemountet werden, bevor auf sie zugegriffen werden konnte. Das Einhängen von Medien erfolgt jetzt in nahezu allen Distributionen automatisch, mit der Entwicklung von udev.
Rastafile
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.