A maneira mais fácil que eu conheço (não requer raiz):
inxi -Dplxx
Isso gera todos os discos, suas séries e qualquer informação extra. -p adiciona partições. -l adiciona rótulos. -u adiciona UUID para as partições.
Além disso, é muito mais fácil de lembrar, heh.
Amostra:
inxi -Dxx
Drives: HDD Total Size: 810.2GB (42.9% used)
ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
Observe que isso filtra as unidades ópticas. Para ver dados ópticos:
inxi -Dxxd
Drives: HDD Total Size: 810.2GB (42.9% used)
ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
Optical-1: /dev/sr0 model: LITE-ON DVDRW SOHW-1693S
rev: KS09 dev-links: dvd,dvdrw
Features: speed: 48x multisession: yes
audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r state: running
Optical-2: /dev/sr1 model: LITE-ON LTR-52327S rev: QS0C dev-links: cdrom,cdrw
Features: speed: 52x multisession: yes
audio: yes dvd: no rw: cd-r,cd-rw state: running
Note que no meu sistema Debian, o lsblk não mostra nada para seriados, seja como root ou usuário. É por isso que o inxi usa um método muito mais confiável para obter esses dados.
lsblk --nodeps -o name,serial
NAME SERIAL
fd0
sda
sdb
sdc
sdd
sr0
sr1
lsblk --version
lsblk from util-linux 2.25.2
Como você pode ver, para o lsblk, ele acha que uma unidade óptica e uma unidade de disquete também são discos, que, em certo sentido, são, embora não realmente, já que não se tornam discos até que um disco seja inserido. E não mostra nada para serial, também pelo jeito não mostra nada para outros valores, como label. Definitivamente um bug já que esses dados estão disponíveis para o sistema, é onde o inxi os obtém, direto.