Я думаю, что установил Ubuntu на SSD, но я не уверен, и я хочу проверить это. Но я не знаю, как?
Я думаю, что установил Ubuntu на SSD, но я не уверен, и я хочу проверить это. Но я не знаю, как?
Ответы:
Чувак, где мой корень?
Прежде всего, нам нужно знать, на каком диске находится ваша корневая файловая система (другими словами, на каком устройстве находится ваша Ubuntu. Один из способов - с помощью df
.
$ df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 110G 58G 48G 55% /
Большой ! Теперь я знаю, что моя Ubuntu размещена на /dev/sda
диске размером 110 ГБ (остальные 10 ГБ используются для чего-то другого). Недостаточно информации? Хорошо, как насчет этого:
$ 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 site
Есть еще один метод, как описано здесь . Каждый диск имеет соответствующий каталог в /sys/class/block/
каталоге, и, делая
cat /sys/class/block/DEVICE_NAME/queue/rotational
Вы получите либо 1 для жесткого диска или 0 для SSD. Этот подход очень удобен для использования в скриптах
На самом деле, это тот же подход, который 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. A 1
указывает на диск с вращающимися пластинами. Моя Ubuntu установлена на моем /dev/sdb
диске, поэтому мы видим, что один указывает на, 0
что означает, что он установлен на SSD-диске. Я привел после этого примера, как сказать, где установлена ваша ОС с помощью df
.
ПРИМЕЧАНИЕ. 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 Drive:
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 являются твердотельными накопителями, а ROTA показывает 0.
Надеюсь это поможет!
lsblock
- мой оптический привод.
В конце концов, ваш вопрос не является вопросом Ubuntu. У вас есть жесткий диск с небольшим, относительно размера HD, объемом флэш-памяти. Это автоматически управляется дисководом и пытается разместить наиболее часто используемые файлы в разделе Flash, а не в разделе HD. Насколько я знаю, нет никакого способа контролировать или сказать, какие файлы в какой части. Если вы регулярно используете Ubuntu, все важные файлы должны оказаться во флэш-памяти вашего диска, но это все.