Windows 10'da bir VHD'nin komut satırı üzerinden nasıl çıkarılır


9

Windows 10'da bir toplu iş komut dosyasıyla bir VHD bağlantısını kesmem gerekiyor. Çevrimiçi bulduğum tek çözüm Windows 7'ye yönelikti ve Diskpart'ı içeriyordu. İşi yapabilen başka yerel Windows komut satırı araçları var mı?


cmd cinsinden zor olabilir. Powershell bilmiyorum ama powershell çok şey yapıyor .. örneğin birçok bağlantı powershell istediğini yapabilir sanallaştırmaadmin.com / kbase/VirtualizationTips/…
barlop

@barlop Yorumunuz ve bağlantılar için teşekkür ederiz. Toplu işin Powershell'in yüklü olmadığı bir sistemde çalışması gerekiyor, bu yüzden korkarım bu bir seçenek değil.
Zerobinary99

diskpart kullanmak istememenizin özel bir nedeni var mı? Eğer bir toplu iş dosyası var böylece örneğin önerilen olmayan bir interaktif bir şekilde çalışabileceği bir dosya Script.txt içine diskpart komut dosyası üzerinden yankılar, daha sonra yaptığı diskpart / sn Script.txt burada diskpart komut dosyası örneği var technet.microsoft .com / tr-tr / kütüphane / dn614984.aspx
barlop

@barlop Diskpart çözümünün farkındayım ve şu anda farklı bir sistemde kullanıyorum. Bunun üzerinde çalışılması amaçlananın üzerinde disk bölümü yoktur.
Zerobinary99

