UbuntuをSSDにインストールしたと思いますが、よくわかりません。これを確認したいと思います。しかし、私は方法がわかりませんか?
おい、私のルートはどこ?
まず、ルートファイルシステムがどのディスクにあるかを知る必要があります(つまり、どのデバイスが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
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を示しています。
お役に立てれば!
結局のところ、あなたの質問はUbuntuの質問ではありません。 HDのサイズに対して、フラッシュストレージの容量が小さいハードドライブがあります。これはドライブによって自動的に管理され、より頻繁にアクセスされるファイルをHD部分ではなくFlash部分に配置しようとします。私の知る限り、どのファイルがどの部分にあるかを制御したり、伝える方法はありません。 Ubuntuを定期的に使用する場合、重要なファイルはすべてドライブのフラッシュ部分に格納されるはずですが、それで終わりです。