Bir sanal makinede COM’lara erişmenin yollarını ele almak için zaten zaman ayırdık (makaleyi burada bulabilirsiniz.) Serial to Ethernet Connector, Hyper-V seri port geçişinde COM için harika bir çözüm olsa da, Hyper-V seri porta COM port eklemek için aşağıda ele alacağımız birkaç başka seçeneğe de göz atmaya değer.
Hyper-V'de Seri porta nasıl erişilir
Bir sanal makinenin seri bağlantı noktasına bağlanmanız gerekiyorsa, Seri Port Yönlendirici‘ye ihtiyacınız olacaktır. Bu aracı nasıl kullanacağınızı öğrenmek ve sanal porta erişmek için kullanmak üzere şu adımları izleyin:
1. Seriden Ethernet Bağlayıcısını edinin hem sanal makinede hem de ana işletim sisteminde.
2. Sanal makinede uygulamayı açarak başlayın. “Bağlantılar” menüsünü açın ve “Yeni Sunucu Bağlantısı”nı seçin.
3. Paylaşacağınız port hakkında, numarası ve ona bağlanmak için kullanılan TCP portu dahil olmak üzere gerekli bilgileri doldurun.
Not: portu sanal yapmak için onay kutusunu işaretleyin.
4. “Oluştur” düğmesine basın.
5. Şimdi, ana makinede Seriden Ethernet’e geçin. “Uzak Bağlantılar”ı açın.
6. Her şey düzgün bir şekilde ayarlandıysa, sanal makine bağlantı noktası listede görünmelidir. Onu seçin.
7. Verileri almak için kullanılacak bağlantı noktası gibi istemci bağlantı seçeneklerini ayarlayın.
8. “Oluştur”a bir kez daha basın, hepsi bu kadar.
Video eğitimi:
PipeDream ile seri donanım bir sanal makineye nasıl bağlanır
Hyper-V seri portlarına COM portu eklemek isteyen Sanal Makine kullanıcıları için PipeDream ideal bir seçenektir. Hyper-V aracındaki bu seri port, Hyper-V’yi barındıran aynı sunucu (bir sanallaştırma ana bilgisayarı) üzerinden çalışır ve sanal makineler ile seri portlar arasındaki boşluğu kapatır.
PipeDream seri donanımdan (COM portuna takılı olan her neyse) alınan verileri ileterek çalışır ve Sanal Makinenin bunu tanımasına ve erişmesine yardımcı olur (ve tersi de geçerlidir).
Ek olarak, PipeDream’in bir sunucuda çalışması için istemci taraflı bir bileşene ihtiyacı yoktur; bu da Hyper-V seri destek geçişini (passthrough) daha da kullanışlı hâle getirir. PipeDream, katılan sanal makine(ler) üzerinde herhangi bir kurulum (cihaz, yazılım veya başka bir şey) gerektirmez—böylece eski OS/yazılım uyumluluğunu en üst düzeye çıkarır ve XP (ve daha eski) işletim sistemleri için güvenilir destek sağlar.
PipeDream, konuk sanal makinelerin sanallaştırma ana bilgisayarındaki (veya diğer makinelerdeki) seri portları kontrol etmesine olanak tanır. Bu araç, Hyper-V’nin adlandırılmış boru desteği sayesinde çalışır; yani iletişim için bir ağ bağlantısı gerekli değildir. Hyper-V’de sadece bir boru adı oluşturun ve PipeDream programını başlattığınızda PipeDream, konuk VM’in seri aygıtına bağlanacaktır.
Sorumluluk reddi: PipeDream, Hyper-V’de seri port yazılımı Microsoft’un Hyper-V’si ile uyumludur, ancak Microsoft ile hiçbir bağlantısı olmayan üçüncü taraf bir araçtır. “Hyper-V” terimini kullanmamız, Microsoft Corporation’ı desteklemek veya onunla bağlantı kurmak amacı taşımaz.
Gen 1 Hyper-V sanal makinesine sahip olanlar için
Hyper-V’ye COM bağlantı noktası eklemeyi öğrenmek için aşağıdaki adım adım kılavuzu takip edin.
1. Hyper-V Yöneticisi’ni çalıştırın ve Misafir Makine’nin Ayarlarını (kurmak istediğiniz VM) açın;
2. Yeni pencereden COM1 veya COM2’yi seçin (sol taraftaki donanım listesinde bulunur);
3. Bu, sanal makinenin seçtiğiniz seri cihaza erişmesini sağlayan seri bağlantı noktasıdır (diğer bir deyişle VM’de görünen bağlantı noktası, ana makinenin fiziksel seri bağlantı noktasından farklı olabilir);
4. “PipeDream” adlı boruyu misafirin seri portuna bağlayın (bunu Adlandırılmış boru’ya tıklayarak yapın ve borunun adı olarak “PipeDream” yazın—aşağıdaki görsele referans için bakın);
5. Uzak bir bilgisayarda seri cihazı olanlar için “Uzak bilgisayar” onay kutusunun işaretli olduğundan emin olun ve makinenin adını girin;
6. Tamam’a tıklayın;
Gen-2 sanal makineler için nasıl yapılandırılır
Gen-2 sanal makineleri çalıştıranlar için, yukarıda görüntülenen pipe ayarları GUI kullanılarak yapılandırılamaz; bu nedenle kullanıcıların PowerShell komutlarını uygulaması gerekir.
1. Bir Powershell oturumu açın;
2. Get-VM’i çalıştırın;
3. İstenen seri porta sahip sanal makinenin adını kopyalayın;
4. COM1 veya COM2 seri bağlantı noktası için Set-VMComPort -Number < 1 veya 2 > -Path \.pipePipeDream komutunu çalıştırın
5. Boru oluşturmayı doğrulamak için Get-VMComPort’u kullanın (örnek amaçlı “SillyRabbit” adlı bir VM kullanılarak aşağıda görüntülenen ekran görüntüsüne bakın).
Ama Gen 2 VM’ler için COM portları yok, değil mi…?
Açıkçası, cevap hem evet hem hayırın bir karışımı (buradaki “hayır” ağırlıklı olarak varsayılan Hyper-V seri port passthrough yeteneklerine odaklanıyor.) Heyecan verici haber şu ki, bu ayarlanabilir!
Aşağıdaki ekran görüntüleri bir Windows 8 VM’den alınmıştır (özellikle bir önceki bölümde yazılım tabanlı klavye için sürücünün eklendiği oluşturulan medyayı kullanarak.)
Aşağıdaki örnekte, temel bir gen-2 sanal makinenin ayarlarında COM port seçeneklerinin bulunmadığını göreceksiniz.
Bunun nedeni, seri portların mevcut olup olmamasına bakılmaksızın, Gen-2 Hyper-V Yöneticisi’nin COM portlarını asla görüntülememesidir.
Aşağıda PowerShell’in ne söylediğine içeriden bir göz atacağız:
PowerShell’in iki kullanılabilir COM bağlantı noktası gösterdiğine dikkat edin? Ancak, misafir makinenin Aygıt Yöneticisi’ni açarsanız, VM için listelenmiş herhangi bir COM bağlantı noktası olmayacaktır.
Aşağıdaki örneği (COM1 kullanarak) sanal makine çalışırken COM bağlantı noktaları için bir pipe yolu yapılandırmak üzere inceleyin:
Daha önce de belirtildiği gibi, misafir makinenin Aygıt Yöneticisi kontrol edildiğinde COM1 görüntülenmez; ancak VM kapatılıp yeniden başlatıldıktan sonra, istenen COM portu artık listeden kullanılabilir olacaktır (aşağıya bakın.)
Çekirdek hata ayıklama konusunda deneyimli olanlar için, kalan süreç oldukça basit ve doğrudandır—yalnızca Gen-2 VM’lere özgü (daha da spesifik olarak Secure Boot kullanan UEFI tabanlı bilgisayarlar) küçük bir istisna dışında.
msconfig aracılığıyla, VM için COM1 üzerinde çekirdek hata ayıklamayı etkinleştirdik. Ancak TAMAM’a tıkladıktan sonra aşağıdaki hata mesajı görünüyor:
Neden? Çünkü Window’un politikası Secure Boot ile çekirdek hata ayıklamanın uyumlu olmadığını belirtir. Bu, kullanıcıların sanal makineyi kapatmaları ve ardından ürün yazılımı ayarlarından Secure Boot’u devre dışı bırakmaları gerektiği anlamına gelir.
- Çekirdek hata ayıklamayı etkinleştirmek için msconfig’i bir kez daha kullanın (bu sefer başarılı olacaktır);
- VM’yi yeniden başlatın;
- Ana bölümün windbg’si üzerinden pipe’a bağlanın;
Sonuç
Özetle, Hyper-V sanal makinelere doğrudan fiziksel COM port geçişi sağlamasa da, seri iletişim adlandırılmış borular, PowerShell yapılandırması ve özel yönlendirme araçları kullanılarak yine de gerçekleştirilebilir. Bu yöntemler, eski yazılım desteği, donanım entegrasyonu veya hata ayıklama gibi görevler için hem Gen 1 hem de Gen 2 VM’lerle çalışmayı mümkün kılar.
Doğrudan seri erişimin pratik olmadığı senaryolarda, Serial to Ethernet Connector etkili bir alternatif olabilir. Seri veriyi ağ trafiğine dönüştürerek, bu tür cihazlar COM tabanlı ekipmanların TCP/IP üzerinden erişilebilir olmasını ve sanal makinelerle kolayca paylaşılmasını sağlar. Seri port yönlendirme yazılımıyla birleştirildiğinde, bu yaklaşım daha fazla esneklik sunar ve sanallaştırılmış Hyper-V ortamlarında fiziksel seri cihazlara erişimi basitleştirir.