Bence bunu yapan bir 3. parti bulmanın bile zor olacağını düşünüyorum. Yerel komutlar oldukça iyi biliniyor, eminim diskpart dışında bunu yapan herhangi bir şey yok. Disk bölümünün bunu yapması neredeyse bir mucize. (diskpart, fdisk gibi oldukça "basit" bir program olduğundan ve insanlar seçeneği fark etmeden kullanmaya eğilimlidir. Bunu yapacak başka bir yerel komut olduğu fikri neredeyse düşünülemez. Bir toplu iş dosyası koyabilirsiniz Orada, buraya
disk bölümü

Yanıtlar:


6

Yalnızca MS tarafından yüklenen komut satırı araçlarına güvenmenin bir yolunu bulamadığım için üçüncü taraf çözümlerini listeleyeceğim.


WinApiExec

WinApiExec , kullanıcının komut satırından Windows API'sını çağırmasını sağlar. 32bit yürütülebilir dosya yalnızca 3.5KB boyutundadır (x64: 5.5KB) ve bu nedenle gülünç derecede küçüktür ve mümkün olduğunca az ek yük getirmektedir.

winapiexec.exe virtdisk.dll@OpenVirtualDisk $a:2,0 "C:\Example Path\Test.vhd" 262144 0 0 $b:4 , virtdisk.dll@DetachVirtualDisk $$:7@0 0 0

Vmount

vMount , VHD ile ilgili birkaç işlevi destekler. Boyutu (x86: 432KB; x64: 2.53MB) sadece WinApi'yi çağırmak için oldukça büyük, bu yüzden senaryom için bir çözüm değil, ancak diğer insanlar için yararlı olabilir.

vmount detach \\.\PhysicalDriveX

DiskPart

Bütünlük adına DiskPart da belirtilecektir. Diskle ilgili birçok özelliği destekler, ancak komut dosyası oluşturma amaçları için aksi takdirde gerekli olan kullanıcı girişini otomatikleştirmek için oldukça yavaş bir yol vardır. Ayrıca, komut dosyasını yanlışlıkla yükseltmeden yanlışlıkla çalıştırırsanız listedeki bir döngüde sıkışacak tek araçtır.

Aşağıdaki iki satırı bir metin dosyasına kaydedin:

vdisk file="C:\Example Path\Test.vhd"
detach vdisk

Artık Dism, metin dosyasını katılımsız yanıt dosyası olarak ayrıştırabilir:

DISKPART /s C:\Path_to\Name_Of_Textfile.txt

3

Yerel Windows 10 Powershell kullanarak vhd / vhdx'i bağlayabilir ve bağlantısını kesebilirsiniz:

Import-module hyper-v
Dismount-VHD -Path 'c:\my.vhd'

Cmd / bat'dan:

powershell -command "Import-module hyper-v; Dismount-VHD -Path 'c:\my.vhd'"

Her iki durumda da yükseltilmiş (Yönetici olarak çalıştır) istemini kullanmanız gerekir.

Dikkat edilmesi gereken başka bir şey, önce Hyper-V özelliğini etkinleştirmeniz gerektiğidir .


Yorumumdan soruma: "Parti, Powershell'in yüklü olmadığı bir sistemde çalışabilmelidir, bu yüzden korkarım bu bir seçenek değil."
Zerobinary99

Ben farkında PowerShell, Windows 10 ayrılmaz bir parçası olan duyuyorum kadarıyla gibi bunu, (Windows 10 hakkında sorular var) olamaz yüklemek veya kaldırmak. Ancak, yürütülmesi Grup İlkesi gibi çeşitli yollarla engellenebilir.
Anton Krouglov

Neden koşulları sorguluyorsun? Onlar için bir sebep var. Powershell'siz bir Windows Lite kullanıyorum ve daha fazla hafif seçenek varsa ihtiyacım olmayan bir platformun tamamını
tutmuyorum

1
Ben de benzer bir sorun var. Googling eski sorunuzun var. Dolayısıyla bu cevap diğer insanlara da yardımcı olabilir.
Anton Krouglov

Bu soru iki yaşından büyük olduğundan ve gereksiniminizle ilgili başlık belirsiz olduğundan, bu cevap genişletilmiş cevabım gibi birçok kişiye yardımcı olur. Bu sitenin nasıl çalıştığı ve politikaları hakkında daha fazla bilgi edinmek için daha fazla yığın değişimi Meta okumalısınız. Bu tür cevaplar topluluk için çok yararlı @ Zerobinary99
FreeSoftwareServers

1

Bu genişletilmiş bir cevaptır: (VHD'yi nasıl takacağınızı öğrenebilmelisiniz)

Nasıl Yapılır? VHD dosyalarını önyükleme / kapatma işlemine otomatik olarak bağlar ve bunlara bağlanır.

Windows 10'da işler biraz değişti.

İlk olarak, bir Linux Dosya Sunucusunda saklanan bir VHD'yi SMB üzerine monte ettiğimi söylemeliyim.

İkincisi, çok önemli, yeniden başlattıktan sonra diski çıkarmazsanız, yeniden takmaya çalıştığınızda "Dosya kullanımda ve erişilemiyor" diyor.

Bu yüzden hem automount'a hem de unmount'a ihtiyacımız var. Sadece başlangıç ​​klasörüne koyamıyorum çünkü unmount biraz hile yaptı. Grup İlkesi kullanmanız gerekir. Ayrıca, bir "kapatma / başlatma" komut dosyası olarak çalıştırıldığında, erken koştu, "Logon / Logoff" da çalıştırmanız gerekir

İçinde 4 dosya var C:\mount

mount.cmd

@ECHO OFF

DISKPART /s C:\mount\mount.txt

umount.cmd

@ECHO OFF

DISKPART /s C:\mount\umount.txt

umount.txt

select vdisk file="\\192.168.1.255\Blizzard.vhdx"
detach vdisk

mount.txt

select vdisk file="\\192.168.1.255\Blizzard.vhdx"
attach vdisk

Şimdi start / run yazın gpedit.mscve oturum açma / oturum kapatma komut dosyalarını ekleyin

resim açıklamasını buraya girin


Cevabınız için teşekkürler, ancak bu soruna bir çözüm değil. Diskpart kullanmanın yanı sıra toplu olarak uyumlu bir çözüm arıyordum. Temelde cevabımdaki sözdizimini yapıştırdınız.
Zerobinary99

Üçüncü taraf araçları kullanmadan yerleşik windows işlevini kullanmanın yanı sıra? Oksimoronik görünüyor.
FreeSoftwareServers

Diğer yerel Windows işlevlerini soruyordum . Bununla ilgili oksimoronik bir şey yok. Bana genel anlama sorunlarınız var gibi geliyor.
Zerobinary99
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.