debian 10 将原有系统在U盘上生成一个最小的img,试过工具pishrink.sh,貌似不能用
时间: 2024-03-21 08:43:27 浏览: 104
如果你想要将原有系统在 U 盘上生成一个最小的镜像,可以使用 `dd` 命令将 U 盘的分区映像备份到一个文件中,然后使用 `qemu-img` 命令来压缩该文件。以下是具体的步骤:
1. 插入外置 U 盘并查看其设备名称,可以使用以下命令查看:
```
sudo fdisk -l
```
在命令输出中找到你的外置 U 盘设备名称,通常为 `/dev/sdX`(X 为字母,例如 `/dev/sdb`)。
2. 卸载 U 盘上的所有分区,可以使用以下命令:
```
sudo umount /dev/sdX?
```
其中,`/dev/sdX?` 表示 U 盘上的所有分区设备名称,通配符 `?` 表示匹配任意一个字符。
3. 使用 `dd` 命令将 U 盘的分区映像备份到一个文件中,可以使用以下命令:
```
sudo dd if=/dev/sdX of=myimg.img bs=4M conv=sync,noerror status=progress
```
其中,`if=/dev/sdX` 表示输入文件为 U 盘设备(注意:这里假设你的 U 盘设备为 `/dev/sdX`),`of=myimg.img` 表示输出文件为 `myimg.img`,`bs=4M` 表示使用 4MB 的块大小进行读取,`conv=sync,noerror` 表示在读取时进行同步并忽略读取错误,`status=progress` 表示在命令执行过程中显示进度信息。
注意:该命令会将整个 U 盘的分区映像备份到一个文件中,文件大小等于 U 盘容量大小。
4. 等待 `dd` 命令执行完成,可能需要一段时间,取决于 U 盘大小和读取速度。
5. 使用 `qemu-img` 命令来压缩备份文件,可以使用以下命令:
```
qemu-img convert -O qcow2 myimg.img myimg.qcow2
```
其中,`-O qcow2` 表示输出格式为 QEMU Copy-On-Write 2,`myimg.img` 表示输入文件为刚才备份的 U 盘映像文件,`myimg.qcow2` 表示输出文件为压缩后的镜像文件。
注意:该命令会将备份文件压缩到一个更小的镜像文件中,大小取决于备份文件中实际使用的空间大小。
6. 等待 `qemu-img` 命令执行完成,可能需要一段时间,取决于备份文件大小和计算机性能。
7. 最后,你可以使用 `fdisk` 或 `parted` 命令来查看压缩后的镜像文件中的分区信息,例如:
```
sudo fdisk -l myimg.qcow2
```
或者
```
sudo parted myimg.qcow2 unit B print
```
这些命令会列出压缩后的镜像文件中的所有分区信息。
注意:该方法生成的镜像文件只包含 U 盘的分区映像,不包含 U 盘的引导扇区和分区表等信息,因此不能直接用于启动计算机。如果你需要在其他计算机上使用该镜像文件,需要手动创建引导扇区和分区表,并将其写入到 U 盘中。
阅读全文