Discussion:
Vhdmount - kann VHDs mounten aber nicht ent-mounten
(zu alt für eine Antwort)
Kai-Uwe v. d. Ohe
2007-10-29 13:23:58 UTC
Permalink
Hallo!
Ich habe mir neben VPC 2007 auch den VS 2005 R2 SP1 (Host OS ist
Vista Ultimate) installiert. Mittels der reg-Datei von hier:

http://blogs.msdn.com/virtual_pc_guy/archive/2006/09/01/734435.aspx

habe ich jetzt die Möglichkeit, VHDs zu mounten (Rechtsklick auf die
entsprechende VHD -> Mount), aber Rechtsklick ->Dismount tut's nicht.

Damit Mount funktioniert, muss ich Vhdmount.exe als Administrator aus-
führen, was ich unter den Eigenschaften der .exe-Datei auch so festgelegt
habe.

Was funktioniert, ist, eine Kommandozeile (cmd) als Admin auszuführen
und dann die VHD manuell (/u) zu ent-mounten, was aber umständlich ist.

Unter XP konnte man das sehr nützliche Tool "Send To" als Erweiterung
des Kontextmenus installieren und dann u.a. einen Pfad in die Zwischenab-
lage kopieren. Für Vista habe ich sowas noch nicht gefunden. Weiß dazu
jemand was? Wäre praktisch, um, wie oben erwähnt, Vhdmount über eine
Kommandozeile zum ent-mounten einer VHD zu bewegen, jetzt muss ich
immer den kompletten Pfad eintippen.

Gruß,

Kai-Uwe
Kai-Uwe v. d. Ohe
2007-10-29 19:18:46 UTC
Permalink
[...]
Post by Kai-Uwe v. d. Ohe
Unter XP konnte man das sehr nützliche Tool "Send To" als Erweiterung
des Kontextmenus installieren und dann u.a. einen Pfad in die Zwischenab-
lage kopieren. Für Vista habe ich sowas noch nicht gefunden. Weiß dazu
jemand was? Wäre praktisch, um, wie oben erwähnt, Vhdmount über eine
Kommandozeile zum ent-mounten einer VHD zu bewegen, jetzt muss ich
immer den kompletten Pfad eintippen.
Ok, hier habe ich jetzt etwas gefunden. Unter:

http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=464906&SiteID=17

gab es eine Diskussion zum Thema. Das Tool "Send To Toys" von hier:

http://www.gabrieleponti.com/software/

ließ sich problemlos installieren und hat auch die Möglichkeit, einen
Pfad in die ZA zu kopieren. Bleibt nur noch meine eigentliche Frage,
warum das ent-mounten unter Vista nicht funktioniert.

Gruß,

