Wie überprüfe ich, ob mein Ubuntu auf einer SSD gespeichert ist?

26

Ich glaube, ich habe Ubuntu auf der SSD installiert, bin mir aber nicht sicher und möchte dies überprüfen. Aber ich weiß nicht wie?

Mondlicht
quelle
2
Haben Sie etwas anderes als eine SSD?
TheWanderer
Ich in meiner Konfiguration bleibt 500 GB HD ST500LM000-SSHD-8GB (LVD4)
Mondlicht
4
SCHLIESSEN SIE DIE ABSTIMMUNGEN: Die Frage ist nicht off-topic . Es stellt eindeutig eine bestimmte Frage in Bezug auf Ubuntu OS und kann mit Ubuntu-Tools gelöst werden. Entweder ziehen Sie Ihre Stimmen zurück oder geben Sie einen guten Grund an, warum Sie denken, dass Ihre Stimme korrekt ist
Sergiy Kolodyazhnyy

Antworten:

40

Alter, wo ist meine Wurzel?

Zunächst müssen wir wissen, auf welcher Festplatte sich Ihr Root - Dateisystem befindet (mit anderen Worten, auf welchem ​​Gerät sich Ihr Ubuntu befindet df.

$ df / -h                                                                       
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       110G   58G   48G  55% /

Groß ! Ich weiß jetzt, dass mein Ubuntu auf eine /dev/sdaFestplatte mit einer Größe von 110 GB gestellt wird (und die anderen 10 GB werden für etwas anderes verwendet). Nicht genug Informationen? OK, wie wäre es damit:

$ sudo lshw -short -C disk                                                      
[sudo] password for xieerqi: 
H/W path         Device     Class          Description
======================================================
/0/1/0.0.0       /dev/sda   disk           120GB Radeon R7
/0/2/0.0.0       /dev/sdb   disk           500GB TOSHIBA MQ01ABF0

Oh, Radeon R7! Das ist meine SSD! Aber warte . . .

Was ist, wenn Sie zwei Festplatten mit derselben Größe und demselben Hersteller haben?

Nun, Festplatten haben diese sehr interessanten Informationen - wie schnell sie sich drehen, und wie wir wissen, drehen sich SSD-Festplatten nicht .

$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'                              
[sudo] password for xieerqi: 
Rotation Rate:    Solid State Device

Sieht ungefähr so ​​aus?

Randbemerkung: die smartmontoolsbrauchen , um den Einsatz installiert werden smartctlBefehl.

Weitere Informationen finden Sie in diesem Beitrag auf der Unix- und Linux-StackExchange-Website

Zusätzliches Update:

Es gibt noch eine Methode, wie hier beschrieben . Jedes Laufwerk verfügt über ein entsprechendes Verzeichnis im /sys/class/block/Verzeichnis

cat /sys/class/block/DEVICE_NAME/queue/rotational

Sie erhalten entweder 1 für Festplatte oder 0 für SSD. Dieser Ansatz ist sehr praktisch für die Verwendung in Skripten

Tatsächlich ist dies anscheinend derselbe Ansatz, der lsblkverwendet wird:

$ lsblk -o NAME,ROTA                                                                                                                  
NAME   ROTA
sda       0
└─sda1    0
sdb       1
├─sdb1    1
├─sdb2    1
├─sdb3    1
├─sdb4    1
├─sdb5    1
└─sdb6    1
Sergiy Kolodyazhnyy
quelle
@ Serg warte das ist komisch. Ist die Radeon R7 nicht eine GPU?
Shortstheory
@shortstheory Ich habe diese Frage sehr oft, aber es ist wirklich eine SSD. Wenn Sie möchten, kann ich Amazon Links und Bilder von meinem Laufwerk bereitstellen, wenn Sie möchten :)
Sergiy Kolodyazhnyy
Ich denke, das funktioniert bis zu einem gewissen Punkt ... Was ist, wenn die Partition zum Beispiel verschlüsselt ist? Ihr "df" -Aufruf führt zu etwas wie / dev / dm-1 463867688 405671304 34610184 93% /, was nicht wirklich hilft: - / Stimmen Sie immer noch ab, da ich denke, dass Sie die häufigsten Fälle nageln.
Little Jawa
@LittleJawa Nun, was verschlüsselte Partitionen angeht, würde ich diesen Fall gerne behandeln, aber ich habe mich nie mit einem befasst, also würde ich es nicht wissen. Es ist ein guter Punkt und ich hoffe, dass jemand darüber nachdenkt. Ich würde vermuten, dass, obwohl die Gerätedatei anders benannt ist, die Idee dieselbe bleibt, aber wie gesagt - ich bin in Sachen verschlüsselter Dateien nicht qualifiziert
Sergiy Kolodyazhnyy
Die allgemeine Idee wäre die gleiche. Sie müssten zusätzliche Schritte ausführen, um festzustellen, woher die entschlüsselte Partition stammt. Es hängt von dem verwendeten Verschlüsselungs-Tool ab - mit LUKS würde ich nach dem "cryptsetup" -Dienstprogramm suchen, um das zu finden ... trotzdem - der Fragesteller hat Ihre Antwort als die richtige ausgewählt, also schließe ich das Thema: ) Wenn wir die gleiche Frage zu einer verschlüsselten Partition haben, werden wir uns darum kümmern :-p
Little Jawa
19

