磁碟容量儲存在哪裡?
簡而言之,如果我做
dd
磁碟到磁碟(例如/dev/sda
to/dev/sdb
),是否也複製了整個磁碟的容量?例如,如果
sda
實際上是 1TB 和sdb
2TB,在 之後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 磁碟將(希望)已經分區以使用所有可用空間,文件系統大小相應。