Hard-Drive

磁碟容量儲存在哪裡?

  • January 19, 2021

簡而言之,如果我做dd磁碟到磁碟(例如/dev/sdato /dev/sdb),是否也複製了整個磁碟的容量?

例如,如果sda實際上是 1TB 和sdb2TB,在 之後dd,Linux 系統會認為sdb是 1TB 還是 2TB?

我假設磁碟容量記錄在單獨的 ROM 或小型非易失性儲存器中,而不是磁碟的任何扇區。或者,可能始終保留物理磁碟的幾個扇區。

我想以最小的痛苦將舊 1TB 硬碟上的系統遷移到新的 2TB 硬碟。舊磁碟將不會被使用。我想dd可能會。我唯一不確定的部分是如果我這樣做dd並且磁碟容量的大小就像分區表一樣被複製,新的 2TB 磁碟將變為 1TB。我想在實際做之前先確認一下dd

我的Google搜尋沒有結果,所以最後我決定在這裡發布一個問題。

如果所有系統都是 Linux,我會考慮rsync分區到分區 & grub-install。但是,不幸的是,我有一個 Windows 並且沒有 Windows 安裝 USB。我不確定如何在rsync.

碟片/磁頭的實際“物理”方面的 HDD 大小儲存在內部 ROM 中,但使用者不可訪問。現代 HDD(和 SSD)公開了一種稱為 LBA(邏輯塊定址)的抽象,它基本上告訴作業系統磁碟有多少個使用者可定址扇區。

dd簡單地讀取直到 EOF(文件結束),它可以是磁碟或分區的結尾。將整個 1 TB 磁碟複製到 2 TB 磁碟後,dd目標磁碟上的分區空間最多為 1 TB - 即:原始 MBR/GPT 對最後的額外空間一無所知。

想想一個放在一個大盒子裡的小盒子:小盒子裡的物體對可用的外層空間一無所知。同時,要使用 2 TB 磁碟提供的額外空間,您需要修改原始 MBR/GPT,創建額外分區或擴展最後一個分區。

當通過cp或工具在使用者級別進行複制時rsync,您不需要這樣做,因為您的 2 TB 磁碟將(希望)已經分區以使用所有可用空間,文件系統大小相應。

引用自:https://serverfault.com/questions/1050374