格式化 msftres、msftdata 和隐藏分区是否安全?

我有一台搭载1TB硬盘、24GB固态硬盘和预装Windows 8的宏碁V7笔记本电脑。我已经将Ubuntu安装到了固态硬盘上,并且格式化了主要的硬盘分区。然而,我还注意到硬盘上有3个其他分区,标记为msftres和msftdata。如果我也格式化这些分区,以便拥有一个连续的硬盘分区,是否会删除一些重要的引导或BIOS数据?

1这些是微软Windows的分区。如果你不使用Windows并且不想进行Windows恢复,你可以删除它们。 - thom
可能会有一个UEFI(EFI)分区的地方。为了让UEFI(BIOS的新型替代品)正常工作,您可能需要保留它。 - user68186
无论如何,我还是使用传统引导方式安装了Ubuntu,所以应该没关系吧? - db579
1个回答

“flags”在parted或GParted中显示的内容可能指的是不同的事物。在GPT磁盘上常见的一些包括:
  • msftres -- 这个标志意味着“Microsoft保留”。它被某些微软工具用作“临时空间”,因此不应删除或重新使用,除非您要删除Windows。请参阅有关这种分区类型的维基百科条目以获取更多信息。
  • msftdata -- 这个标志标识一个Microsoft Basic Data分区。它通常包含一个微软文件系统,如FAT或NTFS,所以这些分区将包括您的C:分区,以及可能的恢复或数据分区。除非您完全了解分区上的数据类型并希望删除它,否则不应删除或更改它们。请注意,Linux曾经使用相同的类型代码来标识自己的分区,所以您也可能在Linux分区上看到此标志。两年前,创建了一个新的Linux特定类型代码,并且带有该类型代码的Linux分区将显示为未设置任何标志。只有最近才开始发布支持识别新Linux特定类型代码的libparted版本。 "msftdata标志"也是在那个新版本的libparted中出现的。
  • boot -- 在GPT磁盘上,这个标志标识一个EFI系统分区(ESP)。除非您知道自己在做什么,否则绝对不要对此分区进行更改。同样,您不应在任何其他分区上设置“boot标志”,甚至不要在Linux的/boot分区上设置。请注意,“boot标志”在MBR磁盘上有完全不同的含义。在这种磁盘上,通常会在Linux的/boot/分区上设置“boot标志”,尽管通常不要求这样做。
  • bios_grub -- 这个标志标识一个BIOS引导分区,它是BIOS模式下 GRUB 用于存储引导代码的分区。在使用EFI引导的计算机上,您通常不需要这样的分区。如果您从BIOS模式切换到EFI模式安装,可以安全地删除此分区,但由于BIOS引导分区通常非常小(~1MiB),您将无法恢复很多空间。
  • legacy_boot -- 与我刚才描述的所有标志不同,这个标志对应于类型代码;相反,它标识了GPT属性。GPT-aware版本的SYSLINUX使用此属性来标识可引导的分区。也就是说,它的作用类似于MBR磁盘上的“boot标志”。对于大多数工具来说,此标志都是无关紧要的;您可以根据需要设置或删除它。
  • hidden -- 与“legacy_boot”类似,这个标志是一个GPT属性,而不是分区类型代码。它标识EFI应忽略的分区。但根据我的经验,大多数EFI都会忽略此标志,所以它实际上并没有太多用处。某些计算机在某些分区上设置了此标志。

您可以在GPT的维基百科条目中了解更多关于这些以及其他GPT类型代码的信息。请注意,由parted和GParted分配的“标志”名称是特定于libparted的。其他工具(如GPT fdisk或Windows分区工具)有其他方法来引用GPT类型代码。(很少有程序直接使用这些代码,因为它们是冗长而笨拙的十六进制数字。)

请注意,libparted使用相同的“标志”概念来识别两个完全不同的数据结构:分区类型代码和分区属性。类型代码是互斥的;一个分区可以是ESP或Microsoft基本数据分区,但不能同时是两者。因此,如果您在ESP上删除“引导标志”,它很可能会弹出一个“msftdata标志”,因为ESP使用FAT,而FAT分区默认带有“msftdata标志”。(在较旧版本的libparted中,“msftdata标志”不存在,所以该分区将没有标志。)一个分区可以具有多个属性,因此它可以同时设置“隐藏标志”和“legacy_boot”标志。它还可以设置类型代码标志,例如这两个加上“bios_grub”。这种对“标志”概念的双重使用令人困惑。GPT fdisk(gdisk和相关程序)通过使用两字节的十六进制代码(如EF00或8300)来区分这些概念,并将属性报告为此类代码。

如果一个 mdadm-RAID1 的成员设备具有 msftdata 标志,可能的原因是什么? - buhtz
1很有可能是类型代码设置错误。可能是在重新使用现有分区时没有更改类型代码,或者在设置RAID配置时设置错误,或者在设置RAID配置后错误地更改了类型代码。 - Rod Smith
我刚刚执行了mdadm --assemble /dev/mdX /dev/sdXY命令,它成功了。但是自动化的mdadm无法找到超级块。 - buhtz