QEMU虚拟磁盘资料
虛擬磁盤資料
GPT磁盤的起始處 bios_grub ESP=EFI system partition EF00標記的 ESPboot分區 EF02標記的BIOSboot 8300 linux分區 (hd0,msdos5) 第1盤第1邏輯分區 (hd0,gpt1) 第1盤第1gpt分區 之后的64字節為硬盤的分區表,最后兩個字節為MBR結束標志位(0xAA55) #mbr 磁盤號可修改 #sudo printf "\x78\x56\x34\x12" | dd of=test.img seek=440 bs=1 count=4 conv=notrunc一、qemu-img
1、創建
qemu-img create -f raw vm1.raw 10G
qemu-img create -f qcow2 vm2.qcow2 10G
2、轉換
qemu-img convert -c -O qcow2 vm1.raw vm12.qcow2
qemu-img convert -f qcow2 -O raw vm2.qcow2 vm22.raw
3、查看
qemu-img info vm.img
4、調整
qemu-img resize vm.img +2G
qemu-img resize vm.img -2G
二、simg2img
安裝鏡像文件sparse和raw轉換工具
1、下載
源碼安裝
wget https://github.com/anestisb/android-simg2img
make
包安裝
sudo apt install simg2img
2、命令
simg2img rootfs.sparse.img rootfs.img.raw
img2simg rootfs.ext4 rootfs.sparse.img
三、dd命令創建ext4
1、創建
dd if=/dev/zero of=rootfs.ext4 bs=1M count=1024
2、ext4
mkfs.ext4 rootfs.ext4 -F
3、加載
sudo mkdir -p /mnt/temp
sudo mount -t ext4 rootfs.ext4 /mnt/temp?
sudo cp -r ~/temp /mnt/temp
sync
sudo umount /mnt/temp
4、檢查
e2fsck-p -f rootfs.img
5、擴容
resize2fs /dev/vda
四、操作多個分區
sudo fdisk sd.raw
p主分區e擴展分區
n添加分區
d刪除分區
分區可手工計算
加載鏡像
losetup /dev/loop0 sd.raw
加載分區
kpartx -av /dev/loop0
格式化
mkfs.ext4 dev/mapper/loop0p1
鏡像分區寫入數據
sudo dd if=system.raw of=/dev/mapper/loop0p1
sudo dd if=userdata.raw of=/dev/mapper/loop0p2
卸載
sudo kpartx -d /dev/loop0
sudo losetup -d /dev/loop0?
分區使用
init=init root=/dev/mmcblk0p1?rootfstype=ext4 rw root blkdevparts=mmcblk0:
修復ext4啟動敬告
sudo e2fsck -f /dev/mapper/loop0p1
sudo tune2fs -O ^huge_file /dev/mapper/loop0p1
五、qemu加載
1、bios
-bios vm.img
-drive if=pflash,file=vm.img,format=raw
2、sd
-sd vm.img
3、hda
-ha vm.img
4、vda
-drive if=none,file=rootfs.qcow2,id=vda1,index=0
-device virtio-blk-device,drive=vda1
-drive if=none,file=rootfs.img,id=vda2,index=1
-device virtio-blk-device,drive=vda2
總結
以上是生活随笔為你收集整理的QEMU虚拟磁盘资料的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器的组件中支持冗余的包括,服务器冗余
- 下一篇: windows server2019安装