在使用 gdisk 的过程中,有一个选项可以指定十六进制代码。我想知道它是什么以及为什么需要它,请参见下文。例如,如果我在我的驱动器上创建软件 RAID,我假设我需要代码 fd00。但为什么?它是什么,我必须使用它吗?为什么我不能使用 8300 创建我的 raid 阵列(不管这意味着什么)?
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-5860533134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-5860533134, default = 5860533134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
4100 PowerPC PReP boot 4200 Windows LDM data 4201 Windows LDM metadata
7501 IBM GPFS 7f00 ChromeOS kernel 7f01 ChromeOS root
7f02 ChromeOS reserved 8200 Linux swap 8300 Linux filesystem
8301 Linux reserved 8302 Linux /home 8400 Intel Rapid Start
8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot
a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS
a505 FreeBSD Vinum/RAID a580 Midnight BSD data a581 Midnight BSD boot
a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS
a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap
a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated
a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot
af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline
af03 Apple label af04 AppleTV recovery af05 Apple Core Storage
be00 Solaris boot bf00 Solaris root bf01 Solaris /usr & Mac Z
bf02 Solaris swap bf03 Solaris backup bf04 Solaris /var
bf05 Solaris /home bf06 Solaris alternate se bf07 Solaris Reserved 1
bf08 Solaris Reserved 2 bf09 Solaris Reserved 3 bf0a Solaris Reserved 4
bf0b Solaris Reserved 5 c001 HP-UX data c002 HP-UX service
ea00 Freedesktop $BOOT eb00 Haiku BFS ed00 Sony system partitio
ef00 EFI System ef01 MBR partition scheme ef02 BIOS boot partition
Press the key to see more codes:
fb00 VMWare VMFS fb01 VMWare reserved fc00 VMWare kcore crash p
fd00 Linux RAID
Run Code Online (Sandbox Code Playgroud)
Rod*_*ith 23
kyodake 的答案是正确的,但它也相当以 MBR 为中心。在 GPT 下,同样的原则适用——也就是说,分区类型代码标识分区的预期用途。不同之处在于 GPT 类型代码是 128 位 GUID,而 MBR 下使用的是 8 位代码。GUID 的性质意味着不需要向中央机构注册代码以避免冲突;两个 GUID 在统计上不太可能偶然相同。
AFAIK,没有 GPT 类型代码的官方存储库,但它们记录在关于 GPT 的维基百科页面上。GPT 类型代码的一个缺点是,作为 GUID,它们又长又笨拙——例如,0FC63DAF-8483-4772-8E79-3D69D8477DE4 用于 Linux 文件系统数据,而 0x83 用于等效的 MBR。因此,大多数 GPT 磁盘分区工具在其用户界面中使用某种形式的“速记”或“自然语言翻译”。我是 GPT fdisk 的作者,作为我写作的目标,它是创建类似于 (MBR) 的东西fdisk尽可能地,我采取了以MBR代码为基础的方法;但是,由于 GPT 和 MBR 类型代码之间的对应关系不是 1:1,我将 MBR 类型代码乘以 0x100 以获得 GPT 等效项。这样,MBR的0x83就变成了8300。这也使得MBR中不存在的相关后续代码,如8301、8302等,这些代码对于已经熟悉MBR等价物的人来说很容易使用,但是他们对于不知道 MBR 代码的人来说,这无疑是任意的。在内部,GPT fdisk 将这些代码转换为 GUID。您可以通过查看详细的分区信息(例如,通过 中的i选项gdisk)来查看实际的 GUID 。您还可以输入任意 GUID 而不是使用 GPT fdisk 四字符代码,
其他工具使用其他方法。libparted 库(以及partedGParted 和其他基于 libparted 的工具)将某些类型代码转换为“标志”并完全隐藏其他代码。这有助于为某些用户简化事情,但它使某些任务变得不可能——例如,您不能使用基于 libparted 的任何内容设置任意类型的代码。OS X 的磁盘工具将已知的 GUID 转换为纯文本描述。(IIRC,当您创建分区时,它会根据分区中创建的文件系统设置适当的类型代码,类似于 GParted 所做的。)
大多数情况下,Linux 不使用 MBR 或 GPT 的类型代码。也就是说,您可以将标准 Linux 文件系统放在 (GPT fdisk) 8300 分区上,或者使用 0700(过去很常见),或者分配您自己的随机 GUID。类似的注释适用于 RAID、LVM、交换和其他分区类型。不过,这条规则也有一些例外。一方面,发行版安装人员经常查看和设置类型代码,因此您可能需要在分区上正确使用类型代码才能正确使用它。另一个例外是 systemd 开始使用类型代码作为后备,如果/etc/fstab没有正确配置。(这就是大部分 GPT fdisk 830x 代码的来源——它们是可发现分区规范的一部分,这是 Freedesktop/systemd 的一项倡议。)目前,Ubuntu 只是使用主要的 Linux 文件系统类型代码(GPT fdisk 中的 8300)作为文件系统,加上适当的 LVM、RAID、交换等代码。“Linux不使用类型代码”规则是 BIOS 引导分区代码(21686148-6449-6E6F-744E-656564454649;ef02 在 GPT fdisk 或bios_grublibparted 中的标志)。此类型代码标识 GRUB 使用的分区,当您运行 时grub-install,GRUB 会将自身的一部分安装到该分区。如果在带有 GPT 磁盘的 BIOS 引导系统上安装 GRUB,则通常必须存在 BIOS 引导分区。(不过,有一些方法可以绕过此规则。)更重要的是,如果您错误地将此类型代码设置在错误的分区上,那么在安装 GRUB 时该分区将被损坏!我在各种在线论坛上看到不少人犯了这个错误。
类型代码在处理其他操作系统时变得更加重要。例如,Windows 和 OS X 往往不会接触带有它们不认识的类型代码的分区。他们的类型代码列表不包括常见的 Linux 特定类型代码,因此使用 Linux 特定类型代码有助于降低 Windows 或 OS X 将您的 Ubuntu 安装破坏的风险。不过,这些操作系统并不关心您是使用 GPT fdisk 8300 还是 fd00 代码。如果您使用这些其他操作系统可识别的代码,则可能会出现问题。例如,曾经不存在 Linux 文件系统类型 GUID (0FC63DAF-8483-4772-8E79-3D69D8477DE4)。我创建了它并将它推送到我自己的 GPT fdisk 和 libparted 中,因为使用“Microsoft 基本数据”类型代码 (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) 的常见做法在双引导设置中导致问题。具体来说,某些 Windows 工具会认为 Linux 分区是损坏或未初始化的 Windows 分区,并提供准备它。在此提示下的用户错误将是灾难性的。看关于这个主题的更多信息,我的这个页面。
分区表中使用的已分配分区类型列表最初由 IBM 和 Microsoft 内部维护。
随着 PC 操作系统和磁盘工具市场的发展和解放,其他供应商也需要为其产品分配特殊的分区类型。
20世纪90年代,一些行业专家开始研究分区类型并发布分区类型列表,以帮助记录行业事实上的标准,从而减少进一步冲突的风险。
如何解释该值取决于操作系统的引导加载程序和/或内核。因此,该表指定了哪些操作系统或磁盘相关产品最初引入了 ID,以及它们将其映射到什么文件系统或特殊分区类型。
分区 ID:83h。类型:文件系统。起源:GNU/Linux。描述:任何本机 Linux 文件系统。
分区ID:FDh。起源:GNU/Linux。支持:Linux。描述:具有自动检测功能的 Linux RAID 超级块。
| 归档时间: |
|
| 查看次数: |
25532 次 |
| 最近记录: |