大约一年前,我们使用安装程序的默认设置设置了一台 Windows 10 pro 机器,配备 250 GB SSD 和 3 TB 硬盘。
计划是留下 1 TB 未分区,以便以后在 Ubuntu 中使用。但是,出于我不清楚的原因,Windows 10 没有创建 NTFS 分区。相反,它在该驱动器上创建了一个 2 TB 的“存储空间/存储池”,Ubuntu 当然无法访问它。分区表是 GPT。
来自 Ubuntu分区对于这样的存储池(德语区域设置“Speicherpool”),驱动器的所有 3 TB 都显示为已使用“未知文件系统”:
Windows 分区管理器只能看到 2 TB 的“DATEN”池。它似乎不知道驱动器 2 上还有 1 TB 的未使用空间(驱动器 1 装有 Windows 10 和 Ubuntu)。
我们可以在存储池设置中看到该驱动器的所有信息,其中知道该驱动器提供的 2.72 TB 容量:
看来,当我们只想给它一个分区时,Windows 已经占用了整个驱动器。我知道我可能可以将池的最大大小增加到 2.7 TB,但这对我为 Ubuntu 提供存储空间没有帮助。我也知道我们以后可能无法缩小它。
有没有什么解决办法?我们是否可以在这个驱动器未使用的部分添加一个额外的 Ubuntu 可访问分区?
答案1
不,我们不能将分区添加到存储池中的驱动器。
存储空间上的存储池用于为操作系统提供一组硬盘。此概念的目的是提供一种简单的方法来更换故障硬盘或在服务器内存不足的情况下添加另一个驱动器。当然,这种方法在台式电脑上是没用的,因为台式电脑只有一个物理硬盘位于操作系统驱动器旁边。
存储空间的整个概念面向物理驱动器而不是分区。这也是我们只能向存储池添加或删除整个物理驱动器的原因。同样因为这个原因,我们不能在作为存储池成员的驱动器上拥有多个分区。此分区不能从其他操作系统读取。
为了能够使用具有传统分区的驱动器,并添加可以从 Linux 读取的分区,我们必须执行以下步骤:
- 警告:从存储空间移除驱动器将不可逆转地删除其中的所有数据。到目前为止,尚无已知的恢复方法。
- 做了一个备份将存储池中的所有文件复制到外部驱动器。
删除该驱动器从存储池中。图形存储空间管理器不允许我们执行此操作,并出现错误
"Access is Denied" 0x00000005
。但是,可以使用以下命令从提升的 powershell 中执行此操作:Remove-StoragePool -FriendlyName "<Name>"
只有这样我们才能删除物理驱动器来自存储空间。
- 然后我们使用磁盘分区程序
NTFS
仅使用驱动器的一部分创建分区,并留下一些未分区的空间以供稍后在 Linux 中使用。 - 在 Linux 中分区用于
ext4
在未分区空间上创建分区,但我们也能够挂载和访问新创建的 NTFS 分区。 - 然后我们从备份中恢复内容到 NTFS 分区。
当然,上述步骤仅当存储空间仅用于存储用户数据时才可执行。如果 Windows 或 Windows 的一部分存储在该存储空间中,则无法执行上述步骤。