如果我想使用整个驱动器,是否需要创建分区?

Noo*_*man 7 linux ssd

这可能听起来很愚蠢,但我在谷歌上搜索了很多,发现了很多不同的方法。

基本上,我只是在系统中添加了一个新驱动器并mkfs.ext4在其上运行(用它来安装游戏)。

从那时起我就一直很好地使用该驱动器(在 Linux 上)。尽管每当我启动到 Windows(显然我不使用该驱动器)时,它都会困扰我并告诉我应该选择 GPT 或 MBR 来初始化该驱动器。

我现在有点困惑,想知道我是否做错了什么?我认为只有当我确实在该驱动器上有分区时才需要 GPT 或 MBR。从长远来看,这会导致我在 Linux 上出现问题吗?我应该忽略有关该问题的 Windows 消息,还是应该使用 GPT/MBR 在该驱动器上创建单个分区?

har*_*ymc 11

Linux 不需要分区表,可以直接在/dev/sdb您的设备上创建文件系统。情况一直如此,并且曾经是软盘的标准配置。显然,这就是您对这张磁盘所做的事情。

然而,Windows 需要创建为 GPT 或 MBR 的分区表。对于 Windows,您的磁盘未格式化,因此它会询问您如何格式化它。这样做当然会删除您的所有数据。

您可以忽略 Windows 的此消息。如果Windows的信息太烦人,你想停止它,你需要格式化磁盘,然后在Linux下创建一个分区,并将分区格式化为ext4。在执行此操作之前备份您的数据。

Windows 会忽略 ext4 分区,而 ext4 分区无论如何都得不到很好的支持,并且通常需要第三方工具才能在 Windows 中使用。

要在 GPT 和 MBR 之间进行选择,最好选择 GPT,如 本答案中所述。

  • FWIW肯定会创建分区表。否则,迟早你会不小心点击“现在格式化?” 按钮并丢失所有数据。在 UNIX/Linux 世界中,还建议您创建跨整个磁盘的单个分区,而不是在没有分区表的情况下直接使用磁盘。(有些工具非常乐意在不告诉您的情况下写入磁盘的前几个块。是的。真的。) (11认同)
  • 不是那么愚蠢的伎俩。ext2 不使用磁盘的第一个扇区,因此向其中写入一个 MBR 分区,该分区覆盖从柱面 0 磁头 0 扇区 1 开始的整个磁盘。将其类型设置为 A2h(这大约是唯一表示映像的内容),这样Windows 不会干扰它,Linux 工具不会做任何有趣的事情,比如检测错误的类型。只是不挂载两个sd吗?由于内核错误,同时使用 sd?1 设备。 (4认同)
  • @9072997:正确,但是没有带有“分区类型”字段的分区表来告诉微软这是一个有效但不受支持的文件系统。如果没有这些元数据,Windows 只能通过魔术来识别文件系统,并且无法区分“不存在”和“无法识别”之间的区别 (3认同)
  • @ChrisDavies 正是出于这个原因,理智的文件系统和卷管理器不会触及卷的前几个块。不过,使用分区表仍然是一个好主意,因为这可以让您知道数据应该是什么(并且使用 GPT,在某些情况下您也可以得到_真正_具体的信息,这有时非常有帮助)。 (3认同)