DigitalOcean Windows 10 image dosyası olarak .iso kabul etmiyor. Biz de Windows 10’u önce sanal sunucuda Qemu ile kuracağız. Kurulu imaj dosyası ile yeni bir sunucuyu ayağa kaldıracağız.
Bunun için 2 farklı yöntem deneyeceğim.
1- Sunucuyu lokalde virtualbox üzerine kuracağımız windows imajı ile ayağa kaldırmak.
2- Sunucuyu digitalocean droplette ubuntu qemu sanallaştırma uygulaması üzerine kuracağımız windows imajı ile ayağa kaldırmak.
Bu yazıda 2. yöntemi deneyeceğim.
Digital Ocean üzerinde windows imajı oluşturmak
Yüksek performanslı bir droplet kuruyoruz. Distribution olarak ubuntu seçelim. Daha uygun olması açısından shared CPU seçiyorum.
Datacenter olarak bulunduğum konuma daha yakın olduğu için Frankfurt seçiyorum.
Hostname olarak -daha sonra hatırlamak için önemli- imageserver seçtim.
Sunucuya bağlanmak için putty kullanıyorum. Bilgisayarınızda yoksa digitalocean console kullanabilirsiniz.
Sunucuya Putty ile bağlanırken uzun işlemler sırasında timeout olmamak için aşağıdaki ayarı yapmanızı öneriyorum. “Connection” tabında yer alan
“Seconds between keepalives” ayarını 10 yapıyoruz.
“Disable Nagle’s Algorithm” kutucuğu seçili olmalı
“Enable TCP Keepalives” kutucuğu seçili olmalı
Şimdi bu ayarları default olarak saklamamız gerekiyor. Böylece her Putty açtığımızda bu ayar geçerli olacak.
“Saved Sessions” altında “Default Settings” seçili olduğundan emin olun. “Save” diyerek ayarları kaydetmiş oluyoruz.
Putty kullanarak sunucuya kullanıcı adı “root” ve belirlediğimiz şifre ile bağlanıyoruz.
Sunucu paketlerini güncelleştiriyoruz.
apt-get update
Sanallaştırma için kullanacağımız Qemu paketlerini kuruyoruz.
apt install -y qemu-utils && apt install -y qemu-system-x86
Qemu ile img dosyası oluşturuyoruz. Bu dosyayı sanallaştırma diski olarak kullanacağız. 32G yazan yeri size uygun bir boyutla değiştirebilirsiniz. Dikkat, ne kadar büyük seçerseniz işlemler o kadar uzun sürüyor onu da hatırlatayım.
qemu-img create -f raw windows10.img 32G
işlem sonucu şu şekilde olmalı, işlem çok kısa sürüyor,
Formatting ‘windows10.img’, fmt=raw size=34359738368
Sanal sunucu kullanacağımız için bu driverlara ihtiyacımız olacak. İndiriyoruz.
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Şimdi windows kurulumu için iso dosyasına ihtiyacımız var. Buraya tıklayarak microsoft sitesinden indireceğiz.
Linkteki siteden aracı şimdi indirin diyerek devam ediyoruz.
İndirdiğimiz uygulamayı çalıştırıyoruz. “Başka bir bilgisayar için yükleme medyası” seçeneği ile devam ediyoruz.
Ayarları bu şekilde bırakabilirsiniz,
Kullanılacak medya olarak “ISO dosyası” seçiyoruz. Devam ediyoruz.
İndirme tamamlandığında ISO dosyasını google drive, dropbox gibi bulut depolama uygulamalarından birisine yükleyip linkini alıyoruz. “Anyone with this link can view” olmasına dikkat edin.
wget -O windows.iso https://www.dropbox.com/s/1yy3httsy3oo4kv/Windows.iso?dl=0 oluşturduğunuz-link
İnternetten bulduğunuz windows iso linklerine güvenmeyin. Siz microsoft sitesinden indirip kendiniz buluta yükleyin ve sunucunuzu bu şekilde kurun. İnternetten bulacağınız ISO dosyalarının içerisinde zararlı yazılımlar bulunabilir.
Şimdi sanallaştırma yapacağız. Windows10.img dosyasını harddisk olarak kullanacağız. Windows.iso dosyasını cd/dvdrom olarak kullanacağız.
Bunu da vnc olarak erişime açacağız. 7G yerine kurduğunuz (imageserver) sunucusunun RAM’inden biraz düşük bir değer yazmalısınız.
Örneğin benim sunucum 8G olduğu için sanallaştırmaya 7G ayırdım.
qemu-system-x86_64
-m 7G
-cpu host
-enable-kvm
-boot order=d
-drive file=windows.iso,media=cdrom
-drive file=windows10.img,format=raw,if=virtio
-drive file=virtio-win.iso,media=cdrom
-vnc :0
Kodu yapıştırdıktan sonra 2 kez enter’a basmanız gerekiyor. Bekleme ekranı şu şekilde olmalı.
Şimdi VNC ile bağlantı yapacağız. Ben RealVNC firmasının VNC Viewer uygulamasını kullandım. VNC Viewer buradan indirilebilir.
IP adresimiz ile VNC Viewer uygulamasından sanallaştırma yazılımına bağlanıyoruz.
Şöyle bir şifreleme uyarısı gelirse devam diyebilirsiniz.
Şimdi kurulum ekranına ulaşmış oluyoruz. Karşınıza siyah bir ekran gelirse bekleyin. Bu ekranın gelmesi zaman alabiliyor.
Mouse senkronizasyonu biraz sıkıntılı olabiliyor. Çok kötüyse bunun yerine klavyenin tab, yön tuşları ve enter tuşu yeterli olacaktır.
Dil seçenekleri uygunsa ileri diyoruz.
Şimdi yükle diyerek devam ediyoruz.
Ürün anahtarınız varsa girin, şu an için yoksa “Ürün anahtarım yok” diyerek devam ediyoruz.
Uygun işletim sistemini seçip ileri diyoruz.
“Lisans koşullarını kabul ediyorum” kutusunu seçip “İleri” diyoruz.
“Özel: Yalnızca Windows’u yükle (gelişmiş)” seçeneği ile devam ediyoruz.
Sürücü yükle seçeneğini seçiyoruz. Disk sürücüsü yüklü olmadığu için disk görüntülenemiyor.
“Bu bilgisayar donanımıyla uyumlu olmayan sürücüleri gizle” kutucuğundan seçeneği kaldırmalısınız. Sonra “Gözat” butonuna tıklıyoruz.
Bu 2 dosyada bulunan sürücüleri yükleyeceğiz.
E:NetKvmw10amd64
E:viostorw10amd64
Ethernet sürücüsünü yükledik.
SCSI Controller sürücüsünü yükledik.
Şimdi diskimizi doğru kullanmak için “yeni butonuna basıyoruz” ve “uygula” diyoruz.
Bu uyarıya tamam diyoruz
Şimdi diskimizi seçip ileri diyoruz.
Bu aşama biraz uzun sürebilir
Windows’un ön yüklemesini tamamladık.
“Kişisel kullanıma yönelik ayarlama” seçeneğini işaretleyip “İleri” butonuna basıyoruz.
Bu ekranda sol altta bulunan “Çevrimdışı hesap” seçeneğini tıklıyoruz. (Bunun yerine Microsoft hesabınız varsa girebilirsiniz)
Sol altta bulunan “Sınırlı deneyim” seçeneğini tıklayarak devam edebiliriz.
Bir isim seçip “Sonraki” butonuna tıklayalım. Sonraki ekranda da şifremizi seçip devam edelim.
“Kabul et” butonuna tıklayarak devam edebiliriz.
“Atla” butonuna basarak devam edebiliriz.
Kurulum tamamlandı.
Şimdi sanallaştırmayı durdurmak için Putty uygulamasına geri dönüyoruz. Ve “CTRL + C” tuşlarına basıyoruz. Bu tuş kombinasyonu linux’ta geçerli işlemi durdurmaya yarıyor.
Şimdi windows10.img dosyamızı sıkıştırıyoruz. Bu işlemi yapma sebebimiz windows10.img dosyamızın boyutunun çok büyük olması. (Benim örneğimde 32GB) Bu dosyanın çoğu boş olduğu için sıkıştırarak küçültüyoruz. Sıkıştırma işlemi biraz zaman alabilir.
dd komutu yedekleme için kullanılıyor. if parametresi ile kaynağı gösteriyoruz. Hedefimiz ise windows10.gz Hedeften kaynağa veri kopyalarken gzip komutu ile veriyi sıkıştırıyoruz.
Gzip -c parametresi kaynağı silmeden koruyor. Gzip -1 parametresi ise sıkıştırmayı maksimum hız minimum sıkıştırma ile yapmaya yarıyor.
Dosya boyutumuz büyük olduğu için 1 kullanıyoruz. 1 yazmazsak default olan değer 6 ile işlem yapıyor. Maksimum sıkıştırma değeri 9 kullanabiliyoruz.
dd if=windows10.img | gzip -c -1 > windows10.gz
Bu işlem biraz zaman alıyor. Benim yaklaşık 8 dakika sürmüş. Sıkıştırılmış dosya 5.5 GB büyüklüğünde. Aşağıda sonuçlandığı zaman karşılaşacağınız ekranı görebilirsiniz.
Şimdi windows10.gz dosyamızı yeni kuracağımız sunucuya aktarabilmek için http.server başlatıyoruz. Böylece bu linkten indirebileceğiz: http://139.59.150.43:8000/windows10.gz
python3 -m http.server
Windows 10’u imaj dosyasıyla DigitalOcean’a yükleme
Şimdi windows kuracağımız sunucuyu hazırlayalım. Örnek ayarlamaları aşağıda görebilirsiniz.
Açtığımız Windows Droplet’in recovery tabına geliyoruz. “Boot from Recovery ISO” seçeneğini aktif hale getiriyoruz.
Daha sonra sağ üstteki “on” butonuna basıyoruz.
Çıkan uyarıyı “Turn off” butonuna basarak geçiyoruz.
“Off” butonuna basarak sunucuyu tekrar açıyoruz.
Şimdi aynı ekranda “Recovery Console” butonuna tıklıyoruz.
Bu ekranla karşılaşacağız. 6 yazıp enter’a basıyoruz.
Hazırladığımız windows imajını bu sunucuya wget komutunu kullanarak çekeceğiz. Gunzip ile sıkıştırılmış dosyayı açacağız. Daha sonra dd ile imajı dev/vda diskine yazacağız.
wget -O- http://imageserver:8000/windows10.gz | gunzip | dd of=/dev/vda
wget -O- http://139.59.150.43:8000/windows10.gz | gunzip | dd of=/dev/vda
İşlem tamamlandı.
Şimdi sunucuyu tekrar “Boot from Hard Drive” moduna alacağız. “ON” butonuna basıp sunucuyu kapatacağız. Kapandıktan sonra “OFF” butonuna basarak tekrar açacağız.
Şimdi sunucuya erişmek için “Access” tabı altındaki “Launch Recovery Console” butonuna tıklayacağız.
Windows normal bir şekilde açıldı.
Artık imageserver sunucusuna ihtiyacımız kalmadı. Imageserver droplet’ine girip “Destroy” sekmesinden “Destroy this Droplet” diyoruz. Gelen uyarıya da “confirm” diyerek devam ediyoruz.
Şimdi sunucunun ağ ayarlarını yapacağız. Ekranın sağ altında bulunan network simgesine tıklıyoruz. Ardından “Ağ & İnternet ayarları” butonuna tıklıyoruz.
Sonra “Ethernet” sekmesine tıklıyoruz.
“Bağdaştırıcı seçeneklerini değiştir” yazısına tıklıyoruz.
Bir bağdaştırıcıya sağ tıklayıp “Özellikler” yazısına tıklıyoruz.
“Internet Protokolü Sürüm 4 (TCP/IPv4)” yazısına çift tıklıyoruz.
Ekranın altında yazan bilgileri kullanarak IP adreslerini dolduruyoruz. DNS adreslerine de 1.1.1.1 ve 8.8.8.8 girip “Tamam” butonuna tıklıyoruz.
Artık internete de bağlıyız.
Şimdi uzak masaüstü yapmak için gerekli ayarları yapacağız. Başlata “uzak masaüstü ayarları” yazacağız. Türkçe karakter çıkmazsa sorun değil, sadece “uzak masa” yazdığınızda sonuçlarda göreceksiniz.
Uzak masaüstünü etkinleştirmek için “Kapalı” yazan anahtara tıklıyoruz. Gelen uyarıya “Onayla” diyerek devam ediyoruz.
Aynı ekrandan “Gelişmiş ayarlar” yazısına tıklıyoruz.
“Bilgisayarların bağlanmak için Ağ Düzeyi Kimlik Doğrulaması bulunmasını gerektir (önerilen)” yazısının önündeki kutucuğu kaldırıyoruz. Gelen uyarıya “Yine de ilerle” diyerek devam ediyoruz.
Artık Microsoft’un kendi uzak masaüstü yazılımı ile sunucuya bağlanabiliriz.
Yazılımı buradan indirebilirsiniz.
Yazılımda sağ üst köşedeki “Add” ardından “PC” butonlarına basıyoruz.
Ip adresimizi girip kaydet diyoruz.
Artık sunucumuzu kullanabiliriz.