Come verificare se la mia Ubuntu è posizionata su SSD?

18

Penso che abbia installato Ubuntu su SSD ma non ne sono sicuro e voglio verificarlo. Ma non sono sicuro di come?

    
posta moonlight 29.06.2016 - 18:17

3 risposte

25

Amico, dov'è la mia radice?

Prima di tutto dobbiamo sapere su quale disco si trova il tuo filesystem di root (in altre parole, quale dispositivo ospita la tua Ubuntu. Un modo è con df .

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

Grande! Ora so che la mia Ubuntu è posizionata su /dev/sda disk, che ha una dimensione di 110 GB (e gli altri 10 GB sono usati per qualcos'altro). Non abbastanza informazioni? OK, che ne dici di questo:

$ 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! questo è il mio SSD! Ma aspetta . . .

Che cosa succede se hai due dischi con le stesse dimensioni e lo stesso produttore?

Bene, i dischi hanno questa informazione molto interessante - quanto velocemente ruotano, e come sappiamo i dischi SSD non ruotano .

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

Sembra giusto?

Nota a margine: potrebbe essere necessario installare smartmontools per utilizzare il comando smartctl .

Per maggiori informazioni, leggi questo post su Unix e Linux sito di stackexchange

Aggiornamento aggiuntivo:

C'è un altro metodo, come descritto qui . Ogni unità ha la directory corrispondente nella directory /sys/class/block/ , e facendo

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

otterrai 1 per disco rigido o 0 per SSD. Questo approccio è molto conveniente per l'utilizzo negli script

In effetti, è apparentemente lo stesso approccio che lsblk usa:

$ lsblk -o NAME,ROTA                                                                                                                  
NAME   ROTA
sda       0
└─sda1    0
sdb       1
├─sdb1    1
├─sdb2    1
├─sdb3    1
├─sdb4    1
├─sdb5    1
└─sdb6    1
    
risposta data Sergiy Kolodyazhnyy 30.06.2016 - 01:48
15

Un modo semplice per dire se il tuo sistema operativo è installato su SSD o meno è quello di eseguire un comando da una finestra di terminale chiamata lsblk -o name,rota . Guarda la colonna ROTA dell'output e vedrai i numeri. A 0 significa nessuna velocità di rotazione o unità SSD. Un 1 indicherà un'unità con piatti che ruotano. La mia Ubuntu è installata sul mio disco /dev/sdb , quindi possiamo vedere che uno indica un 0 che significa che è installato su un'unità SSD. Inserisco questo esempio di come dire dove è installato il tuo SO utilizzando df .

NOTA: Ubuntu che viene installato come client in entrambi i loop o VM mostrerà ROTA 1 indipendentemente dall'installazione del sistema operativo host. Inoltre, " unità ibride a stato solido " e unità flash USB mostreranno anche ROTA 1.

Esempio:

[email protected]:~$ 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

Oppure puoi eseguire il controllo come script di un solo liner usando -d per non mostrare le partizioni:

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

Esempio:

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

Per determinare su quale unità è attiva l'installazione, esegui il comando df da una finestra di terminale e guarda nella colonna Mounted on e quella con / è l'unità su cui è installato il sistema operativo. La colonna FileSystem mostra il dispositivo o /dev/sdb1 associato a / .

NOTA: Le unità configurate con LVM (Logical Volume Management) mostrano effettivamente l'unità come /boot anziché / .

Esempio:

[email protected]:~$ df
Filesystem      1K-blocks       Used  Available Use% Mounted on
udev              4032040          0    4032040   0% /dev
tmpfs              817508       9976     807532   2% /run
/dev/sdb1       222309012   38264268  172728984  19% /
tmpfs             4087520        352    4087168   1% /dev/shm
tmpfs                5120          4       5116   1% /run/lock
tmpfs             4087520          0    4087520   0% /sys/fs/cgroup
/dev/sdf1       244196348  182870888   61325460  75% /media/250GB_SHARE
/dev/sdc1       488385532  332540064  155845468  69% /media/WD500GB
/dev/sdh1       488385532  315052908  173332624  65% /media/320GB
/dev/sdg1       488384532  314763032  173621500  65% /media/500GB
/dev/sde2       233916412   20392712  213523700   9% /media/Windows
/dev/sdd1       976760828  216967888  759792940  23% /media/1TB_SHARE
/dev/sda1      2930253820 1004868460 1925385360  35% /media/Seagate
tmpfs              817508         36     817472   1% /run/user/1000

UPDATE: lsblk può anche essere usato per mostrare dove è installato il sistema operativo e se l'unità è SSD tutto in un unico comando:

lsblk -o NAME,MOUNTPOINT,MODEL,ROTA

Esempio:

[email protected]:~$ 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

Questo è dopo il riavvio del sistema, quindi le mie designazioni di unità sono cambiate di nuovo, ma come puoi vedere le mie unità SanDisk sono SSD e ROTA mostra 0.

Spero che questo aiuti!

    
risposta data Terrance 29.06.2016 - 18:27
1

Alla fine la tua domanda non è davvero una domanda su Ubuntu. Hai un disco rigido con un piccolo, relativo alle dimensioni dell'HD, quantità di memoria flash. Questo viene gestito automaticamente dall'unità e tenta di posizionare i file più frequenti nella parte Flash anziché nella porzione HD. Per quanto ne so non c'è modo di controllare o dire quali file sono su quale parte. Se usi regolarmente Ubuntu, tutti i file importanti dovrebbero finire nella parte flash del tuo disco ma questo è tutto.

    
risposta data Evan Steinbrenner 30.06.2016 - 01:20

Leggi altre domande sui tag