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安装
