विंडोज 10 में कमांड लाइन के माध्यम से वीएचडी को कैसे अनमाउंट करें


9

मुझे विंडोज 10 में बैच स्क्रिप्ट के साथ एक वीएचडी को अनमाउंट करने की आवश्यकता है। एकमात्र समाधान जो मैंने पाया है वह विंडोज 7 पर निर्देशित था और डिस्कपार्ट शामिल था। क्या कोई अन्य देशी विंडोज कमांड लाइन टूल उपलब्ध है जो काम कर सकता है?


cmd में मुश्किल हो सकती है। मैं powershell पता नहीं है लेकिन powershell इतना .. जैसे कई लिंक powershell क्या आप चाहते हैं कर सकते हैं कहना है virtualizationadmin.com/kbase/VirtualizationTips/... और technet.microsoft.com/en-us/library/hh848562(v=wps .630) .aspx
बार्लोप

@barlop आपकी टिप्पणी और लिंक के लिए धन्यवाद। बैच को एक ऐसी प्रणाली पर चलने में सक्षम होना होगा जहां Powershell स्थापित नहीं है, इसलिए मुझे डर है कि यह विकल्प नहीं है।
Zerobinary99

क्या कोई विशेष कारण है कि आप डिस्कपार्ट का उपयोग क्यों नहीं करना चाहते हैं? जैसे यह एक गैर-संवादात्मक तरीके से चल सकता है, इसलिए आपके पास एक बैच फ़ाइल हो सकती है जो एक डिस्कपार्ट स्क्रिप्ट को एक फ़ाइल script.txt में बाहर निकालती है, फिर डिस्कपार्ट / एस स्क्रिप्ट करता है। यहां एक डिस्कपार्ट स्क्रिप्ट का एक उदाहरण है जो कि Technet.microsoft है। .com / en-us / पुस्तकालय / dn614984.aspx
barlop

@barlop मुझे डिस्कपार्ट-सॉल्यूशन के बारे में पता है और मैं वर्तमान में एक अलग सिस्टम पर इसका उपयोग कर रहा हूं। जिस पर काम करने का इरादा है, उस पर कोई डिस्कपार्ट नहीं है।
Zerobinary99