Eine einfache Möglichkeit, festzustellen, ob Ihr Betriebssystem auf einer SSD installiert ist oder nicht, besteht darin, einen Befehl in einem aufgerufenen Terminalfenster auszuführen lsblk -o name,rota. Schauen Sie sich die ROTASpalte der Ausgabe an und dort sehen Sie Zahlen. A 0bedeutet keine Drehzahl oder SSD-Laufwerk. Ein 1würde auf ein Laufwerk mit rotierenden Platten hinweisen. Mein Ubuntu ist auf meinem /dev/sdbLaufwerk installiert , so dass wir sehen können, dass eines anzeigt0 was bedeutet, dass es auf einem SSD-Laufwerk installiert ist. Ich habe nach diesem Beispiel angegeben, wie Sie feststellen können, wo Ihr Betriebssystem installiert ist df.

HINWEIS: Ubuntu, das als Client in einer Schleife oder auf VMs installiert ist, zeigt ROTA 1 an, unabhängig von der Installation des Host-Betriebssystems. Ebenfalls, " Solid-State-Hybrid-Laufwerke " und USB-Flash-Laufwerke zeigen ebenfalls ROTA 1 an.

Beispiel:

terrance@terrance-ubuntu:~$ lsblk -o name,rota
NAME   ROTA
sda       1
└─sda1    1
sdb       0
├─sdb1    0
├─sdb2    0
└─sdb5    0
sdc       1
└─sdc1    1
sdd       1
└─sdd1    1
sde       0
├─sde1    0
└─sde2    0
sdf       1
└─sdf1    1
sdg       1
└─sdg1    1
sdh       1
└─sdh1    1
sr0       1
sr1       1

Oder Sie können die Prüfung als Einzeilenskript durchführen, indem Sie -dPartitionen nicht anzeigen:

lsblk -d -o name,rota | awk 'NR>1' | while read CC; do dd=$(echo $CC | awk '{print $2}'); if [ ${dd} -eq 0 ]; then echo $(echo $CC | awk '{print $1}') is a SSD drive; fi; done

Beispiel:

terrance@terrance-ubuntu:~$ lsblk -d -o name,rota | awk 'NR>1' | while read CC; do dd=$(echo $CC | awk '{print $2}'); if [ ${dd} -eq 0 ]; then echo $(echo $CC | awk '{print $1}') is a SSD drive; fi; done
sdb is a SSD drive
sde is a SSD drive

Führen Sie den Befehl aus, um festzustellen, auf welchem ​​Laufwerk sich Ihre Installation befindet df / in einem Terminalfenster aus .