Kai-Uwe
Stefan Kanthak
2007-10-29 16:53:57 UTC
Permalink
Post by Kai-Uwe v. d. Ohe
Hallo!
Ich habe mir neben VPC 2007 auch den VS 2005 R2 SP1 (Host OS ist
http://blogs.msdn.com/virtual_pc_guy/archive/2006/09/01/734435.aspx
habe ich jetzt die Möglichkeit, VHDs zu mounten (Rechtsklick auf die
entsprechende VHD -> Mount), aber Rechtsklick ->Dismount tut's nicht.
Damit Mount funktioniert, muss ich Vhdmount.exe als Administrator aus-
führen, was ich unter den Eigenschaften der .exe-Datei auch so festgelegt
habe.
Funktioniert unter Vixxa das Verb "Runas" nicht mehr?
Fuer Ab- und Anhaengen wird jedesmal das gleiche Programm VHDMount.exe
aufgerufen, entweder mit Schalter /u oder /p. Wieso laeuft das nur ein
einem Fall mit Administrator-Privilegien?

Fuer Vixxa hat jemand ein Programm namens "elevate.exe" geschrieben:
Du findest es in einer der letzten Ausgaben von MSDN- oder TechNet-Magazine.
Post by Kai-Uwe v. d. Ohe
Was funktioniert, ist, eine Kommandozeile (cmd) als Admin auszuführen
und dann die VHD manuell (/u) zu ent-mounten, was aber umständlich ist.
/u steht doch in der Kommandozeile?!

Aendere zur Diagnose die Kommandozeile in der Registry in
%SystemRoot%\System32\CMD.EXE /K ....
dann bleibt das Fenster geoeffnet und Du kannst die Fehlermeldungen
lesen.

Wenn "Mount" richtig aufgerufen wird, dann auch "Unmount".
Dein Problem liegt nicht bei den Kommandozeilen.

Stefan
[
--
Die unaufgeforderte Zusendung werbender E-Mails verstoesst gegen §823
Abs. 1 sowie §1004 Abs. 1 BGB und begruendet Anspruch auf Unterlassung.
Beschluss des OLG Bamberg vom 12.05.2005 (AZ: 1 U 143/04)
Kai-Uwe v. d. Ohe
2007-10-30 14:10:39 UTC
Permalink
[...]
Post by Stefan Kanthak
Post by Kai-Uwe v. d. Ohe
Damit Mount funktioniert, muss ich Vhdmount.exe als Administrator aus-
führen, was ich unter den Eigenschaften der .exe-Datei auch so festgelegt
habe.
Funktioniert unter Vixxa das Verb "Runas" nicht mehr?
Ich kenne nur Vixta:

http://vixta.sourceforge.net/

Was runas angeht, lese ich mich gerade hier ein:

http://www.codeproject.com/useritems/UAC__The_Definitive_Guide.asp

Ist es das, was du meinst?
Post by Stefan Kanthak
Fuer Ab- und Anhaengen wird jedesmal das gleiche Programm VHDMount.exe
aufgerufen, entweder mit Schalter /u oder /p. Wieso laeuft das nur ein
einem Fall mit Administrator-Privilegien?
Wenn du das in den Eigenschaften der .exe so festlegst (Kontextmenu ->
Eigenschaften -> Kompatibilität -> Häkchen bei "Programm als ein Admi-
nistrator ausführen"), gilt das natürlich immer.

Vhdmount verlangt erhöhte Rechte, sei es auf die eben beschriebene Art
oder alternativ über eine Kommandozeile, welche mit erhöhten Rechten
aufgerufen wird und über die du dann Vhdmunt startest, wobei es die
erhöhten Rechte der Kommandozeile erbt.

Nur bei letzterer Variante - wobei es dann auch unnötig ist, an den Eigen-
schaften der.exe selbst zu fummeln - klappt das ent-mounten, das mounten
klappt hingegen immer, also bei beiden Varianten.

Möchte man eine VHD mittels Doppelklick mounten, ist zusätzlich zu
den im Eingangsposting genannten Registryeinträgen wieder oben be-
schriebene Einstellung an der .exe notwendig. Auch hier geht das ent-
mounten aber wieder nur über eine Kommandozeile mit erhöhten Rech-
ten.

In der Liste der von von VS 2005 unterstützten Hostsysteme steht bei
Vista übrigens der Hinweis, das man das nicht auf Produktivsystemen
einsetzten soll. Vielleicht ist damit ja gemeint, das es zu solchen "Neben-
wirkungen" wie hier beschrieben kommen kann.
Post by Stefan Kanthak
Du findest es in einer der letzten Ausgaben von MSDN- oder
TechNet-Magazine.
s.o.
Post by Stefan Kanthak
Post by Kai-Uwe v. d. Ohe
Was funktioniert, ist, eine Kommandozeile (cmd) als Admin auszuführen
und dann die VHD manuell (/u) zu ent-mounten, was aber umständlich ist.
/u steht doch in der Kommandozeile?!
Laut der im Eingangsposting erwähnten .reg-Datei ja.
Post by Stefan Kanthak
Aendere zur Diagnose die Kommandozeile in der Registry in
%SystemRoot%\System32\CMD.EXE /K ....
dann bleibt das Fenster geoeffnet und Du kannst die Fehlermeldungen
lesen.
Ich will nicht unbedingt an der Registry fummeln. Was ich beobchtet ha-
be: Versucht man eine bereits gemountete VHD nochmals zu mounten,
erscheint kurz ein Kommandozeilenfenster mit einem Hinweistext. Beim
Versuch zu ent-mounten (Rechtsklick auf VHD -> Dismount) erscheint
ebenfalls kurz ein Kommandozeilenfenster, es ist aber kein Text zu sehen.
Von daher vermute ich, daß es keine Fehlermeldung gibt.
Post by Stefan Kanthak
Wenn "Mount" richtig aufgerufen wird, dann auch "Unmount".
Eben.
Post by Stefan Kanthak
Dein Problem liegt nicht bei den Kommandozeilen.
Es lässt sich über selbige umgehen, woran's hakt, ist mir
momentan noch unklar.

Gruß,

Kai-Uwe
Stefan Kanthak
2007-10-30 22:57:11 UTC
Permalink
Post by Kai-Uwe v. d. Ohe
[...]
Post by Stefan Kanthak
Post by Kai-Uwe v. d. Ohe
Damit Mount funktioniert, muss ich Vhdmount.exe als Administrator aus-
führen, was ich unter den Eigenschaften der .exe-Datei auch so festgelegt
habe.
Funktioniert unter Vixxa das Verb "Runas" nicht mehr?
http://vixta.sourceforge.net/
Das KANN gar nicht so kaputt sein wie das total verkorkste Etwas, das
Microsoft derzeit allen nichts boeses ahnenden Computerkaeufern andrehen
moechte!
Post by Kai-Uwe v. d. Ohe
http://www.codeproject.com/useritems/UAC__The_Definitive_Guide.asp
Ist es das, was du meinst?
Jein, nur in anderem Zusammenhang: seit Windows 2000 startet ein ueber

--- .REG ---
[HKCR\.ext]
@="extfile"

[HKCR\extfile]
@="..."

[HKCR\extfile\shell]
@="runas"

[HKCR\extfile\shell\open]
@="Ausfuehren"

[HKCR\extfile\shell\open\command]
@="\"%ProgramFiles%\\...\\VHDMount.exe\" /U \"%L\""

[HKCR\extfile\shell\runas]
@="Ausfuehren als ..."

[HKCR\extfile\shell\runas\command]
@="\"%ProgramFiles%\\...\\VHDMount.exe\" /U \"%L\""
--- EOF ---

als Standardaktion fuer .EXT verknuepftes Programm nach Doppelklick auf
eine .EXT oder Rechtsklick->Ausfuehren als... erst nach Abfrage der
Benutzerkennung.
Post by Kai-Uwe v. d. Ohe
Post by Stefan Kanthak
Fuer Ab- und Anhaengen wird jedesmal das gleiche Programm VHDMount.exe
aufgerufen, entweder mit Schalter /u oder /p. Wieso laeuft das nur ein
einem Fall mit Administrator-Privilegien?
Wenn du das in den Eigenschaften der .exe so festlegst (Kontextmenu ->
Eigenschaften -> Kompatibilität -> Häkchen bei "Programm als ein Admi-
nistrator ausführen"), gilt das natürlich immer.
Also kann Deine Vermutung, es laege an den administrativen Rechten, wohl
NICHT zutreffen. Meine Frage sollte Dir diesen Umstand nur verdeutlichen.
Post by Kai-Uwe v. d. Ohe
Vhdmount verlangt erhöhte Rechte, sei es auf die eben beschriebene Art
oder alternativ über eine Kommandozeile, welche mit erhöhten Rechten
aufgerufen wird und über die du dann Vhdmunt startest, wobei es die
erhöhten Rechte der Kommandozeile erbt.
oder ueber obigen Registry-Eintrag. Wieso der Autor es mal wieder nicht
fuer noetig erachtet, auch fuer Nicht-Administratoren funktionierende
Registry-Eintraege zu liefern, ist mir ein Raetsel. Hat er schon was
von Rechtetrennung gehoert?!
Post by Kai-Uwe v. d. Ohe
Nur bei letzterer Variante - wobei es dann auch unnötig ist, an den Eigen-
schaften der.exe selbst zu fummeln - klappt das ent-mounten, das mounten
klappt hingegen immer, also bei beiden Varianten.
Und welche Fehlermeldung gibt VHDMount.exe /u im Fehlerfall zurueck?
Post by Kai-Uwe v. d. Ohe
Möchte man eine VHD mittels Doppelklick mounten,
Im OP schreibst Du noch Rechtsklick->Mount.
Wenn der Doppelklick ein "Mount" bewirkt, dann muss "Mount" als Standard-
Verb festgelegt sein, so wie ich oben "RunAs" unter [HKCR\extfile\shell]
als Standard-Verb festgelegt habe.
Post by Kai-Uwe v. d. Ohe
ist zusätzlich zu den im Eingangsposting genannten Registryeinträgen
wieder oben beschriebene Einstellung an der .exe notwendig. Auch hier
geht das entmounten aber wieder nur über eine Kommandozeile mit erhöhten
Rechten.
Doppelklick oder Rechtsklick->Mount sind unter der o.a. Randbedingung
identisch, und Rechtsklick->Unmount davon gar nicht betroffen.
Von daher konsistentes und so erwartetes Verhalten.
Post by Kai-Uwe v. d. Ohe
In der Liste der von von VS 2005 unterstützten Hostsysteme steht bei
Vista übrigens der Hinweis, das man das nicht auf Produktivsystemen
einsetzten soll. Vielleicht ist damit ja gemeint, das es zu solchen
"Nebenwirkungen" wie hier beschrieben kommen kann.
Frag den Autor der .REG, als Blog-Schreiber wird er ja wohl antworten.
Post by Kai-Uwe v. d. Ohe
Post by Stefan Kanthak
Du findest es in einer der letzten Ausgaben von MSDN- oder
TechNet-Magazine.
s.o.
Jein, "elevate.exe" ist etwas offizioeser:
<http://www.microsoft.com/technet/technetmag/issues/2007/06/UtilitySpotlight/Default.aspx>
Post by Kai-Uwe v. d. Ohe
Post by Stefan Kanthak
Aendere zur Diagnose die Kommandozeile in der Registry in
%SystemRoot%\System32\CMD.EXE /K ....
dann bleibt das Fenster geoeffnet und Du kannst die Fehlermeldungen
lesen.
Ich will nicht unbedingt an der Registry fummeln.
Und wie bezeichnest Du Deinen bisherigen Eingriff?
Post by Kai-Uwe v. d. Ohe
Was ich beobchtet habe: Versucht man eine bereits gemountete VHD nochmals
zu mounten, erscheint kurz ein Kommandozeilenfenster mit einem Hinweistext.
Modifiziere auch die Kommandozeile fuer "mount" wie beschrieben, dann
kannst Du die Fehlermeldung lesen.
Post by Kai-Uwe v. d. Ohe
Beim Versuch zu ent-mounten (Rechtsklick auf VHD -> Dismount) erscheint
ebenfalls kurz ein Kommandozeilenfenster, es ist aber kein Text zu sehen.
Von daher vermute ich, daß es keine Fehlermeldung gibt.
Vergewissere Dich. Vermutungen helfen nicht. Neben einer Fehlermeldung
koennte VHDMount.exe auch noch einen Exit-Code liefern!
Post by Kai-Uwe v. d. Ohe
Post by Stefan Kanthak
Wenn "Mount" richtig aufgerufen wird, dann auch "Unmount".
Eben.
Post by Stefan Kanthak
Dein Problem liegt nicht bei den Kommandozeilen.
Es lässt sich über selbige umgehen, woran's hakt, ist mir
momentan noch unklar.
Kommandozeilen heisst hier:

[HKCR\extfile\shell\verb]
@="<kommandozeile>"

Stefan
[
--
Die unaufgeforderte Zusendung werbender E-Mails verstoesst gegen §823
Abs. 1 sowie §1004 Abs. 1 BGB und begruendet Anspruch auf Unterlassung.
Beschluss des OLG Bamberg vom 12.05.2005 (AZ: 1 U 143/04)
Kai-Uwe v. d. Ohe
2007-10-31 19:24:28 UTC
Permalink
Erstmal danke für deine detailliereten Ausführungen! Des
Rätsels Lösung ist einigermaßen trivial. In der reg-Datei
wird die VHD mittels des Schalters "/u" abgehängt. Fügt
man z.B. noch ein "/d" hinzu, klappt auch Rechtsklick auf
VHD -> Dismount. Vhdmount wollte also anscheinend nur
wissen, ob ich eventuell gemachte Änderungen überneh-
men oder verwerfen möchte. Das gilt übrigens auch, wenn
ich voher VPC starte und dort Rückgängigdatenträger de-
aktiviere, habe das probiert.

Danach habe ich mir die reg-Datei entsprechend angepasst.
und kann jetzt VHDs wahlweise mit "/u /d" bzw. "/u /c" ab-
hängen. Die Kontextmenueinträge habe ich entsprechend
Dismount_c bzw. Dismount_d genannt.

Da ich mich mit den in reg-Dateien einzuhaltenden Konven-
tionen nicht wirklich auskenne, wollte ich es an dieser Stelle
einfach und ohne Leerzeichen machen. Wären Leerzeichen/
Umlaute erlaubt?

Gruß,

Kai-Uwe
Stefan Kanthak
2007-11-03 16:30:37 UTC
Permalink
Post by Kai-Uwe v. d. Ohe
Erstmal danke für deine detailliereten Ausführungen! Des
Rätsels Lösung ist einigermaßen trivial. In der reg-Datei
wird die VHD mittels des Schalters "/u" abgehängt. Fügt
man z.B. noch ein "/d" hinzu, klappt auch Rechtsklick auf
VHD -> Dismount. Vhdmount wollte also anscheinend nur
wissen, ob ich eventuell gemachte Änderungen überneh-
men oder verwerfen möchte. Das gilt übrigens auch, wenn
ich voher VPC starte und dort Rückgängigdatenträger de-
aktiviere, habe das probiert.
OK. Ich hatte mir vor einiger Zeit unter XP die entsprechenden
Kontextmenueeintraege selbst erstellt und habe dabei auch mit
diesen Varianten gespielt.
Post by Kai-Uwe v. d. Ohe
Danach habe ich mir die reg-Datei entsprechend angepasst.
und kann jetzt VHDs wahlweise mit "/u /d" bzw. "/u /c" ab-
hängen. Die Kontextmenueinträge habe ich entsprechend
Dismount_c bzw. Dismount_d genannt.
Jein, Du hast keine Namen fuer die Kontextmenueeintraege vergeben,
daher nimmt der Explorer die Namen der Registry-Schluessel.
Post by Kai-Uwe v. d. Ohe
Da ich mich mit den in reg-Dateien einzuhaltenden Konven-
tionen nicht wirklich auskenne, wollte ich es an dieser Stelle
einfach und ohne Leerzeichen machen. Wären Leerzeichen/
Umlaute erlaubt?
Ja.
Sinnvollerweise belaesst Du die Namen der Registry-Schluessel und
traegst den gewuenschten, im Kontextmenue anzuzeigenen Namen als
Defaultwert ein; in REGEDIT.EXE ist das der Eintrag mit dem
Namen "(Standard)", in *.REG der '@'.

--- *.REG ---
REGEDIT4 <- die *.REG liegt als ASCII-Datei vor

Windows Registry Editor Version 5.00 <- die *.REG liegt in UNICODE vor

[HKCR\vhdfile\shell]
@="der Name des Registry-Schluessels des Default-Verbs"

[HKCR\vhdfile\shell\verb] ; Registry-Schluessel fuer ein Verb,
; sinnvollerweise NICHT internationalisiert
@="der im Kontextmenue anzuzeigende, ggf. internationalisierte Eintrag"

[HKCR\vhdfile\shell\verb\command]
@="die Kommandozeile"
--- EOF ---

Stefan
[
--
Die unaufgeforderte Zusendung werbender E-Mails verstoesst gegen §823
Abs. 1 sowie §1004 Abs. 1 BGB und begruendet Anspruch auf Unterlassung.
Beschluss des OLG Bamberg vom 12.05.2005 (AZ: 1 U 143/04)
Kai-Uwe v. d. Ohe
2007-11-03 22:08:33 UTC
Permalink
[...]
Post by Stefan Kanthak
Post by Kai-Uwe v. d. Ohe
Danach habe ich mir die reg-Datei entsprechend angepasst.
und kann jetzt VHDs wahlweise mit "/u /d" bzw. "/u /c" ab-
hängen. Die Kontextmenueinträge habe ich entsprechend
Dismount_c bzw. Dismount_d genannt.
Jein, Du hast keine Namen fuer die Kontextmenueeintraege vergeben,
daher nimmt der Explorer die Namen der Registry-Schluessel.
Danke für die Erläuterung. Was ich übrigens zum Zeitpunkt des
Eingangspostings noch nicht wusste und vom Autoren erfahren
habe, als ich ihm geschrieben und darauf aufmerksam gemacht
hatte, dass man genannte Modifikationen der reg-Datei braucht,
war, dass er schon selbst eine angepasste Version für Vista er-
stellt hatte. Falls es dich interessiert, du findest den Eintrag hier:

http://blogs.msdn.com/virtual_pc_guy/archive/2007/06/20/double-clicking-on-a-vhd-to-mount-it-take-2.aspx

Dort ist auch von dem Problem mit dem Doppelklick die Rede,
incl. Anregung eines Kommentators. Habe mit letzterem aber noch
nicht experimentiert.

[...]

Gruß,

Kai-Uwe

Loading...