Ich weiß, dass / dev / sda das unformatierte Gerät ist und dass / dev / sda1 die Partition oder das virtuelle Gerät ist.
Aber ich bin ein wenig verwirrt, warum die sda # nur manchmal oder nur auf bestimmten Systemen auftaucht. Wodurch wird dies verursacht? Möglicherweise werden die sda # -Laufwerke nicht angezeigt, wenn sie nicht partitioniert sind. Oder ist es bei der Hardware vielleicht nicht dasselbe?
Und warum kann ich beides montieren? (manchmal) Sollte die Partition nicht diejenige sein, die eingehängt werden kann?
Alle Ressourcen oder Farben, die Sie geben können, wären sehr dankbar. Danke im Voraus.
linux
unix
mount
hard-drive
Köder
quelle
quelle
Antworten:
Auf einem modernen System wird ein Partitionsgerät nur angezeigt, wenn die Partition tatsächlich vorhanden ist.
Auf einem Datenträger mit einer MBR-Partitionstabelle entsprechen die Partitionsnummern 1 bis 4 den vier Slots in der Partitionstabelle, die als "primäre" Partitionen bezeichnet werden. Sie müssen nicht sequentiell gefüllt werden, daher ist es beispielsweise möglich, eine sda2, aber keine sda1 zu haben. Die Partitionsnummern 5 und höher entsprechen "logischen Laufwerken" in einer erweiterten Partition, und diese sind immer fortlaufend nummeriert, sodass Sie keinen sda6 haben können, ohne auch einen sda5 zu haben.
Auf einem Datenträger mit einer GPT-Partitionstabelle können viel mehr (normalerweise bis zu 128) Partitionen vorhanden sein, und alle sind "primär". Sie könnten also beispielsweise eine Festplatte haben, deren einzige Partition sda9 ist.
Wenn die Festplatte keine Partitionstabelle hat, hat sie natürlich keine Partitionsgeräte.
Ältere Systeme - diejenigen, die ein statisches / dev verwenden, anstatt eines, das von udev verwaltet wird - verfügen normalerweise über Geräteknoten für alle möglichen Partitionsnummern, unabhängig davon, ob die Partitionen tatsächlich vorhanden sind. (Der Versuch, die Gerätedatei für eine nicht vorhandene Partition zu öffnen, schlägt natürlich fehl.)
Es ist möglich, auf die Partitionierung zu verzichten und ein Dateisystem direkt auf einer Festplatte abzulegen. Wenn Sie ein Blockgerät einbinden, sucht der Dateisystemtreiber normalerweise nach einem Superblock mit einem vorgegebenen Versatz vom Anfang des Geräts. Da der Anfang einer Partition nicht der Anfang der Festplatte selbst ist, ist dies der Superblock für ein Dateisystem in einer Partition befindet sich an einer anderen Stelle auf der Festplatte als der Superblock für ein Dateisystem, das auf dem Gerät "Gesamtfestplatte" erstellt wurde.
Wenn die Festplatte nur ein Dateisystem hatte und dann partitioniert und ein Dateisystem in einer Partition erstellt wurde, ist der alte Superblock möglicherweise noch vorhanden, z. B. in der kleinen Lücke vor dem Beginn der ersten Partition. Die Festplatte scheint also weiterhin ein Dateisystem sowohl auf dem Raw-Festplattengerät als auch auf dem Partitionsgerät zu haben, da der Dateisystemtreiber ein Dateisystem findet, wenn er nach dem Superblock sucht.
Es ist jedoch nicht wirklich sicher, beide Dateisysteme bereitzustellen und zu verwenden, da sie sich auf der Festplatte überlappen. Man kann wichtige Buchhaltungsdaten in dem haben, was der andere für freien Speicherplatz hält. Aus diesem Grund ist es eine gute Idee, den Anfang eines Blockgeräts auf Null zu setzen, unerwünschte Superblöcke zu entfernen, wenn Sie eine Raw - Festplatte in eine partitionierte Festplatte oder umgekehrt ändern oder den Typ des auf einer Partition verwendeten Dateisystems usw .
quelle
Soweit ich weiß, wird der Kernel, wenn er ein neues Blockgerät auf einem SCSI-ähnlichen (inkl. SATA-) Bus erkennt, zusätzlich zum Hinzufügen eines Knotens
/dev
für die gesamte Festplatte selbst/dev/sda
versuchen, festzustellen, ob es eine Partitionstabelle gibt . Wenn es lesbare Partitionen gibt, werden die Partitionsknoten in Abhängigkeit davon, ob es sich um physische oder logische Partitionen handelt, nummeriert (ich glaube, logische Partitionen beginnen bei # 5).Wenn Sie einen Plattenknoten ohne Partitionsknoten sehen, bedeutet dies, dass keine Partitionen erkannt wurden. Mir ist kein Fall bekannt, in dem Sie das physische Gerät einbinden können, da dies bedeuten würde, dass ein Dateisystem ohne Partitionstabelle direkt auf das physische Gerät geschrieben ist. Es könnte sein, dass in dem Fall, in dem es nur eine einzige Unterteilung gibt,
mount
einmount /dev/sda
Kommando als Bedeutung interpretiert wird/dev/sda1
, aber ich habe dies nie getestet.quelle
/dev/sdc
, war mir aber nicht sicher, ob ich das erfunden hatte./ dev / sda - Rohgerät
/ dev / sda1 - 'virtuelles' Gerät, wie eine Partition.
Ein interessanter Unterschied besteht darin, dass ein Gerät mit Partitionen (MBR-Daten oder Ähnliches) keine MBR-Daten von einem der virtuellen Geräte lesen kann, da sich MBR-Daten außerhalb von Partitionen auf einem Gerät befinden. MBR befindet sich im ersten Sektor des Geräts (CHS: 0 0 1). Es hat sich bewährt, die erste Partition mit 1 MB nach dem Beginn eines Geräts zu erstellen.
Zum Lesen der MBR-Daten müssen Sie das Raw-Gerät (/ dev / sda) verwenden, dh:
quelle
Ah, Partitionstabellen und Gerätenamen. Machen Sie sich bereit, um mit ihnen verwirrt zu werden.
Besitzen Sie einen HP Server mit einem Compaq RAID-Controller? Nein / dev / sda, sag hallo zu / dev / ccsis.
Haben Sie einen alten Desktop-Computer mit alter IDE-Schnittstelle? Nein / dev / sda, sag hallo zu / dev / hda.
Haben Sie einen modernen Server, der Sie / dev / sda sagt, aber nach der Installation können Sie es kaum sehen? Begrüßen Sie LVM, Ihre Betriebssysteminstallation hat Ihr / dev / sda zum physischen LVM-Volume gemacht, eine Volume-Gruppe und ein logisches Volume darin erstellt.
Wenn Sie also nichts wie / dev / sda1 sehen, wird möglicherweise LVM oder ähnliches verwendet, das seine eigenen "Partitionen" erstellt hat.
Hat das deine Frage beantwortet?
quelle