Filesystems
將單個分區複製到可啟動 USB
我有一個帶有 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 作業系統。
- 是我試圖將單個分區 (
sda2
) 複製到驅動器 (sdb
) 的問題嗎?我應該sdb1
改用嗎?- 由於我只複製一個分區,這是否意味著缺少引導(grub)內容?
如何成功地將單個作業系統分區複製到可啟動快閃記憶體驅動器?
你的兩個假設都是正確的。當您將分區直接轉儲到拇指驅動器時,沒有分區表,因此沒有引導扇區。
為了讓它發揮作用,你可以採取幾種方法。通常,首先在驅動器上創建一個分區表,然後創建將包含作業系統數據的實際分區 (/dev/sdb1),然後將數據複製到那裡。獲得所有數據後,您也可以將 grub 安裝到驅動器。
這可以通過一些命令相當快地完成,但如果您不習慣術語和概念,很容易犯(可怕的)錯誤。所以我會建議你以下,這應該更容易:
- 備份!一切!有時,您可能會因為失去一個字元而永久失去所有數據。
- 安裝並打開 gparted:
- 選擇您的拇指驅動器(確保它沒有選擇您的磁碟)
- 菜單設備 > 創建分區表
- 您可以使用 msdos
- 在未分配的空間上創建一個主分區,如 ext4
- 將新分區設置為可引導
- 申請並退出
- 執行
sudo dd if=/dev/sda2 of=/dev/sdb1; sudo resize2fs /dev/sdb1
。- 啟動到您的 debian 系統(我假設您的拇指驅動器
/dev/sdb
在啟動 Debian 後仍然存在)
- 執行
blkid /dev/sdb1
以獲取您複製的分區的 UUID。- 備份您目前的
/etc/fstab
文件。- 更新它,使其引用
/
您獲得的 UUID 的路徑,如下所示:... # <file system> <mount point> <type> <options> <dump> <pass> # / 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 盤並為其創建了引導環境。我現在無法在此處驗證此過程,因此請注意,即使我已經做過幾次這樣的事情,這裡的命令現在也未經測試。