Linux lsblk 输出

Linux lsblk 输出

如果我运行,lsblk以下是我的输出。

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 698.7G  0 disk 
├─sda1   8:1    0   500M  0 part /boot
├─sda2   8:2    0   5.8G  0 part [SWAP]
├─sda3   8:3    0    50G  0 part /
├─sda4   8:4    0     1K  0 part 
└─sda5   8:5    0 642.4G  0 part /home
sr0     11:0    1  1024M  0 rom  

大部分内容都很清楚,但我有三个问题。1
. sr0 是什么,为什么是 RO,为什么 RM 列下有一个 1?它是整个 GB,我很好奇它是用来做什么的。2
. 为什么是sda41K 块?我记得在安装 Fedora 时,我有 1.83MB 的可用空间,但它就是拒绝使用。我猜这应该归我所有sda4?为什么它不使用它?
3. 列是什么MAJ:MIN

答案1

  1. sr0 是您的光学设备,即 DVD 驱动器。RM 下有一个 1,因为它是一个可移动驱动器。它在 RO 列下有一个 0,因为它不是只读设备。它属于 rom 类型,因为它不是磁盘,而是 DVD/CD-只读存储器装置,即光学装置。

  2. sda4 是一个 1k 分区,因为它只是一个分区的外壳。老式磁盘,即具有 ms-dos 类型分区表的磁盘(现代对应物称为 GPT)只能有 4 个主分区。主分区对于某些操作系统(旧版本的 Windows)至关重要,因为它们只能从主分区启动。但是对更多分区的需求导致主分区转变为扩展分区,即可以进一步细分为 64 个(我认为)逻辑分区。通常,扩展分区是最后一个主分区(sda4),并且从不直接使用:取而代之的是,创建第一个逻辑分区,以便保留以后创建更多逻辑分区的可能性。因此,您看到的 1K 仅包含分区信息,仅此而已。

  3. 主设备:次设备是内核内部引用设备的名称。第一个数字向内核标识了它必须使用的设备驱动程序,以便与设备进行通信。因此,例如,如果您有多个 SCSI 磁盘,则它们的主设备号都是 8。如果您有 IDE 磁盘,它们的主设备号是 3,光驱的主设备号都是 11,软盘的主设备号是 2。次设备号在所有使用相同设备驱动程序的设备中标识特定设备:在您的例子中,分区 1-5 的次设备号是 1-5。如果您有第二个 SCSI 磁盘,它们的次设备号将从 16 开始。这些数字过去是固定不变的,即随发行版一起提供,但随着 udev 的出现,它们甚至不需要是全局唯一的,并且可能在启动时有所不同。不过,它们最常见的做法是遵循旧习惯,IDE 磁盘为 3,SCSI 磁盘为 8。

答案2

sr0通常指光学媒体驱动器。

我不知道为什么分区留下了这个1K的分区

上面lsblk --help写着MAJ:MIN major:minor device number。听起来像是一个标识符,但不知道它有什么用处。

相关内容