本文对挂载的U盘进行制作img镜像. 如需再Windows下操作, 可以使用WSL并挂载U盘。 本文章再WSL的Ubuntu 22.04中进行 ( 挂载U盘请参阅:WSL挂载U盘)
1、查看要制作镜像的分区
执行fdisk -l 查看要制作镜像的磁盘设备分区如下:
root@DESKTOP-RSAQBV7:/mnt# fdisk -l
Disk /dev/sde: 14.84 GiB, 15938355200 bytes, 31129600 sectors
Disk model: Storage Device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x92c785c3
Device Boot Start End Sectors Size Id Type
/dev/sdd1 * 8192 532479 524288 256M 6 FAT16
/dev/sde2 532480 8921087 8388608 4G 83 Linux
/dev/sde3 8921088 31129599 22208512 10.6G c W95 FAT32 (LBA)2、DD进行创建镜像
dd if=/dev/sde of=pikvm_orangepi_zero.img bs=4M status=progress3、virt-sparsify进行压缩
说明:dd命令会根据磁盘大小完整的镜像,如上16GB的U盘会产生一个16GB的img文件,但实际只有2GB左右的实际占用太浪费空间。
# 1. virt-sparsify进行压缩,但可能和原来一样大,注意FAT32有4G限制可能会报错,如果为FAT32需要手动fill-zero, 建议改为exfat
sudo virt-sparsify pikvm_orangepi_zero.img pikvm_orangepi_zero-sparse.img
查看大小(可能不会大小变化)
root@DESKTOP-RSAQBV7:/mnt# ls -lh pikvm_orangepi_zero.img
-rw-r--r-- 1 root root 2.1G Jan 27 20:36 pikvm_orangepi_zero.img4、使用XZ\GZIP压缩
root@DESKTOP-RSAQBV7:/mnt# tar -zcvf pikvm_orangepi_zero.img.tar.gz pikvm_orangepi_zero.img
root@DESKTOP-RSAQBV7:/mnt# ls -lh pikvm_orangepi_zero.img.tar.gz
-rw-r--r-- 1 root root 1852M Jan 27 20:38 pikvm_orangepi_zero.img.tar.gz
or
root@DESKTOP-RSAQBV7:/mnt# xz -9e pikvm_orangepi_zero.img
可以看到只有1852MB了
5、挂载测试
#1、将 .img 文件关联到一个循环设备并创建分区设备节点
sudo losetup -P /dev/loop0 pikvm_orangepi_zero.img
#2、挂载所有分区(先创建part1/part2文件夹)
sudo mount /dev/loop0p1 /mnt/part1
sudo mount /dev/loop0p2 /mnt/part2
#3、卸载和清理
sudo umount /mnt/part1
sudo umount /mnt/part2
sudo losetup -d /dev/loop06、写入测试
dd if=pikvm_orangepi_zero.img of=/dev/sdd bs=4M status=progress conv=fsyncWindows下写入:
win32DiskImager
Rufus
评论区