ANMERKUNG: Laufwerke, die mit LVM (Logical Volume Management) konfiguriert wurden, zeigen das Laufwerk tatsächlich als /bootan /.

Beispiele:

LVM-Laufwerk:

df /
Filesystem                   1K-blocks      Used Available Use% Mounted on
/dev/mapper/xubuntu--vg-root 243352964 106945028 123976576  47% /

df /boot
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/sda1         720368 237220    430756  36% /boot

Nicht-LVM-Laufwerk:

df /
/dev/sdb1       222309012   38264268  172728984  19% /

UPDATE: lsblk Kann auch verwendet werden, um anzuzeigen, wo das Betriebssystem installiert ist und ob das Laufwerk eine SSD ist. Alles in einem Befehl:

lsblk -o NAME,MOUNTPOINT,MODEL,ROTA

Beispiel:

terrance@terrance-ubuntu:~$ lsblk -o NAME,MOUNTPOINT,MODEL,ROTA
NAME   MOUNTPOINT         MODEL            ROTA
sda                       Backup+ Desk        1
└─sda1 /media/Seagate                         1
sdb                       WDC WD2500JD-00K    1
└─sdb1 /media/250GB_SHARE                     1
sdc                       WDC WD5000AAKS-4    1
└─sdc1 /media/500GB                           1
sdd                       ST500DM002-1BC14    1
└─sdd1 /media/320GB                           1
sde                       SanDisk SDSSDA24    0
├─sde1 /                                      0
├─sde2                                        0
└─sde5 [SWAP]                                 0
sdf                       WDC WD5000AAKX-2    1
└─sdf1 /media/WD500GB                         1
sdg                       WDC WD10EZEX-00W    1
└─sdg1 /media/1TB_SHARE                       1
sdh                       SanDisk SDSSDA24    0
├─sdh1                                        0
└─sdh2 /media/Windows                         0
sr0                       BD-RE  BH16NS40     1
sr1                       DVD-RAM GH40L       1

Nach einem Systemneustart haben sich meine Laufwerksbezeichnungen erneut geändert. Wie Sie sehen, handelt es sich bei meinen SanDisk-Laufwerken jedoch um SSDs, und ROTA zeigt 0 an.


Hoffe das hilft!

Terrance
quelle
Wie wird angezeigt, wo ein Betriebssystem installiert ist?
Pilot6
Ich weiß nicht , wo mein os installiert ist , aber nach diesem, es ist auf sda und es ist nicht auf SSD.NAME ROTA sda 1 ├─sda1 1 ├─sda2 1 └─sda5 1 sr0 1
moonlight
@ Pilot6 Guter Punkt, aktualisiert meine Antwort. Vielen Dank! =)
Terrance
@moonlight Ich habe meine Antwort mit einer Erklärung unten aktualisiert, um zu zeigen, wo es installiert ist.
Terrance
+1. Interessanterweise dreht sich auf meinem System, das auf SSD basiert, loop0. Das einzige andere rotierende Gerät, das von ausgegeben wird, lsblockist mein optisches Laufwerk.
Bis auf weiteres angehalten.
1

Am Ende ist Ihre Frage nicht wirklich eine Ubuntu-Frage. Sie haben eine Festplatte mit einem kleinen, im Verhältnis zur Größe der Festplatte, Flash-Speicherplatz. Dies wird automatisch vom Laufwerk verwaltet und versucht, die Dateien, auf die häufiger zugegriffen wird, auf dem Flash-Teil und nicht auf dem HD-Teil abzulegen. Soweit ich weiß, gibt es keine Möglichkeit zu kontrollieren oder zu sagen, welche Dateien sich auf welchem ​​Teil befinden. Wenn Sie Ubuntu regelmäßig verwenden, sollten alle wichtigen Dateien im Flash-Bereich Ihres Laufwerks landen, aber das war es auch schon.

Evan Steinbrenner
quelle