Filesystems

將單個分區複製到可啟動 USB

  • January 3, 2021

我有一個帶有 2 個作業系統分區的硬碟驅動器。它們一起太大而無法複製到我的快閃記憶體驅動器上。無論如何,我只想複製較小的那個。

/dev/sda1: 120GB 硬碟分區 1(Lubuntu)

/dev/sda2: 8GB 硬碟分區 2(Debian) <–想要複製這個

/dev/sdb: 32GB 快閃記憶體驅動器

我曾嘗試通過 複製單個分區dd,但它似乎無法啟動:

sudo dd if=/dev/sda2 of=/dev/sdb status=progress bs=1M

當我嘗試啟動到這個快閃記憶體驅動器時,我點擊“啟動 USB”,但 bios 菜單重置為 grub 啟動菜單,其中我唯一的 2 個選項是 2 個 HDD 作業系統。

  1. 是我試圖將單個分區 ( sda2) 複製到驅動器 ( sdb) 的問題嗎?我應該sdb1改用嗎?
  2. 由於我只複製一個分區,這是否意味著缺少引導(grub)內容?

如何成功地將單個作業系統分區複製到可啟動快閃記憶體驅動器?

你的兩個假設都是正確的。當您將分區直接轉儲到拇指驅動器時,沒有分區表,因此沒有引導扇區。

為了讓它發揮作用,你可以採取幾種方法。通常,首先在驅動器上創建一個分區表,然後創建將包含作業系統數據的實際分區 (/dev/sdb1),然後將數據複製到那裡。獲得所有數據後,您也可以將 grub 安裝到驅動器。

這可以通過一些命令相當快地完成,但如果您不習慣術語和概念,很容易犯(可怕的)錯誤。所以我會建議你以下,這應該更容易:

  1. 備份!一切!有時,您可能會因為失去一個字元而永久失去所有數據。
  2. 安裝並打開 gparted:
  • 選擇您的拇指驅動器(確保它沒有選擇您的磁碟)
  • 菜單設備 > 創建分區表
  • 您可以使用 msdos
  • 在未分配的空間上創建一個主分區,如 ext4
  • 將新分區設置為可引導
  • 申請並退出
  1. 執行sudo dd if=/dev/sda2 of=/dev/sdb1; sudo resize2fs /dev/sdb1
  2. 啟動到您的 debian 系統(我假設您的拇指驅動器/dev/sdb在啟動 Debian 後仍然存在)
  • 執行blkid /dev/sdb1以獲取您複製的分區的 UUID。
  • 備份您目前的/etc/fstab文件。
  • 更新它,使其引用/您獲得的 UUID 的路徑,如下所示:
...
# &lt;file system&gt; &lt;mount point&gt;   &lt;type&gt;  &lt;options&gt;       &lt;dump&gt;  &lt;pass&gt;
# / was on /dev/sda1 during installation
UUID=5405ba56-dd62-48b4-b381-976162b4957c /               ext4    errors=remount-ro 0       1
  • 執行sudo mount /dev/sdb1 /mnt; sudo cp -p /etc/fstab /mnt/etc/fstab; sudo umount /mnt以將此新 fstab 複製到您的拇指驅動器 Debian。
  • sudo grub-install /dev/sdb
  • 將您對文件所做的備份恢復/etc/fstab到原始狀態(使用磁碟分區的 UUID,而不是拇指驅動器分區)。
  • 這些命令不應該干擾您的磁碟 Debian 的啟動,但現在fstab恢復到原來的狀態,執行sudo update-grub只是為了確保,因為更新可以在/etc/fstab文件設置到拇指驅動器時讀取文件。

這應該已經將您的 debian 分區的內容複製到 U 盤並為其創建了引導環境。我現在無法在此處驗證此過程,因此請注意,即使我已經做過幾次這樣的事情,這裡的命令現在也未經測試。

引用自:https://unix.stackexchange.com/questions/627277