/dev/sdX
Linux可以识别普通的闪存驱动器。
/dev/sdX
这个原料叫什么,特别是在安装之前。
当它被安装时,就像/mountpath/sdX1
它有一个分区一样,对吗?
这里的术语是什么?我们如何命名这些?
还有哪些其他可能性?我知道sdX
应该是指 SCSI,但是当您连接闪存驱动器或外部硬盘或 USB 软盘驱动器/光盘驱动器时,还能期待什么?
答案1
中的文件/dev
是特殊文件代表块设备。这些文件是在设备连接时由内核创建的(乌德夫然后为它们创建多个“用户友好”符号链接)。您将获得磁盘和分区的单独设备文件。格式/名称取决于设备的类型,最常见的是/dev/sdX
SATA/SCSI 驱动器和/dev/nvmenX
NVMe 驱动器(或更准确地说是 NVMe 命名空间),但其他也是可能的(/dev/vdX
以及/dev/xvdX
虚拟驱动器、/dev/hdX
IDE 驱动器/dev/mmcblkX
、 eMMC 卡等)。
分区的格式始终为磁盘名称+编号或者磁盘名称 + p + 编号如果磁盘名称以数字结尾。因此,第一个分区将/dev/sda1
用于sda
驱动器和NVMe/dev/nvme0n1p1
驱动nvme0n1
器(其上的第一个命名空间)。
然后是你山将这些设备(或者更准确地说这些设备上的文件系统)连接到挂载点以使设备(文件系统)的内容可用。挂载点只是一个常规(空)目录。您可以将其命名为任何您想要的名称,安装点名称根本不必与设备相关 - 当您安装设备时,您可以指定安装点,例如mount /dev/sdxY /my/shiny/little/mountpoint
.一些从 GUI 进行安装的用户空间工具在安装点中使用文件系统标签或 UUID,例如/media/<username>/<filesystem label>
,但这只是工具的一个选择。
答案2
如果你在 linux 下查看,/dev/disk
你会看到以下文件夹
by-id/
by-label/
by-partlabel/
by-partuuid/
by-path/
by-uuid/
安装设备按名字/dev/sdX#
我相信只是参考Linux如何将多个磁盘映射到sdb和sdc等的约定是不可靠的。
相反,请按照更明确的约定进行挂载,例如如果您知道自己没有使用相同标签标记其他磁盘,则可以通过标签进行挂载,因此您不能 100% 地依赖按标签。我认为最常见、最可靠的是by-uuid。
该lsblk
命令可能是识别连接到系统的磁盘的最佳工具,但开箱即用时它却存在不足。使用以下别名并运行lsblk2
,您将获得了解正在发生的情况所需的所有信息。
alias lsblk2='lsblk -o type,name,label,partlabel,size,fstype,model,serial,wwn,uuid'
然后将 uuid 分配给要挂载的磁盘,然后就可以执行此操作。
或者看看/dev/sd?#
它链接到哪个然后做mount /dev/sd?# /whatever