![Linux 中的硬盘驱动器/设备分区命名约定](https://linux22.com/image/41944/Linux%20%E4%B8%AD%E7%9A%84%E7%A1%AC%E7%9B%98%E9%A9%B1%E5%8A%A8%E5%99%A8%2F%E8%AE%BE%E5%A4%87%E5%88%86%E5%8C%BA%E5%91%BD%E5%90%8D%E7%BA%A6%E5%AE%9A.png)
Linux 中的硬盘驱动器/设备分区命名约定是什么?例如,,[hd0,0]
等等sd0
。它到底是什么意思?
当我需要在同一台机器上安装多个操作系统时,这有什么意义?
我们如何将它与 Windows 分区(例如:C:\
驱动器或D:\
驱动器)联系起来?
答案1
约定会根据您所查看的内容而变化;hd0,0
看起来与 GRUB 类似,而sd0
与 中的条目类似/dev
,但都不符合我通常看到的内容。
在/dev
:
- IDE 驱动器以 开头
hd
,而 SATA(我相信任何类型的串行设备)以sd
a
驱动器按电缆顺序以字母开头,/dev/sda
第一个串行驱动器也是如此,/dev/hdb
第二个 IDE 驱动器也是如此- 驱动器上的分区编号从 1 开始,
/dev/sdb1
第二个串行驱动器上的第一个分区也是如此
GRUB 1 不区分驱动器类型,它始终采用以下形式(hdX, Y)
:
X
是驱动器的编号,从 0 开始,所以sda
ishd0
、sdb
ishd1
等。Y
是分区的编号,从0(不是 1 之类的/dev
),也是sda1
如此(hd0, 0)
我相信 GRUB 2 使用不同的语法,但我不知道
当您安装多个操作系统时,如果您想将它们放在单独的分区上,这一点很重要——您需要跟踪哪个操作系统位于何处。每当您处理未安装的驱动器时,这都非常重要;你需要知道它/
已经打开/dev/sda1
并且/home
正在打开/dev/sda2
(例如)
据我所知,Windows磁盘从磁盘0开始,分区没有任何特定的编号。驱动器盘符可以根据您的喜好进行分配,并且不与特定分区绑定
答案2
(hd0,0)
是蛴螬句法。 (请注意,这些是括号,而不是方括号。)Grub 是一个引导加载程序,即由计算机 BIOS 启动的一个小程序,其任务是加载操作系统。hd0
引用检测到的第一个驱动器BIOS,hd1
参考第二个。第二个数字是分区号; Grub 1 从 0 开始,而 Grub 2 从 1 开始。参见Grub 手册中的“命名约定”如果您想了解更多详细信息。
/dev/sda
、/dev/sdb
等是默认名称硬盘(以及其他类似的存储,例如各种闪存盘,但不包括 CD 或磁带驱动器)Linux。最后一个字母按照检测到磁盘的顺序增长。您可能会在某些 Linux 发行版上找到/dev/hda
、/dev/hdb
等。sd
表示磁盘驱动程序内部使用SCSI接口,而hd
表示驱动程序内部使用IDE接口。这只是一个内部内核问题,您可以而且经常将 IDE 磁盘显示为sd
.额外的数字是分区号,从 1 开始。
您可能会遇到的分区如下PC分区方案。一个磁盘最多有 4 个主分区,编号为 1 到 4(在 Grub 1 中为 0 到 3)。它还可以具有任意数量的逻辑分区,在这种情况下,主分区之一不能包含文件系统,而必须是扩展分区(逻辑分区的容器)。逻辑分区从 5 开始编号(Grub 1 中从 4 开始)。
Linux 使用的设备文件(例如 )的名称/dev/sda
实际上是由乌德夫程序,并且可以配置。这在涉及可移动介质的高级情况下通常很有用。
大多数时候,您不需要关心设备名称。它们在极少数地方被引用,通常只有两个:引导加载程序配置(正如我们所见,Grub 无论如何都有自己的名称)和/etc/fstab
列出要在引导时挂载的文件系统的文件。 (甚至/etc/fstab
并不总是通过诸如 之类的名称引用分区/dev/sda1
。)重要的是挂载点,即每个文件系统挂载的位置(目录)。
Windows 使用完全不同的命名方案,很难与底层硬件结构联系起来。c:
、d:
等被分配给 Windows 按特定顺序识别的分区类型(并且有多种方法可以影响此顺序)。维基百科有详细信息。
答案3
在我的 slackware 机器上,/dev/hda 是检测到的第一个硬盘驱动器。
/dev/hda1 和 /dev/hda2 是前两个分区。
我可以使用 fdisk 查看分区。
/dev/hda1 1 124 995998+ 82 Linux swap
/dev/hda2 * 125 1662 12353985 83 Linux
在我的 Fedora 盒子上,/dev/sda 是检测到的第一个硬盘驱动器。
/dev/sda1 和 /dev/sda2 将是前两个分区。