37 lines
887 B
Bash
37 lines
887 B
Bash
#!/bin/bash
|
|
|
|
echo "💽 Drive Report"
|
|
echo "=============================="
|
|
|
|
# Get all physical disks (not partitions)
|
|
DISKS=$(lsblk -d -n -o NAME)
|
|
|
|
for disk in $DISKS; do
|
|
DEV="/dev/$disk"
|
|
|
|
SIZE=$(lsblk -d -n -o SIZE "$DEV")
|
|
MODEL=$(lsblk -d -n -o MODEL "$DEV" | sed 's/ *$//')
|
|
TRAN=$(lsblk -d -n -o TRAN "$DEV")
|
|
ROTA=$(cat /sys/block/$disk/queue/rotational 2>/dev/null)
|
|
|
|
TYPE="Unknown"
|
|
|
|
# NVMe drives are typically M.2 (or PCIe SSD)
|
|
if [[ "$disk" == nvme* ]]; then
|
|
TYPE="M.2 / NVMe SSD"
|
|
else
|
|
if [[ "$ROTA" == "1" ]]; then
|
|
TYPE="HDD (Rotational)"
|
|
elif [[ "$ROTA" == "0" ]]; then
|
|
TYPE="SSD"
|
|
fi
|
|
fi
|
|
|
|
echo "Device: $DEV"
|
|
echo "Model : ${MODEL:-Unknown}"
|
|
echo "Size : $SIZE"
|
|
echo "Bus : ${TRAN:-Unknown}"
|
|
echo "Type : $TYPE"
|
|
echo "------------------------------"
|
|
done
|