एक फ़ोल्डर में VHDx फ़ाइल माउंट करें को डिसमाउंट करें?


0

एक यूएसबी ड्राइव पर, मेरे पास एक वीएचडीएक्स फ़ाइल है (जिसे बिटलॉक किया गया है)।

मैं विंडोज 8 सिस्टम पर VHDx फ़ाइल को जल्दी से माउंट और डिसकाउंट करने के लिए दो स्क्रिप्ट बनाना चाहता हूं।

मैं ड्राइव को मेरी USB डिस्क पर सबफ़ोल्डर में माउंट करना चाहता हूं।

मैं माउंट स्क्रिप्ट लिखने में सफल रहा:

$scriptDir = Split-Path($MyInvocation.MyCommand.Definition)

$vhdPath = Join-Path $scriptDir "\_private\crypted.vhdx"
$mountPath = Join-Path $scriptDir "\Data"

if(-not (Get-ChildItem $mountPath -Force)) # check if not already mounted
{
    Mount-VHD -NoDriveLetter -Path $mountPath
}
else{
    Write-Warning "Already mounted"
}

हालाँकि, डिस्काउंट स्क्रिप्ट काम नहीं करती है:

$scriptDir = Split-Path($MyInvocation.MyCommand.Definition)

$vhdPath = Join-Path $scriptDir "\_private\crypted.vhdx"
$mountPath = Join-Path $scriptDir "\Data"

if(Get-ChildItem $mountPath) # check if not already mounted
{
    Dismount-VHD -Path $vhdPath
}
else{
    Write-Warning "Not mounted"
}

Dismount-VHD -Path $vhdPathएक त्रुटि फेंक:

Dismount-VHD: Élément N: _pStreet \ crypted.vhdx इंट्रोवर्टेबल।

(कुछ इस तरह अनुवादित किया जा सकता है item N:\_private\crypted.vhdx introuvable cannot be found)

मैं भी कोशिश करता हूं Dismount-VHD -Path $mountPath, लेकिन मुझे एक और अपवाद मिलता है:

डिस्माउंट-वीएचडी: ले पैरामेत्रे नेस्ट पेस वैलिड। «N: \ Data» n'est pas un fichier de disque dur virtuel अस्तित्व में।

(अनुवाद: अमान्य पैरामीटर: n: \ Data डिस्क फ़ाइल नहीं है)

VHD फ़ाइल को हटाने का सही तरीका क्या है?

जवाबों:


0

एक तकनीकी धागे की मदद से , मैंने आखिरकार अपनी स्क्रिप्ट्स को काम बना लिया:

अंतिम कार्य स्क्रिप्ट ये हैं:

माउंट .ps1:

$scriptDir = Split-Path($MyInvocation.MyCommand.Definition)

$vhdPath = Join-Path $scriptDir "\_private\crypted.vhdx"
$mountPath = Join-Path $scriptDir "\Data"

if(-not (Get-ChildItem $mountPath -ea SilentlyContinue)) # check if not already mounted
{
    $diskPartScriptContent = @( 
        "select vdisk file=$vhdPath", 
        "attach vdisk"
        )
    $diskPartScriptFile = Join-Path $scriptDir "_diskpart.tmp"
    Set-Content  -Path $diskPartScriptFile -Value $diskPartScriptContent
    $result = (& diskpart.exe /s $diskPartScriptFile)

    & mountvol n:\data "\\?\Volume{820c8453-f504-11e2-bedd-9e2cd2a4b688}"

}
else{
    Write-Warning "Already mounted"
}

Dismount.ps1:

$scriptDir = Split-Path($MyInvocation.MyCommand.Definition)

$vhdPath = Join-Path $scriptDir "\_private\crypted.vhdx"
$mountPath = Join-Path $scriptDir "\Data"

if(Get-ChildItem $mountPath -ea SilentlyContinue) # check if not already mounted
{
    $diskPartScriptContent = @( 
        "select vdisk file=$vhdPath", 
        "detach vdisk"
        )
    $diskPartScriptFile = Join-Path $scriptDir "_diskpart.tmp"
    Set-Content  -Path $diskPartScriptFile -Value $diskPartScriptContent
    & diskpart.exe /s $diskPartScriptFile
    & mountvol $mountPath /d

}
else{
    Write-Warning "Not mounted"
}

मैंने अपने माउंट स्क्रिप्ट में वॉल्यूम आईडी को हार्डकोड किया है। अगर किसी को यह स्वचालित रूप से प्राप्त करने का तरीका पता है, तो मैं सराहना करूंगा।

लेकिन मैं अब तक इसके साथ रह सकता हूं, क्योंकि मेरी मात्रा हमेशा एक ही है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.