交叉帖子来自https://stackoverflow.com/q/63976722/4534
以前我们用过/dev/[sh]d
? ...但现在随着 NVMe SSD /dev/nvme* 驱动器的出现,这不再是事实。
你知道怎么找到安装盘?或者更新/dev/[sh]d
比赛?或者使用/proc/partitions
?
答案1
最可靠的方法是穿越/dev/disk/{by-id,by-label,by-partlabel,by-path,by-uuid}
- 我个人会选择/dev/disk/by-path
。
答案2
一个简单的方法是使用lsblk
命令。
# list all block devices without paritions
lsblk --nodeps
# to exclude any particular type of block device like optical drives
lsblk --nodeps --exclude 11
块设备 ID 的完整列表可以在以下位置找到:https://www.kernel.org/doc/Documentation/admin-guide/devices.txt
答案3
来自启动修复。
All_Hard_Drives=$(ls /dev/hd[a-z] /dev/hd[a-z][a-z] /dev/sd[a-z] /dev/sd[a-z][a-z] /dev/xvd[a-z] /dev/vd[a-z] /dev/vd[a-z][a-z] /dev/nvme[0-9]n[0-9] /dev/nvme[0-9]n[0-9][0-9] /dev/nvme[0-9][0-9]n[0-9] /dev/nvme[0-9][0-9]n[0-9][0-9] /dev/mmcblk[0-9] /dev/mmcblk[0-9][0-9] 2>> ${Trash});
答案4
/sys/block/*
for b in /sys/block/*; do readlink -f $b; done
for b in /sys/block/*; do echo $(cat $b/uevent); done
/sys/class/block/*
如果您还想要分区。
或者:
grep -srl DEVTYPE=disk /sys/devices
grep -srl DEVTYPE=partition /sys/devices