मुझे लगता है कि यह एक 3 पार्टी को खोजने के लिए काफी कठिन होगा। मूल आज्ञाएँ बहुत अच्छी तरह से जानी जाती हैं, मुझे यकीन है कि कोई भी ऐसा नहीं है जो इसे डिस्कपार्ट के अलावा नहीं करता है। यह लगभग एक चमत्कार है कि डिस्कपार्ट इसे करता है। (चूँकि डिस्कपार्ट एक ऐसा "सरल" प्रोग्राम है, जैसे कि fdisk था, और लोग विकल्प को नोट किए बिना इसका उपयोग करते हैं। यह विचार कि एक और देशी कमांड है जो इसे करेगा, लगभग अकल्पनीय है। यदि आप एक बैच फ़ाइल डाल सकते हैं। वहाँ पर, क्या आप वहाँ
डिस्कपार्ट

जवाबों:


6

चूंकि मुझे एमएस-स्थापित कमांड लाइन टूल पर पूरी तरह से भरोसा करने का एक तरीका नहीं मिला है, इसलिए मैं तीसरे पक्ष के समाधानों की सूची दूंगा।


WinApiExec

WinApiExec उपयोगकर्ता को कमांड लाइन से विंडोज एपीआई को कॉल करने में सक्षम बनाता है। 32 बिट निष्पादन योग्य केवल 3.5KB आकार में है (x64: 5.5KB) और इसलिए हास्यास्पद रूप से छोटा है, जितना संभव हो उतना कम ओवरहेड का परिचय।

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- संबंधित कार्यों का समर्थन करता है। इसका आकार (x86: 432KB; x64: 2.53MB) केवल WinApi को बुलाने के लिए बहुत बड़ा है, इसलिए यह मेरे परिदृश्य का समाधान नहीं है, लेकिन अन्य लोगों के लिए उपयोगी हो सकता है।

vmount detach \\.\PhysicalDriveX

DiskPart

पूर्णता के लिए DiskPart का उल्लेख किया जाएगा। यह डिस्क-संबंधित सुविधाओं का एक बड़ा सौदा का समर्थन करता है, लेकिन स्क्रिप्टिंग उद्देश्यों के लिए अन्यथा आवश्यक उपयोगकर्ता इनपुट को स्वचालित करने के लिए इसके बारे में जाने का एक सुस्त तरीका है। यह सूची का एकमात्र उपकरण भी है, जो यदि आप गलती से स्क्रिप्ट को बिना ऊंचे अधिकारों के चलाते हैं तो एक लूप में फंस जाएगा।

निम्नलिखित दो पंक्तियों को टेक्स्ट फ़ाइल में सहेजें:

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

अब, Dism पाठ फ़ाइल को अनअटेंडेड उत्तर फ़ाइल के रूप में पार्स कर सकता है:

DISKPART /s C:\Path_to\Name_Of_Textfile.txt

3

आप देशी Windows 10 Powershell का उपयोग करके vhd / vhdx को माउंट और अनमाउंट कर सकते हैं:

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

Cmd / बल्ले से:

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

किसी भी स्थिति में आपको एलिवेटेड (एडमिन के रूप में रन) प्रॉम्प्ट का उपयोग करना होगा।

ध्यान देने वाली एक और बात यह है कि आपको पहले हाइपर- V फीचर को इनेबल करना होगा


मेरी टिप्पणी से मेरे प्रश्न के लिए: "बैच को एक सिस्टम पर चलाने में सक्षम होने की आवश्यकता है जहां पॉवर्स को स्थापित नहीं किया गया है, इसलिए मुझे डर है कि यह एक विकल्प नहीं है।"
Zerobinary99 7

जहां तक ​​मुझे पता है कि Powershell विंडोज 10 का एक अभिन्न हिस्सा है (आपने विंडोज 10 के बारे में पूछा है), इसलिए आप इसे इंस्टॉल या अनइंस्टॉल नहीं कर सकते । हालाँकि इसका निष्पादन समूह नीति जैसे विभिन्न माध्यमों से अवरुद्ध हो सकता है।
एंटोन क्राउग्लोव

आप शर्तों पर सवाल क्यों उठा रहे हैं? उनके लिए एक कारण है। मैं पॉवर्सशेल के बिना एक विंडोज लाइट चला रहा हूं और मैं एक पूरे मंच को रखने का विरोध कर रहा हूं, अगर मुझे अधिक हल्के वजन के विकल्प उपलब्ध नहीं हैं
Zerobinary99

1
मुझे भी ऐसी ही समस्या है। अहंकार के कारण आपके पुराने प्रश्न सामने आए हैं। तो यह उत्तर अन्य लोगों के लिए भी उपयोगी हो सकता है।
एंटोन क्राउग्लोव

चूंकि यह प्रश्न दो साल से अधिक पुराना है और शीर्षक आपकी आवश्यकता के बारे में अस्पष्ट है, इसलिए यह उत्तर कई अन्य लोगों की मदद करता है जैसा कि मेरा विस्तारित जवाब है। यह साइट कैसे संचालित होती है और इसकी नीतियों के बारे में अधिक जानने के लिए आपको अधिक स्टैक एक्सचेंज मेटा पढ़ना चाहिए। इस तरह के उत्तर समुदाय के लिए बहुत उपयोगी हैं @ Zerobinary99
FreeSoftwareServers

1

यह एक विस्तारित उत्तर है: (आपको वीएचडी को umount करने में सक्षम होना चाहिए)

HowTo बूट / शटडाउन पर स्वचालित रूप से VHD फ़ाइलों को माउंट और umount करें।

लगता है कि विंडोज 10 में चीजें थोड़ी बदल गई हैं।

सबसे पहले, मुझे कहना चाहिए कि मैं एक लिनक्स फाइल सर्वर पर संग्रहीत एक वीएचडी बढ़ रहा हूं, जो एसएमबी पर बढ़ रहा है।

दूसरा, बहुत महत्वपूर्ण है, यदि आप रिबूट पर डिस्क को अलग नहीं करते हैं, तो जब आप इसे फिर से संलग्न करने का प्रयास करते हैं, तो यह कहता है "फ़ाइल उपयोग में है और इसे एक्सेस नहीं किया जा सकता है" ।।

इसलिए हमें ऑटोमाउंट और अनमाउंट दोनों की जरूरत है। अनमाउंट थोड़ा मुश्किल साबित हुआ, क्योंकि मैंने इसे स्टार्टअप फ़ोल्डर में नहीं रखा था। आपको ग्रुप पॉलिसी का उपयोग करना होगा। इसके अलावा, जब "शटडाउन / स्टार्टअप" स्क्रिप्ट के रूप में चलाया जाता है, तो यह जल्दी चला गया, आपको इसे "लॉगऑन लॉगऑफ़" पर चलाने की आवश्यकता है

मेरे पास 4 फाइलें हैं 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

अब स्टार्ट टाइप / रन gpedit.mscऔर स्क्रिप्ट को लॉगऑन / लॉगऑफ में जोड़ें

यहाँ छवि विवरण दर्ज करें


उत्तर के लिए धन्यवाद, लेकिन यह समस्या का समाधान नहीं है। मैं एक बैच-संगत समाधान की तलाश कर रहा था जो डिस्कपार्ट के उपयोग से अलग था। आपने मूल रूप से वही सिंटैक्स चिपकाया है जो पहले से ही मेरे उत्तर में है।
Zerobinary99

3 डी टूल का उपयोग किए बिना अंतर्निहित विंडोज़ फ़ंक्शन का उपयोग करने के अलावा? ऑक्सीमोरोनिक लगता है।
FreeSoftwareServers

मैं अन्य देशी विंडोज कार्यों के लिए पूछ रहा था । उस बारे में कुछ भी नहीं है। मुझे लगता है कि आपके पास सामान्य समझ के मुद्दे हैं।
Zerobinary99
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.