當前位置: 首頁>>技術教程>>正文


如何檢查我的 Ubuntu 是否放在 SSD 上?

,

問題描述

我認為已經在 SSD 上安裝了 Ubuntu,但我不確定,我想檢查一下。但我不知道怎麽辦?

最佳思路

夥計,我的根在哪裏?

首先,我們需要知道您的根文件係統位於哪個磁盤上(換句話說,您的 Ubuntu 位於哪個設備上。一種方法是使用 df

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

偉大的 !我現在知道我的 Ubuntu 放在 /dev/sda 磁盤上,大小為 110 GB(另外 10 GB 用於其他用途)。沒有足夠的信息?好的,這個怎麽樣:

$ 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

哦,Radeon R7!那是我的固態硬盤!可是等等 。 . .

如果您有兩個大小相同且製造商相同的磁盤怎麽辦?

好吧,磁盤有這個非常有趣的信息——它們旋轉的速度有多快,而我們知道 SSD 磁盤不旋轉。

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

看起來對嗎?

Side-note:可能需要安裝 smartmontools 才能使用 smartctl 命令。

有關詳細信息,請閱讀 this post on Unix and Linux stackexchange site

額外更新:

還有一種方法,如 here 所述。每個驅動器在 /sys/class/block/ 目錄中都有相應的目錄,通過執行

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

您將獲得硬盤驅動器 1 或固態硬盤 0。這種方法在腳本中使用非常方便

事實上,這顯然與 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

次佳思路

判斷您的操作係統是否安裝在 SSD 上的一種簡單方法是從名為 lsblk -o name,rota 的終端窗口運行命令。查看輸出的 ROTA 列,您將在其中看到數字。 0 表示無轉速或 SSD 驅動器。 1 表示帶有旋轉盤片的驅動器。我的 Ubuntu 安裝在我的 /dev/sdb 驅動器上,所以我們可以看到一個指示 0,這意味著它安裝在 SSD 驅動器上。我在這個示例之後添加了如何使用 df 判斷操作係統的安裝位置。

注意:作為客戶端安裝在循環或 VM 中的 Ubuntu 將顯示 ROTA 1,無論主機操作係統安裝如何。另外,“solid-state hybrid drives”和U盤也會顯示ROTA 1。

例子:

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

或者您可以使用 -d 作為單行腳本進行檢查以不顯示分區:

lsblk -d -o name,rota | awk 'NR>1' | grep -v loop | 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

例子:

terrance@terrance-ubuntu:~$ lsblk -d -o name,rota | awk 'NR>1' | grep -v loop | 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

要確定您的安裝所在的驅動器,請從終端窗口運行命令 df /

注意:使用 LVM(邏輯卷管理)配置的驅動器實際上將驅動器顯示為 /boot 而不是 /

例子:

LVM 驅動器:

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

非 LVM 驅動器:

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

更新:lsblk 也可用於顯示操作係統的安裝位置以及驅動器是否為 SSD 全部在一個命令中:

lsblk -o NAME,MOUNTPOINT,MODEL,ROTA

例子:

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

這是在係統重啟後,所以我的驅動器名稱再次更改,但如您所見,我的 SanDisk 驅動器是 SSD,ROTA 顯示為 0。


希望這可以幫助!

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/13327.html,未經允許,請勿轉載。