使用“df”無法看到正確的磁碟大小

使用“df”無法看到正確的磁碟大小

我的電腦包含 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/sdacfdisk /dev/sda建立分割區,例如mkfs.ext4 /dev/sda1mkfs.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)。你可以選擇你的選擇。

相關內容