Reducing the size of a QEMU virtual disk (thin disk)
On all mounting points
dd if=/dev/zero of=/nul;sync;sync;sync;rm -f /nul;sync
- Stop VM
- Convert disk
qemu-img convert -O qcow2 -c disk1.qcow disk1.new.qcow
On all mounting points
dd if=/dev/zero of=/nul;sync;sync;sync;rm -f /nul;sync
qemu-img convert -O qcow2 -c disk1.qcow disk1.new.qcow
rsync -azP -e "ssh -p PORT_NUMBER" source destination
virsh snapshot-create-as --domain ${VM}
--name "backup-${VM}" \
--atomic \
--disk-only \
--no-metadata \
--diskspec vda,file=${SNAP}/backup-snapshot-${VM} \
--diskspec vdb,snapshot=no
Add in bios
\EFI\debian\shimx64.efi
wipefs --all /dev/sdX
wipefs can erase filesystem, raid or partition-table signatures (magic strings) from the specified device to make the signatures invisible for libblkid.
wipefs does not erase the filesystem itself nor any other data from the device. When used without any options, wipefs lists all visible filesystems and the offsets of their basic signatures.
wipefs calls the BLKRRPART ioctl when it has erased a partition-table signature to inform the kernel about the change.
For UEFI, assuming the system partition is sda2 and the EFI partition is sda1.
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo cp /etc/resolv.conf /mnt/etc
modprobe efivars
sudo chroot /mnt
apt purge grub-common
# for secure boot enabled
apt install grub-efi-amd64-signed os-prober shim-signed
# for secure boot disabled
apt install grub-efi-amd64 os-prober
exit
sudo umount /mnt/boot/efi
sudo umount -R /mnt
For BIOS, assuming the system partition is sda1:
sudo mount /dev/sda1 /mnt
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo cp /etc/resolv.conf /mnt/etc
sudo chroot /mnt
apt purge grub-common
apt install grub-pc os-prober
exit
sudo umount -R /mnt
short brief from https://forums.linuxmint.com/viewtopic.php?t=320504
chooser=simple # interactive mode prompt # delay when not in interactive mode (0.1 sec) delay=100 # timeout when in interactive mode (0.1 sec) timeout=100 default=vmlinuz # image=vmlinuz label=vmlinuz read-only append="root=/dev/sdc2 vga=normal ro" image=vmlinuz-generic label=vmlinuz-generic initrd=initrd.gz read-only append="root=/dev/sdc2 vga=normal ro" image=vmlinuz-huge-5.15.27 label=huge-5.15.27 read-only append="root=/dev/sdc2 vga=normal ro" image=vmlinuz-generic-5.15.27 label=generic-5.15.27 initrd=initrd-5.15.27.gz read-only append="root=/dev/sdc2 vga=normal ro"
mkdir /tmp/initrd
/tmp/initrd
cp /boot/initrd.gz .
gunzip initrd.gz
cpio -id < initrd
# mkinitrd.conf.sample # See "man mkinitrd.conf" for details on the syntax of this file # #SOURCE_TREE="/boot/initrd-tree" #CLEAR_TREE="0" #OUTPUT_IMAGE="/boot/initrd.gz" #KERNEL_VERSION="$(uname -r)" #KEYMAP="us" MODULE_LIST="ext4:hv_vmbus:scsi_transport_fc:hv_storvcs:jbd2:mbchache" #LUKSDEV="/dev/sda2" #LUKSTRIM="/dev/sda2" # verify support with 'hdparm -I $dev | grep TRIM' #LUKSKEY="LABEL=TRAVELSTICK:/keys/alienbob.luks" ROOTDEV="/dev/sda2" ROOTFS="ext4" #RESUMEDEV="/dev/sda2" #RAID="0" #LVM="0" #UDEV="1" #MODCONF="0" #MICROCODE_ARCH="/boot/intel-ucode.cpio" #WAIT="1" mkinitrd -F -k 5.15.63 or /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 5.15.63 cp /boot/initrd.gz /boot/efi/EFI/Slackware/ cp /boot/vmlinuz-generic-5.15.63 /boot/efi/EFI/Slackware/vmlinuz cp /boot/initrd.gz /boot/efi/EFI/Slackware/initrd-5.15.63.gz cp /boot/vmlinuz-generic-5.15.63 /boot/efi/EFI/Slackware/vmlinuz-5.15.63
mbr2gpt /validate /allowFullOS
mbr2gpt /convert /allowfullOS