Come verificare se la mia Ubuntu è posizionata su SSD?

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

Amico, dov’è la mia radice?

Prima di tutto abbiamo bisogno di sapere su quale disco si trova il tuo filesystem di root (in altre parole, quale dispositivo ospita il tuo 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 è posta 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 . . .

Cosa succede se si dispone di 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 smartmontools potrebbe essere necessario installare smartctl per utilizzare il comando smartctl .

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

Aggiornamento aggiuntivo:

C’è un altro metodo, come descritto qui . Ogni unità ha una directory corrispondente in /sys/class/block/ directory, e facendo

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

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

In effetti, è apparentemente lo stesso approccio utilizzato da lsblk :

 $ lsblk -o NAME,ROTA NAME ROTA sda 0 └─sda1 0 sdb 1 ├─sdb1 1 ├─sdb2 1 ├─sdb3 1 ├─sdb4 1 ├─sdb5 1 └─sdb6 1 

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

NOTA: Ubuntu che viene installato come client in entrambi i loop o VM mostrerà ROTA 1 indipendentemente dall’installazione del SO 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 $2}'); if [ ${dd} -eq 0 ]; then echo $(echo $CC | awk '{print $1}') 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 $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 

Per determinare su quale unità è triggers l’installazione, eseguire il comando df da una finestra di terminale e cercare 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 posto di / .

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 

AGGIORNAMENTO: lsblk può essere utilizzato anche 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 avviene dopo il riavvio del sistema, quindi le mie designazioni dell’unità sono cambiate di nuovo, ma come puoi vedere le mie unità SanDisk sono SSD e ROTA 0.


Spero che questo ti aiuti!

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.