將安裝在 USB 驅動器上的 Linux 克隆到相同品牌/類型的另一個 USB

將安裝在 USB 驅動器上的 Linux 克隆到相同品牌/類型的另一個 USB

我在 16GB USB 隨身碟上安裝了一個完全配置的 Linux 系統。我有 10 次相同品牌/類型的 USB 驅動器和 10 次完全相同的主機板。

現在我想將 USB 驅動器複製到其他驅動器,這樣我就可以讓 10 個系統使用相同的映像。

我所做的是使用 WinDiskImager32 創建 USB 驅動器的映像,然後嘗試將其寫回原始 USB 驅動器。這很有效,因為它是同一個驅動器,但當我嘗試將其寫入其他 USB 驅動器時,它失敗了,因為映像對於這些驅動器來說太大了。儘管都是16GB,但實際上總是會有細微的差別。

顯然這不是正確的方法,所以我想知道如何正確「克隆」我的原始 USB,以便我可以將其部署在其他 USB 上?

(請注意,系統配置為處理它安裝在新電腦上的事實,因此這不是這裡的問題,只需獲取精確的副本)

更新

根據 WesleyDavid 的回答,我用 gparted 檢查了驅動器,並記得我最初使用 WinDiskImager32 從 8GB 設備複製了映像,因此分區已經足夠小了。

gparted

問題是 WindDiskImager 複製整個驅動器,而不僅僅是分割區。

現在「dd」解決方案透過只複製分割區來解決這個問題,但是如何在目標 USB 上同時取得 ext2 和交換檔案系統呢?

使用 dd 複製整個設備會再次產生完整的 16GB,這並不總是適合其他設備

更新2

依照 WesleyDavid 作品的建議使用 dd,
只需使用 dd 的 count 參數,如所述這裡

基本上這意味著運行“fdisk -u -l /dev/sdb”(用您的裝置替換 sdb)

> Disk /dev/sdb: 16.3 GB, 16257318912 bytes 64 heads, 32 sectors/track,
> 15504 cylinders, total 31752576 sectors Units = sectors of 1 * 512 =
> 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O
> size (minimum/optimal): 512 bytes / 512 bytes Disk identifier:
> 0x000392d4
> 
>    Device Boot      Start         End      Blocks   Id  System
> /dev/sdb1   *        2048    13672447     6835200   83  Linux
> /dev/sdb2        13674494    15818751     1072129    5  Extended
> /dev/sdb5        13674496    15818751     1072128   82  Linux swap

就我而言,最後一個分區的末尾位於“15818751”,所以我使用了:

dd if=/dev/sdb of=/home/myusername/usbimage.img count=15818752

為了安全起見,再增加一個。這給了我一個可以安裝的映像。

答案1

經過嘗試且正確的最簡單選項:使用 gparted 將來源分割區設為 15GB,以確保萬無一失。然後克隆到其他 USB 驅動器。

本質上,這不是克隆問題,而是分區大小問題。一旦分割區/磁碟大小低於最大大小,就可以dd if=source of=destination(假設是 Windows)繼續你的壞自我。

相關內容