我最近对我的分区做了如下更改:
之前,我有 3 个驱动器,分别名为:C 150 GiB、D 400 GiB、E: 450 GiB。我在 C: 上安装了 Windows 8.1 和分区管理器软件 (EaseUS),并做了一些更改。我将 D: 中的 250 GiB 合并到 E:,将 E: 重命名为 D:,剩余的 150 GiB 命名为 Q:
我在 Q: (ext3 FS) 上成功安装了 Linux Mint,现在我有一台可以正常工作的双操作系统笔记本电脑。问题是 Windows 8.1 仍然将驱动器 Q: 显示为空的 NTFS 驱动器。据我所知,安装 Linux 后,Windows 不应再显示其分区。出了什么问题?
答案1
您描述的症状是由于 Linux 分区的分区类型代码不正确而导致的。正确的解决方案是更改该类型代码。具体操作方法取决于您使用的分区软件。例如:
- 启动到 Linux。
- 键入
df
以查看您已挂载的文件系统并确定哪些文件系统对应于分区/dev/sda
(假设这是您的磁盘;如果不是,请在此处和本过程的其余部分进行调整)。 - 类型
sudo gdisk /dev/sda
。 - 如果
gdisk
产生的输出包含以下内容MBR: MBR only
,并抱怨它正在将 MBR 数据转换为 GPT 格式,请q
立即输入!您也可以fdisk
在磁盘上启动(sudo fdisk /dev/sda
),过程大致相同,但有一个重要的区别(如下所述)。 - 键入
p
以查看分区表并验证其是否合理。您的 Linux 分区中至少有一个类型代码可能为 0700(或fdisk
MBR 磁盘上的 07)。 - 键入
t
以更改分区的类型代码。出现提示时,输入具有错误类型代码的分区的编号,并将其更改为 8300(或使用 时在 MBR 磁盘上为 83fdisk
)。 - 如果有必要,请对其他任何错误识别的分区重复步骤 5。(听起来你只有一个。)
- 再次输入
p
以查看分区表。将其与之前看到的内容进行比较,确保它们相同除了对于您已更改其类型代码的分区。如果您看到意外更改,请键入q
退出而不保存这些更改并重新开始。(两者都gdisk
将fdisk
其更改保留在内存中,直到您保存它们。) - 键入
w
保存更改。程序将要求确认。输入确认。
此后,Windows 不再为 Linux 分区分配驱动器号。与 Aaron 提供的解决方案(基本上是“掩盖”问题)不同,即使您完全删除并重新安装 Windows,或者使用紧急磁盘进行维护,此解决方案仍将继续工作。
这个问题可能由多种原因引起,包括使用非常旧的软件来准备磁盘(Linux习惯您可能已经意识到,在创建 Linux 分区时,您可能会遇到许多问题(例如,您可能不知道如何“搭载” GPT 磁盘的 Windows 类型代码,这是一个坏主意)、使用 Windows 分区软件创建 Linux 分区,或者在准备分区时出现用户错误。
有关此问题的更多信息,包括 Linux 原生 GPT 类型代码的开发历史,请参阅我的这个页面。
请注意,Windows 分区工具将显示所有分区,即使是那些在 Windows 中未分配驱动器号的分区。这是正常且可取的——分区工具的运行级别低于大多数其他工具,因此它们必须能够查看并操作属于其他操作系统的分区。
答案2
右键单击“开始”按钮并选择“磁盘管理”。找到您的“Q:”分区,右键单击它,然后选择“更改驱动器号和路径...”。从这里,您可以删除“Q:”映射,它将不再显示。
奇怪的是,您的 Linux 驱动器显示为一个空的 NTFS 分区。我想知道您在设置分区时是否做了一些意外的事情,而它实际上是一个空的 NTFS 分区,并且您还有另一个未在 Windows 中显示的 Linux 分区。(也许 Linux Mint 安装程序缩小了另一个分区以便为您的 150 GB Linux 分区腾出空间……或类似的东西。)您应该能够通过查看磁盘管理中列出的分区来判断是否是这种情况。