我已将 Ubuntu 与 Windows 7 进行了双启动(Ubuntu 是后来安装的)。Windows 安装在 SSD 上,Ubuntu 安装在单独的硬盘上。该硬盘的约 95% 具有 Windows 分区,剩余空间则安装有 Ubuntu 分区。
问题是这个分区似乎泄漏到了 Windows 中。它显示为一个RAW
文件系统:
在电脑,它显示为未格式化的硬盘:
有什么办法可以修复这个问题或者以某种方式隐藏它吗?
答案1
使用磁盘管理工具,我认为您可以将驱动器号设置为...无,这将导致驱动器不会显示在资源管理器中。
答案2
当 Linux 分区的分区类型代码设置错误时,就会出现此问题。这是在 EFI 模式下启动并使用GUID 分区表 (GPT)因为 Linux 工具错误地将 Windows 分区类型代码(“Microsoft Basic Data”)应用于 Linux 文件系统分区表。这个问题的解决办法自 2011 年中期以来,libparted 开发人员一直迟迟未能将其纳入他们的库中,而大多数 Linux 分区工具都使用该库。在此之前,处理该问题最简单的方法如下:
- 安装
gdisk
或gptfdisk
包(名称随发行版不同而不同)。如果你的发行版缺少此包,请转到GPT fdisk 下载页面为拿到它,为实现它。 - 找出哪些分区保存着您的 Linux 文件系统。输入
df -h
可能有助于此,或者您可以检查/etc/fstab
,或者您可以使用 GParted 和 GUI 工具来执行此操作。 gdisk
在磁盘上启动,如sudo gdisk /dev/sda
。注意:如果gdisk
在输出的开头附近包含以下行:MBR: MBR only
和GPT: not present
,停止!这表明您拥有的是 MBR 磁盘,而不是 GPT 磁盘。继续此过程可能会造成危害!MBR: protective
读取或MBR: hybrid
并GPT: present
指示 GPT 磁盘的行,您可以继续。- 键入
p
以查看分区表并验证您之前确定的 Linux 分区是否合理。在 中gdisk
,它们的类型代码可能是 0700。 - 键入
t
以更改分区类型代码。gdisk
将提示输入分区号和新类型代码。输入您已识别的分区号并指定类型代码 8300。 - 对每个 Linux 文件系统分区重复上述步骤。(不要对 Linux 交换分区、LVM 分区或 RAID 分区执行此操作。它们不应该出现在 Windows 中,因为它们应该有自己的类型代码。)
- 再次输入
p
以验证您的分区表是否正常。 - 键入
w
以保存您的更改。当系统询问时,确认您是否要将数据写入磁盘。
当您重新启动 Windows 时,它不应该显示 Linux 分区。
此过程比 Alois Mahdal 提供的过程更可取,因为它真正解决了问题的根本原因,而不是 Explorer 的简单变通方法。修复此问题后,如果您重新安装 Windows 或将磁盘移至另一台计算机,问题就不会再次出现。
存在一个使用适当的 Linux 特定类型代码的 libparted 修复程序,并且正在开发中;但是,一年多来一直没有发布新的 libparted。我不知道 libparted 开发人员要多久才能发布它。即使他们明天发布它,该版本也需要一段时间才能进入发行版的存储库和安装程序。因此,目前您只能事后自己修复问题。
答案3
Windows 无法识别 Linux 格式化的分区,它们通常显示为未格式化的分区/磁盘。实际上没有办法解决这个问题,磁盘管理将始终显示连接的磁盘和分区。
正如 Alois Mahdai 指出的那样,您可以通过将驱动器号设置为无来从资源管理器中隐藏此驱动器。
或者,如果您不再需要 Ubuntu 安装,请删除并格式化。
答案4
或者,如果您更愿意访问文件系统,您将需要获取 ext2/ext3/ext4 文件系统驱动程序或单独的文件管理器。
老实说,我对这种方法的体验并不是很好,我还没有遇到过真正好的成熟的驱动程序 :/