#!/bin/bash apt update -y apt install grub2 filezilla gparted wimtools -y #Get the disk size in GB and convert to MB disk_size_gb=$(parted /dev/sda --script print | awk '/^Disk \/dev\/sda:/ {print int($3)}') disk_size_mb=$((disk_size_gb * 1024)) #Calculate partition size (25% of total size) part_size_mb=$((disk_size_mb / 4)) #Create GPT partition table parted /dev/sda --script -- mklabel gpt #Create two partitions parted /dev/sda --script -- mkpart primary ntfs 1MB ${part_size_mb}MB parted /dev/sda --script -- mkpart primary ntfs ${part_size_mb}MB $((2 * part_size_mb))MB #Inform kernel of partition table changes partprobe /dev/sda sleep 30 partprobe /dev/sda sleep 30 partprobe /dev/sda sleep 30 #Format the partitions mkfs.ntfs -f /dev/sda1 mkfs.ntfs -f /dev/sda2 echo "NTFS partitions created" echo -e "r\ng\np\nw\nY\n" | gdisk /dev/sda mount /dev/sda1 /mnt #Prepare directory for the Windows disk cd ~ mkdir windisk mount /dev/sda2 windisk grub-install --root-directory=/mnt /dev/sda #Edit GRUB configuration cd /mnt/boot/grub cat < grub.cfg menuentry "windows installer" { insmod ntfs search --set=root --file=/bootmgr ntldr /bootmgr boot } EOF cd /root/windisk mkdir winfile wget -O win10.iso https://oemsoc.download.prss.microsoft.com/dbazure/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso_640de540-87c4-427f-be87-e6d53a3a60b4?t=2c3b664b-b119-4088-9db1-ccff72c6d22e&P1=102816950270&P2=601&P3=2&P4=OC448onxqdmdUsBUApAiE8pj1FZ%2bEPTU3%2bC6Quq29MVwMyyDUtR%2fsbiy7RdVoZOHaZRndvzeOOnIwJZ2x3%2bmP6YK9cjJSP41Lvs0SulF4SVyL5C0DdDmiWqh2QW%2bcDPj2Xp%2bMrI9NOeElSBS5kkOWP8Eiyf2VkkQFM3g5vIk3HJVvu5sWo6pFKpFv4lML%2bHaIiTSuwbPMs5xwEQTfScuTKfigNlUZPdHRMp1B3uKLgIA3r0IbRpZgHYMXEwXQ%2fSLMdDNQthpqQvz1PThVkx7ObD55CXgt0GNSAWRfjdURWb8ywWk1gT7ozAgpP%2fKNm56U5nh33WZSuMZIuO1SBM2vw%3d%3d mount -o loop win10.iso winfile rsync -avz --progress winfile/* /mnt umount winfile wget -O virtio.iso https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.285-1/virtio-win-0.1.285.iso mount -o loop virtio.iso winfile mkdir /mnt/sources/virtio rsync -avz --progress winfile/* /mnt/sources/virtio cd /mnt/sources touch cmd.txt echo 'add virtio /virtio_drivers' >> cmd.txt wimlib-imagex update boot.wim 2 < cmd.txt reboot