
在 Linux 中,使用免費工具將一個大部分磁碟複製到另一個相同的磁碟上最快的方法是什麼?在本例中是 SD 卡,但我認為這同樣適用於 USB 隨身碟、HDD 等。
我有一個 512MB 的驅動器,上面只有大約 10MB 的資料。我希望能夠製作一個精確的、逐字節的副本,就像您這樣做一樣dd if=/dev/source of=/dev/dest
,但是,我想要一些能夠了解來源驅動器上的文件系統的東西,足以知道它只需要複製磁碟的一小部分。
是的,我知道我可以把sfdisk
,mkfs
和串在一起tar
。但我真正想要的是一個用於創建圖像的單行程式碼,以及另一個用於將其寫入磁碟的單行程式碼。
編輯:我需要一個適用於 FAT16 的工具。 ntfsclone 似乎可以做我正在尋找的事情,除了 NTFS 之外。
編輯#2: partimage
看起來很有前途,因為它的速度非常快,但它不處理分區表的克隆。
答案1
這取決於您的檔案系統及其大小,以及您的資料是否位於磁碟的開頭。因為如果您知道資料在哪裡,您可以在 dd 中使用 bs 和 count (也許也可以跳過)來複製資料部分。那麼如果產生的檔案系統不同,您將必須調整檔案系統的大小。
或者您可以預先縮小分割區以僅包含資料部分,然後執行 dd 直到分割區被複製,再次使用上面的 dd 選項。如果你的資料是稀疏且隨機分佈的,那麼它就不起作用。
有什麼理由這樣做嗎?如果您只想複製數據,rsync 或 cpio 應該會更好。