问题

问题

我目前使用的是 Centos 7,我正在尝试释放其中一个磁盘上的一些空间,以便我可以在其旁边安装 Ubuntu(双启动)。我有一个 2TB 磁盘,容量还不到一半。这不是主磁盘,而是全部备份。当我启动到 Centos 时,磁盘是/dev/sdc,并且只是一个分区( 后面没有数字/dev/sdc)。我创建了一个带有 Ubuntu 18.04 的可启动 USB,从 USB 启动,并且该磁盘在该系统中被识别为/dev/sda.我运行 gparted,并告诉它将分区缩小 ~400GB:

gparted 截图 1

这对我来说看起来是正确的,所以我继续应用更改。毫无问题地完成了。然而,完成后仍然只有 1 个分区,还有未分配的空间里面它,而不是分区本身缩小。甚至还有一个警报图标,当我单击它时,它会告诉我分区内有 390.63GB,询问我是否要增加它:

gparted截图2

我知道,如果我在其他地方有足够的磁盘空间,我可以复制数据并从头开始重新分区该驱动器。然而,我实际上没有足够的空间来做这件事,而且现在有 5 个驱动器,盒子里的东西非常紧张。有什么方法可以将该驱动器分成多个分区而不走那条路吗?

不确定这是否相关,但是当我第一次执行此操作时仍然启动到 Ubuntu 时,我从 gparted 运行了检查,当它执行此操作时,它会自动调整大小。我不知道这是否意味着它检测到错误的大小是一个实际错误,或者 gparted 在运行检查时使用额外的空间是否正常。在启动回 CentOS 之前,我再次重新运行调整大小操作,目前看起来仍然像第二个屏幕截图,并df显示分区为 1.5TB,已使用 882GB,可用 494G。

答案1

当我启动到 Centos 时,磁盘是/dev/sdc,并且只是一个分区( 后面没有数字/dev/sdc)。

/dev/sdc不是分区,而是磁盘本身未分区,您的磁盘上直接有一个 ext4 文件系统,没有分区表,因此您无法向磁盘添加分区。

通过缩小驱动器,您实际上只是缩小了文件系统,这就是为什么您会看到其中的可用空间。

我知道,如果我在其他地方有足够的磁盘空间,我可以复制数据并从头开始重新分区该驱动器

不幸的是,这是你现在唯一能做的事情,你不能将分区表添加到磁盘,因为没有足够的空间,你需要将文件系统向前移动几个扇区,为 pt 腾出空间,理论上可行,但非常复杂,并且丢失数据的风险很高。

答案2

问题

你没有分区。文件系统存在于磁盘上,但没有分区。所以文件系统被收缩了,但是没有分区可以收缩。

解决方案

我不知道是否有工具可以做到这一点。然而。

可以办到。我几年前就这么做了(在好的工具出现之前)。分区表只是磁盘开头的几个块。所以,

  • 进行备份(以防万一)。
  • 将文件系统向上移动一点,为分区表腾出空间(如果需要:如果它尚未从开始处偏移)。
  • 在文件系统的位置创建一个分区表,并定义一个分区。
  • 强制操作系统读取并解释分区表。

现在您可以使用工具添加新分区和文件系统。

相关内容