web-dev-qa-db-ja.com

UbuntuがSSDに配置されているかどうかを確認するにはどうすればよいですか?

UbuntuをSSDにインストールしたと思いますが、よくわかりません。これを確認したいと思います。しかし、私は方法がわかりませんか?

24
moonlight

おい、私のルートはどこ?

まず、ルートファイルシステムがどのディスクにあるかを知る必要があります(つまり、どのデバイスがUbuntuを収容しているのか。1つの方法はdfです。

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

すばらしいです !これで、Ubuntuが/dev/sdaディスクに配置され、サイズが110 GBであることがわかりました(他の10 GBは他の何かに使用されます)。情報が足りない? OK、これはどうですか:

$ 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です!ちょっと待って 。 。 。

同じサイズで同じメーカーの2つのディスクがある場合はどうなりますか?

さて、ディスクにはこの非常に興味深い情報があります-どのくらいの速さで回転するか、そして私たちが知っているようにSSDディスクは回転しません

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

右に見える?

補足:smartmontoolsコマンドを使用するには、smartctlのインストールが必要な場合があります。

詳細については、 nixおよびLinuxスタック交換サイトのこの投稿 を参照してください。

追加の更新:

here で説明したように、もう1つのメソッドがあります。各ドライブには、/sys/class/block/ディレクトリに対応するディレクトリがあります。

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

ハードドライブの場合は1、ssdの場合は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
37

OSがSSDにインストールされているかどうかを確認する簡単な方法は、lsblk -o name,rotaというターミナルウィンドウからコマンドを実行することです。出力のROTA列を見ると、数字が表示されます。 0は、回転速度またはSSDドライブがないことを意味します。 1は、回転するプラッターのあるドライブを示します。 Ubuntuは/dev/sdbドライブにインストールされているため、SSDドライブにインストールされていることを意味する0を示していることがわかります。この例の後に、dfを使用してOSがインストールされている場所を特定する方法を示します。

注:ループまたはVMのいずれかのクライアントとしてインストールされたUbuntuは、ホストOSのインストールに関係なくROTA 1を表示します。また、「 ソリッドステートハイブリッドドライブ 」およびUSBフラッシュドライブにも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を使用して1つのライナースクリプトとしてチェックを行い、パーティションを表示できません。

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

例:

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

インストールされているドライブを確認するには、ターミナルウィンドウから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% /

UPDATE:lsblkは、OSがインストールされている場所と、ドライブがSSDであるかどうかをすべて1つのコマンドで表示するためにも使用できます。

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を示しています。


お役に立てれば!

18
Terrance

結局のところ、あなたの質問はUbuntuの質問ではありません。 HDのサイズに対して、フラッシュストレージの容量が小さいハードドライブがあります。これはドライブによって自動的に管理され、より頻繁にアクセスされるファイルをHD部分ではなくFlash部分に配置しようとします。私の知る限り、どのファイルがどの部分にあるかを制御したり、伝える方法はありません。 Ubuntuを定期的に使用する場合、重要なファイルはすべてドライブのフラッシュ部分に格納されるはずですが、それで終わりです。

1