Boot

手動將 Live USB Arch 發行版複製到 VMware 虛擬磁碟

  • October 25, 2013

我用yumi在筆式驅動器上安裝了 Arch Linux ,基於 syslinux。我想在 VMware 中測試 USB 發行版。為了加快速度,我想將 UFD 複製為 VMware 虛擬磁碟 (vmdk)。

這可以很簡單。我將物理 UFD 驅動器、vmdk 虛擬磁碟和 Arch ISO 附加到虛擬機。從後者引導,我可以複製。

我的問題是 UFD 非常大,我只想複製/複製實際使用的 UFD 扇區。

我不知道是否有專門的工具可以複製只使用過的扇區。我的想法是手動格式化vmdk磁碟,然後複製UF​​D文件。

給定以下磁碟映射:

Virtual vmdk disk -> sda
Physical UFD disk -> sdb

我發出了這些命令:

# Format vmdk disk as FAT32
(echo o; echo n; echo p; echo 1; echo ; echo ; echo a; echo t; echo c; echo w) | fdisk /dev/sda
mkdosfs -F 32 /dev/sda1

#Copy UFD MBR to vmdk MBR
dd if=/dev/sdb of=/dev/sda bs=446 count=1
partprobe /dev/sda

#Mount vmdk 
mkdir /vmdk
mount -t vfat /dev/sda1 /vmdk

#Mount UDF
mkdir /usb
mount -t vfat /dev/sdb1 /usb

#Copy files from UFD to vmdk
cp -a  /usb/* /vmdk

在他們之後,fdisk -l給出:

磁碟 /dev/sda:858 MB,858783744 字節,1677312 個扇區單位 = 1 個扇區 * 512 = 512 字節扇區大小(邏輯/物理):512 字節/512 字節 I/O 大小(最小/最佳):512 字節/ 512字節磁碟標籤類型:dos磁碟標識符:0xc3072e18

設備引導開始結束塊 ID 系統 /dev/sda1 * 2048 1677311 837632 c W95 FAT32 (LBA)

磁碟 /dev/sdb:4048 MB,4048551936 字節,7907328 個扇區單位 = 1 個扇區 * 512 = 512 字節扇區大小(邏輯/物理):512 字節/512 字節 I/O 大小(最小/最佳):512 字節/ 512字節磁碟標籤類型:dos磁碟標識符:0xc3072e18

設備引導開始結束塊 ID 系統 /dev/sdb1 * 2976 7907327 3952176 c W95 FAT32 (LBA)

磁碟 /dev/mapper/arch_root-image:1563 MB,1563426816 字節,3053568 個扇區 單位 = 1 * 512 = 512 字節的扇區 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳) : 512 字節 / 512 字節

不幸的是,當我關閉 VM,分離 UFD 和 ISO,然後重新啟動機器時,VMware 說:

This is not a bootable disk... 

你能幫助我嗎?

我認為您可以使用本 U&L Q&A 中討論的方法之一,標題為:如何將 VMware 映像文件中的文件歸零以便可以回收它們的空間?先將圖像中任何未使用的空間清零,以便可以回收它,然後再減小圖像大小。

使用焦油。如果你壓縮你的根目錄,它只會複製使用的文件而不是整個系統。在您的新系統上,只需替換您的根目錄,然後重新安裝 grub。

$ cd /
$ mkdir backups

$ tar -cvpf /backups/fullbackup.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups . 

然後將它解壓到新系統中(tar -xvpf /fullbackup.tar),然後將 grub 重新安裝到 MBR。

$ grub-install recheck /dev/sdX (where x is whatever your MBR is)
$ grub-update

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