tki*_*kit 4 linux filesystems partition gpt
如果我删除单个分区,所有剩余的分区标签会发生什么情况?
例如,如果我有一个如下所示的布局:
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
/dev/sda5
Run Code Online (Sandbox Code Playgroud)
如果我删除 /dev/sda2 将 /dev/sda3、/dev/sda4 和 /dev/sda5 “移动”他们的数字,我会得到这个:
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
Run Code Online (Sandbox Code Playgroud)
或者“差距”是否会留在那里而不对标签进行任何更改,给我这个:
/dev/sda1
/dev/sda3
/dev/sda4
/dev/sda5
Run Code Online (Sandbox Code Playgroud)
传统上,x86 硬件上的 Linux 使用MSDOS 分区表。在这种情况下,删除/dev/sda2不会将任何编号较高的分区向下移动,因为主分区的作用类似于“插槽”:您可以按您喜欢的任何顺序使用它们,并且删除一个不会影响任何其他分区。
相反,如果你有sda{1-7}与sda4作为扩展分区和sda{5-7}该扩展分区中存在的逻辑分区,删除sda6 将转向sda7下来。逻辑分区只是在这方面表现不同。
较新版本的 Linux 正在切换到GPT 分区表,尽管这是一个缓慢的过程,因为目前存在阻止批量切换的限制。
在 GPT 情况下,您不需要使用扩展分区来在单个磁盘上获得 4 个以上的分区,并且与 MSDOS 主分区一样,GPT 分区号就像插槽一样工作。您可以从一个范围的中间删除一个分区,只留下一个洞,现有的分区保留它们的编号。如果你再创建一个新的,它会填满这个洞。
但是,您的问题是关于分区标签的,到目前为止我所谈论的一切都与标签无关。在 Linux 中使用的分区标签是文件系统的属性,而不是分区表。它们的存在是为了防止对设备名称的更改导致挂载文件系统出现问题。通过使用文件系统标签,您不必担心设备名称更改,因为您是按标签而不是设备名称安装分区。这在像 USB 这样的设备命名方案是动态的情况下特别有用,并且部分取决于自上次重新启动以来先前插入的内容。
Linuxmkfs.*程序通常使用-L标志来指定标签。
要按标签而不是按设备名称挂载分区,请LABEL=mypartname在 的第一列中使用/etc/fstab。如果您检查当前/etc/fstab,您可能会发现已经以这种方式安装了分区。为方便起见,Linux GUI 安装程序通常会为您执行此操作。
你也可以通过标签交互地挂载文件系统,方法是将标签传递-L给mount(8)。
GPT 确实允许您命名分区,但我不知道它与上面讨论的任何内容有关。
编辑:您使用 GPT 获得的一件事与此处相关,但是,是每个分区的唯一标识符,称为 UUID。它们的工作方式与标签类似,但在几个方面有所不同:
UUID 会自动分配伪随机数,而不是您自己选择的逻辑名称。
您可以使用-U,而不是-L到mount(8)一个分区的UUID而不是标签。
您使用UUID=big-ugly-hex-number而不是LABEL=mynicelabelin /etc/fstab。
它们是分区的属性,而不是文件系统,因此只要您可以使用 GPT,它们将适用于任何文件系统。一个很好的例子是 U 盘上的 FAT32 分区:FAT32 没有文件系统标签,而且由于它在 U 盘上,您无法可靠地预测/dev/sd*它将获得哪个名称。
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |