94 lines
2.2 KiB
Bash
94 lines
2.2 KiB
Bash
#!/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 <<EOF > 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://software.download.prss.microsoft.com/dbazure/Win11_25H2_French_x64.iso?t=917a01d1-10bd-49bc-92b7-71ca593f82cf&P1=1766161817&P2=601&P3=2&P4=LUnUWt%2bmQkJJcXBw0xyKdtGW39FaS60AVUcHHSN7WtC%2f1K9ixPfLH3a%2bJadKvamIsc6HZQ%2bRW33erpizfpFGc%2f3n%2fNUSMzVP246uvbgTfzbEVFZkg5tQIxbNaZOxnh23Rog5TWcGj2DCwqKPdy%2bRKarznQ6F54gOZMDrsdkxc%2bBsERzQRJZ%2bZJ%2fQBK3%2fCo4bhREC1MP3TXzDjE2L5ekqkKB3ZiCh0y%2fTZZ3yBSJyCsaYGdkXMexiI7JzE4imBEETNkNhz4G3O7F%2bYRb0NWIKUFzHvv1uh03hWFBjxiqWSjAH5cxlYF8A5biuSIfb9f2b1q6MxYHz8%2fMtijuAyi6ytw%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
|
|
|
|
|