我认为已经在SSD上安装了Ubuntu,但是我不确定,我想检查一下。但是我不知道该怎么办?
我认为已经在SSD上安装了Ubuntu,但是我不确定,我想检查一下。但是我不知道该怎么办?
Answers:
杜德,我的根在哪里?
首先,我们需要知道根文件系统位于哪个磁盘上(换句话说,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!可是等等 。。。
如果您有两个大小相同且制造商相同的磁盘,该怎么办?
嗯,磁盘具有非常有趣的信息-旋转速度如何,而且我们知道SSD磁盘不会旋转。
$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'
[sudo] password for xieerqi:
Rotation Rate: Solid State Device
看起来对吗?
边注:在smartmontools
可能需要安装才能使用的smartctl
命令。
有关更多信息,请在Unix和Linux stackexchange网站上阅读此文章。
还有一种方法,描述在这里。每个驱动器在/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
判断您的操作系统是否已安装在SSD上的一种简单方法是从名为的终端窗口中运行命令lsblk -o name,rota
。查看ROTA
输出列,您将在其中看到数字。A 0
表示没有转速或SSD驱动器。A 1
表示驱动器的盘片旋转。我的Ubuntu已安装在我的/dev/sdb
驱动器上,因此我们可以看到一个指示0
,表示它已安装在SSD驱动器上。我把这个例子告诉了我如何使用来告诉你操作系统的安装位置df
。
注意:无论在主机OS的安装情况下,作为客户端安装在循环或VM中的Ubuntu都将显示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
不显示分区的方式将检查作为一个线性脚本执行:
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% /
更新: 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。
希望这可以帮助!
lsblock
是我的光盘驱动器。