Linux

如何使用分區表創建 USB 映像?

  • March 12, 2018

我想創建一個可直接寫入 USB 驅動器的目錄樹的映像,就像許多 Linux 發行版的映像一樣。例如,使用 openSUSE,您可以下載一個可直接寫入 USB 的 ISO 映像,使用dd.

root@computer# dd if=openSUSE.iso of=/dev/sdb

我嘗試使用 創建圖像mkisofs,但是當我dd使用該圖像執行上面的命令時沒有得到分區表,這使得 windows 無法辨識驅動器的格式並且 Linux 不存在/dev/sdb1。我還嘗試創建一個空文件,然後使用mkfs.vfat.

網上似乎有很多關於如何將圖像寫入 USB 驅動器以及將 USB 驅動器轉儲到文件的教程,但我沒有找到任何關於使用分區表創建圖像的內容。

我試圖解決的問題是分發一個預先格式化的 USB 記憶棒,所以不需要記憶棒是可啟動的;我還想讓這個過程可以編寫腳本。

你可以用kpartx這個。這是一種創建完整磁碟映像的方法。

# create empty image
dd if=/dev/zero of=myvm.img bs=1G count=0 seek=100

# partition the image file with fdisk/gdisk or any other tool
gdisk myvm.img

# make the partitions in the image file available as individual devices
kpartx -a myvm.img

# work with the partitions
./someprogram /dev/mapper/loop0p1

# close the partitions
kpartx -d myvm.img

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