我的电脑包含 250GB 的 SSD 和 1 TB 的 HDD。当我运行时,fdisk -l
我得到所述 HDD 的以下输出:
Disk /dev/sda: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000LM035-1RK1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
这表明它有 1 TB 的空间。然而当我跑步时
df /dev/sda -H
Filesystem Size Used Avail Use% Mounted on
udev 8.3G 0 8.3G 0% /dev
它只显示8.3GB的容量。如何访问该 HDD 的剩余 990 GB 空间?感谢您提前的帮助!
答案1
您使用方法df
不正确。请参阅手册页:
If an argument is the absolute file name of a disk device node containing
a mounted file system, df shows the space available on that file system
rather than on the file system containing the node.
显示的文件系统是udev
安装在 上/dev
并且您访问的节点位于 上/dev
。
您在访问 HDD 上的数据(即读取或写入)时遇到问题吗?
尝试运行:sudo fdisk -l /dev/sda
.这将显示整个硬盘,包括其所有分区。
答案2
您需要指定磁盘内的分区号才能显示可用空间:
df -h /dev/sda1
答案3
从各种评论中的讨论来看,您可能根本没有使用硬盘。查看 的输出lsblk
以验证是否sda
没有与其关联的分区、加密设备或 LVM 卷,即只有一行提及sda
并且其 TYPE 值为disk
。
首先,建议分割磁盘。即使您将整个磁盘用作单个分区,磁盘上的有效分区表也会向其他操作系统表明该磁盘正在使用中。如果您需要将磁盘移动到另一个系统(例如出于迁移或恢复目的),这会很有帮助。
其次,一旦磁盘分区,您将需要实际创建一个文件系统在您创建的分区上。 (在 Windows 中,这将称为“格式化”。)在 Linux 中,有多种可能的文件系统类型:ext4
可能是最著名的,但XFS
对于多 TB 文件系统来说可能是首选。
如果您使用类似 的 GUI 工具gparted
,它可以为您执行这两个步骤。在命令行上,您可以使用fdisk /dev/sda
或cfdisk /dev/sda
创建分区,例如mkfs.ext4 /dev/sda1
或mkfs.xfs /dev/sda1
在其上创建文件系统。
创建文件系统后,您需要在您选择的位置为其创建一个安装点。挂载点只是一个空目录。例如:mkdir /bigdata
。
之后,您可能应该创建一行/etc/fstab
来自动安装文件系统。假设您使用了xfs
,该行可能是:
/dev/sda1 /bigdata xfs defaults 0 0
对于 ext4,该行可能是:
/dev/sda1 /bigdata ext4 defaults 0 2
(该行的最后一个字段确定文件系统是否在启动时自动检查。ext4
需要这样的例行检查,同时xfs
在文件系统处于活动状态时在后台处理例行完整性检查,而不是作为单独的启动时步骤。)
现在你终于可以挂载文件系统了:
mount /bigdata
成功安装文件系统后,您应该做的第一件事是将其所有权和权限设置为对您有意义的值。例如,如果这是您的个人计算机,您可以将访问权限分配给您的常规用户帐户:
chown <your_username>: /bigdata
现在您将在 处获得增加的可用磁盘空间/bigdata
。
答案4
当您购买磁盘时,它可能已经针对 Windows 进行了分区,但您的磁盘还没有。 fdisk 允许您创建分区,但可能不是最现代的 fdisk 实用程序。还有分区编辑器、命令行或 GUI(parted、gparted)。你可以选择你的选择。