Mounten Sie Virtualbox-Laufwerke
Mounten Sie Virtualbox-Laufwerke
Ein Programm zum Mounten von Virtualbox-Festplattenlaufwerken.
Listet alle VMs in Ihrer Virtualbox-Konfiguration auf.
Kann auch aus einer .vdi-Datei gemountet werden, die nicht in der Konfiguration enthalten ist.
Erstellen Sie benutzerdefinierte Skripte: Erstellen Sie Ihre eigenen Befehle, um Aufgaben auf ausgewählten/gemounteten/allen Festplatten auszuführen
genießen
Hauptfenster: Bearbeiten von Befehlen:
Listet alle VMs in Ihrer Virtualbox-Konfiguration auf.
Kann auch aus einer .vdi-Datei gemountet werden, die nicht in der Konfiguration enthalten ist.
Erstellen Sie benutzerdefinierte Skripte: Erstellen Sie Ihre eigenen Befehle, um Aufgaben auf ausgewählten/gemounteten/allen Festplatten auszuführen
genießen
Hauptfenster: Bearbeiten von Befehlen:
- Dateianhänge
-
- vbox-mounter-1.2.3.tar.gz
- (119.82 KiB) 50-mal heruntergeladen
Zuletzt geändert von Bonus am Mi 18. Sep 2024, 20:08, insgesamt 10-mal geändert.
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Hi
Danke für das interessante Projekt. Bei mir gabe es bisher folgende Probleme:
1. Programmabbruch bei allen Val(..)-Kommandos
Das Problem konnte schnell durch das Austauschen von Val(..) gegen CStr(..) behoben werden (wir verwenden in Deutschland das Komma zum Separieren der Dezimalen).
2. Programabbruch durch Parser
Das Programm brach ab, weil der Parser in GetBoxes() meine Kali VBox-Appliance nicht richtig verarbeitete. Das lag an der abweichenden Struktur des Info-Blocks dieser VM:
-----------------------------------------------------------------
VM Name: "Kali-Linux-2022.2-virtualbox-amd64"
UUID: 98aefc3c-c537-4093-bb5c-b9baa1c72df9
Desc: Kali Rolling (2022.2) x64
2022-05-12
- - - - - - - - - - - - - - - - - -
Username: kali
Password: kali
(US keyboard layout)
- - - - - - - - - - - - - - - - - -
* Kali Homepage:
https://www.kali.org/
* Documentation:
https://www.kali.org/docs/
* Kali Tools:
https://www.kali.org/tools/
* Forum/Community Support:
https://forums.kali.org/
* IRC Channel:
ircs://irc.oftc.net:6697/#Kali-Linux
https://www.kali.org/docs/community/kal ... c-channel/
Path: /home/user/VirtualBox VMs/Kali-Linux-2022.2-virtualbox-amd64/Kali-Linux-2022.2-virtualbox-amd64.vbox
Image: Kali-Linux-2022.2-virtualbox-amd64-disk001.vdi
UUID: b29eab3e-62e4-4b89-9230-d0e4f35a5d3f
Path: /home/user/VirtualBox VMs/Kali-Linux-2022.2-virtualbox-amd64/Kali-Linux-2022.2-virtualbox-amd64-disk001.vdi
Format: vdi
Size: 12.4G
State: created
Type: normal
Nachdem ich den Parser wie folgt geändert hatte:
und auch diese Sub geändert hatte:
wurden die VMs aufgelistet. Nachdem ich allerdings die auskommentierte Zeile
'hVM.Volumes = VBoxVDI.GetVolumes(hVM.ImagePath)
aktivierte, erhielt ich in der Zeile:
die Fehlermeldung: "vboximg-mount: error: Could not get the storage format of the medium 'home/user .....vbox' (VERR_NOT_SUPPORTED)
Danach habe ich meine Versuche vorerst abgebrochen.
Viele Grüße
Crabman
Danke für das interessante Projekt. Bei mir gabe es bisher folgende Probleme:
1. Programmabbruch bei allen Val(..)-Kommandos
Das Problem konnte schnell durch das Austauschen von Val(..) gegen CStr(..) behoben werden (wir verwenden in Deutschland das Komma zum Separieren der Dezimalen).
2. Programabbruch durch Parser
Das Programm brach ab, weil der Parser in GetBoxes() meine Kali VBox-Appliance nicht richtig verarbeitete. Das lag an der abweichenden Struktur des Info-Blocks dieser VM:
-----------------------------------------------------------------
VM Name: "Kali-Linux-2022.2-virtualbox-amd64"
UUID: 98aefc3c-c537-4093-bb5c-b9baa1c72df9
Desc: Kali Rolling (2022.2) x64
2022-05-12
- - - - - - - - - - - - - - - - - -
Username: kali
Password: kali
(US keyboard layout)
- - - - - - - - - - - - - - - - - -
* Kali Homepage:
https://www.kali.org/
* Documentation:
https://www.kali.org/docs/
* Kali Tools:
https://www.kali.org/tools/
* Forum/Community Support:
https://forums.kali.org/
* IRC Channel:
ircs://irc.oftc.net:6697/#Kali-Linux
https://www.kali.org/docs/community/kal ... c-channel/
Path: /home/user/VirtualBox VMs/Kali-Linux-2022.2-virtualbox-amd64/Kali-Linux-2022.2-virtualbox-amd64.vbox
Image: Kali-Linux-2022.2-virtualbox-amd64-disk001.vdi
UUID: b29eab3e-62e4-4b89-9230-d0e4f35a5d3f
Path: /home/user/VirtualBox VMs/Kali-Linux-2022.2-virtualbox-amd64/Kali-Linux-2022.2-virtualbox-amd64-disk001.vdi
Format: vdi
Size: 12.4G
State: created
Type: normal
Nachdem ich den Parser wie folgt geändert hatte:
Code: Alles auswählen
Public Sub GetBoxes()
Dim hVM As VBoxUnit
Dim sTmp As String
Dim aVbox As String[]
Dim aMounts As String[] = FMain.GetOtherMounts()
Dim s As String
Dim i As Integer
$aVMS = New VBoxUnit[]
'Dim d As Date = Now
' Shell "vboximg-mount -lv" Wait To sRes
sTmp = Temp("vms")
Shell "vboximg-mount -lv >" & sTmp Wait
$sVMText = File.Load(sTmp)
Try Kill sTmp
'Debug DateDiff(d, Now, gb.Millisecond)
aVBox = Split($sVMText, "\n")
Print aVBox.max
Do Until i = aVBox.max
Inc i
s = aVBox[i]
'Print "s: "; s
If InStr(s, "VM Name:") Then
hVM = New VBoxUnit As "VBUNIT"
hVM.Name = UnQuote(GetLine(s))
Else
If InStr(s, "UUID:") Then
hVM.UUID = GetLine(s)
Else If InStr(s, " Path:") Then
hVM.Path = GetLine(s)
Else If InStr(s, "Image:") Then
hVM.ImageName = GetLine(s)
Else If InStr(s, "ImageUUID:") Then
hVM.ImageUUID = GetLine(s)
Else If InStr(s, " UUID:") Then
hVM.ImageUUID = GetLine(s)
Else If InStr(s, "Path:") Then
hVM.ImagePath = GetLine(s)
Else If InStr(s, " Format:") Then
hVM.ImageFormat = GetLine(s)
Else If InStr(s, " Size:") Then
hVM.ImageSize = GetLine(s)
Else If InStr(s, " State:") Then
hVM.ImageState = GetLine(s)
Else If InStr(s, " Type:") Then
hVM.ImageType = GetLine(s)
'hVM.Volumes = VBoxVDI.GetVolumes(hVM.ImagePath)
$aVMS.Add(hVM)
If aMounts.Exist(hVM.TmpDir & "/*", gb.Like) Then
hVM.Mount(True)
Endif
Endif
End If
Loop
End
Code: Alles auswählen
Private Function GetLine(sLine As String) As String
Dim sSplit As String[]
sSplit = Split(sLine, ":")
Return Trim(sSplit[1])
End
'hVM.Volumes = VBoxVDI.GetVolumes(hVM.ImagePath)
aktivierte, erhielt ich in der Zeile:
Code: Alles auswählen
Static Public Sub GetVolumes(Path As String) As VBoxVDI[]
...
Error.Raise(Split(sRes, "\n\r", Null, True)[0])
...
Danach habe ich meine Versuche vorerst abgebrochen.
Viele Grüße
Crabman
Re: Mounten Sie Virtualbox-Laufwerke
danke für den Bericht
Wow, ja, deine Kali-Informationen unterscheiden sich stark von allen anderen, die ich gefunden habe und die alle das gleiche Format hatten, daher der schlechte Code
Ich habe jetzt die Erkennungsmethode geändert, die hoffentlich nicht zu denselben Fehlern führen sollte.
Und diese beiden Val-Befehle in cStr geändert
Hmm, eigentlich denke ich, ich sollte CFloat und nicht CStr verwenden, da ich Float-Werte aus einem String auswerte
Lassen Sie mich wissen, wenn bei CFloat ein Fehler auftritt, danke
Es ist wahrscheinlich einfacher für mich, die Korrekturen vorzunehmen, da ich den Code besser kenne. Beispielsweise wurde die Zeile, die Sie auskommentiert haben, aus einem bestimmten Grund festgeschrieben, den ich nicht vergessen habe.
Aber ich schätze die Fehlerberichte sehr, vielen Dank nochmals
Ich habe auch die Option zum Starten der VM hinzugefügt
Ich habe das Archiv im ersten Beitrag aktualisiert.
Wow, ja, deine Kali-Informationen unterscheiden sich stark von allen anderen, die ich gefunden habe und die alle das gleiche Format hatten, daher der schlechte Code
Ich habe jetzt die Erkennungsmethode geändert, die hoffentlich nicht zu denselben Fehlern führen sollte.
Und diese beiden Val-Befehle in cStr geändert
Hmm, eigentlich denke ich, ich sollte CFloat und nicht CStr verwenden, da ich Float-Werte aus einem String auswerte
Lassen Sie mich wissen, wenn bei CFloat ein Fehler auftritt, danke
Es ist wahrscheinlich einfacher für mich, die Korrekturen vorzunehmen, da ich den Code besser kenne. Beispielsweise wurde die Zeile, die Sie auskommentiert haben, aus einem bestimmten Grund festgeschrieben, den ich nicht vergessen habe.
Aber ich schätze die Fehlerberichte sehr, vielen Dank nochmals
Ich habe auch die Option zum Starten der VM hinzugefügt
Ich habe das Archiv im ersten Beitrag aktualisiert.
Zuletzt geändert von Bonus am So 15. Sep 2024, 16:22, insgesamt 1-mal geändert.
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Hi
Zwei Val > CStr - Ersetzungen fehlten noch:
Danach konnte ich das Programm starten und die VMs wurden aufgelistet. Das Starten von VMs klappte nicht.
Die Änderung der Fuse-Parameter habe ich noch nicht vorgenommen. Das werde ich mir erst genauer durchlesen.
Viele Grüße
Crabman
Zwei Val > CStr - Ersetzungen fehlten noch:
Code: Alles auswählen
Public Sub _new(ID As Integer, Size As String, UUID As String)
$iID = ID
$sSizeString = Size
$sUUID = UUID
Dim f As Long
Dim sChar As String = Right($sSizeString, 1)
Dim sVal As String = Left($sSizeString, -1)
If sChar = "M" Then
'f = Val(sVal) * 1024 * 1024 '<--------------------------
f = CStr(sVal) * 1024 * 1024
Else If sChar = "G" Then
'f = Val(sVal) * 1024 * 1024 * 1024 '<------------------------
f = CStr(sVal) * 1024 * 1024 * 1024
Endif
....
Die Änderung der Fuse-Parameter habe ich noch nicht vorgenommen. Das werde ich mir erst genauer durchlesen.
Viele Grüße
Crabman
Re: Mounten Sie Virtualbox-Laufwerke
Ups, tut mir leid, dass du zu schnell für mich warst
Ja, ich habe zwei davon verpasst :-\
1.1.5 ist jetzt verfügbar
Kein einziges Val() irgendwo im Code
Ja, ich habe zwei davon verpasst :-\
1.1.5 ist jetzt verfügbar
Kein einziges Val() irgendwo im Code
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Hoppla, die Schaltfläche zum Starten der Vm funktioniert nicht, weil ich vergessen habe, mnuRun als Gruppe hinzuzufügen.
Das Menü funktioniert einwandfrei und ich habe gerade 1.1.5 mit dem Fix überschrieben. Entschuldigung :-\
Das Menü funktioniert einwandfrei und ich habe gerade 1.1.5 mit dem Fix überschrieben. Entschuldigung :-\
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Hi
Das Mounten, Un-Mounten und Starten der VMs klappt super.
Vielen Dank! Das kann ich gut gebrauchen.
Viele Grüße!
Crabman
Das Mounten, Un-Mounten und Starten der VMs klappt super.
Vielen Dank! Das kann ich gut gebrauchen.
Viele Grüße!
Crabman
Re: Mounten Sie Virtualbox-Laufwerke
Gerne geschehen.
Ich denke, dass ich das auch oft nutzen werde.
Das Testen meiner Programme auf VMs mit bestimmten Gambas-Versionen wird viel einfacher sein, da ich jetzt erkennen kann, welche Version sich wo befindet
Wir danken auch Benoit dafür, dass er das alles möglich gemacht hat
Ich denke, dass ich das auch oft nutzen werde.
Das Testen meiner Programme auf VMs mit bestimmten Gambas-Versionen wird viel einfacher sein, da ich jetzt erkennen kann, welche Version sich wo befindet
Wir danken auch Benoit dafür, dass er das alles möglich gemacht hat
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Ein paar Updates...
Beim Starten einer VM können nun einige Optionen eingestellt werden.
Stellen Sie den Bildschirmmodus ein: Normal, Nahtlos, Skaliert, Vollbild
Die Wiederherstellung vom aktuellen Snapshot ist jetzt standardmäßig aktiviert.
Außerdem habe ich Übersetzungen aktiviert und den gesamten Quellcode nach Zeichenfolgen durchsucht, die hinzugefügt werden sollten. Es gibt maximal etwa 78 (einige benötigen möglicherweise keine Übersetzung)
Version 1.2.0 zum ersten Beitrag hochgeladen.
Beim Starten einer VM können nun einige Optionen eingestellt werden.
Stellen Sie den Bildschirmmodus ein: Normal, Nahtlos, Skaliert, Vollbild
Die Wiederherstellung vom aktuellen Snapshot ist jetzt standardmäßig aktiviert.
Außerdem habe ich Übersetzungen aktiviert und den gesamten Quellcode nach Zeichenfolgen durchsucht, die hinzugefügt werden sollten. Es gibt maximal etwa 78 (einige benötigen möglicherweise keine Übersetzung)
Version 1.2.0 zum ersten Beitrag hochgeladen.
Zuletzt geändert von Bonus am Mo 16. Sep 2024, 18:45, insgesamt 1-mal geändert.
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Ich habe versucht, die automatische Übersetzungsfunktion von Gambas zu verwenden und habe die Übersetzung für Sie erledigt
Ich habe Deutsch, Französisch, Italienisch und Spanisch hinzugefügt.
Bitte lassen Sie mich wissen, wenn etwas nicht stimmt.
V 1.2.1
Ich habe Deutsch, Französisch, Italienisch und Spanisch hinzugefügt.
Bitte lassen Sie mich wissen, wenn etwas nicht stimmt.
V 1.2.1
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Hi
Da die automatischen Übersetzungen in vielen Fällen nicht passten, habe ich sie überarbeitet. Anbei die de-Sprachdateien.
Achtung: Die Breite des Button "btnMount" wird im Programm modifiziert, sodass die deutsche Übersetzung abgeschnitten wird. Ich habe deshalb noch diese Zeile geändert, damit sich der Button auch an Übersetzungen anpasst:
btnMount.Width = btnMount.Font.TextWidth((" Browse ")) + (Desktop.Scale * 2)
Viele Grüße
Crabman
Da die automatischen Übersetzungen in vielen Fällen nicht passten, habe ich sie überarbeitet. Anbei die de-Sprachdateien.
Achtung: Die Breite des Button "btnMount" wird im Programm modifiziert, sodass die deutsche Übersetzung abgeschnitten wird. Ich habe deshalb noch diese Zeile geändert, damit sich der Button auch an Übersetzungen anpasst:
btnMount.Width = btnMount.Font.TextWidth((" Browse ")) + (Desktop.Scale * 2)
Viele Grüße
Crabman
- Dateianhänge
-
- de.tar.gz
- (5.09 KiB) 25-mal heruntergeladen
Re: Mounten Sie Virtualbox-Laufwerke
Ausgezeichnet, CrabMan, vielen Dank.
Ich habe den Code zum Ändern der Größe des Mount-Buttons entfernt, ich weiß nicht einmal, warum ich das getan habe
Ich habe V1.2.2 mit den neuen Übersetzungen in den ersten Beitrag hochgeladen und Ihnen in der Readme.md-Datei gedankt
nochmals vielen Dank
Ich habe den Code zum Ändern der Größe des Mount-Buttons entfernt, ich weiß nicht einmal, warum ich das getan habe
Ich habe V1.2.2 mit den neuen Übersetzungen in den ersten Beitrag hochgeladen und Ihnen in der Readme.md-Datei gedankt
nochmals vielen Dank
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Re: Mounten Sie Virtualbox-Laufwerke
Es kam mir albern vor, bei jedem Programmstart meinen Gambas-Versionsbefehl ausführen zu müssen.
Also gibt es jetzt etwas namens StoreData. Wenn ein Befehl ausgeführt wird, kann seine Ausgabe zur StoreData-Sammlung einer VM hinzugefügt werden.
Alle zu speichernden Befehlsausgaben werden in eine Datei mit VM-Namen geschrieben, die dann zum Lesen verfügbar ist.
Wenn Sie auf eine VM klicken, werden deren StoredData im Datenfenster angezeigt.
Standardmäßig werden die Daten in Temp() gespeichert und beim Neustart gelöscht, aber es gibt eine Menüoption, die Sie sich merken müssen (speichert stattdessen in $HOME/.config/vbox-mounter).
Im Befehlseditor gibt es einige neue Optionen (Kontrollkästchen) für einzelne Befehle.
Ergebnis speichern: Die Ausgabe speichert die StoredData der VM.
Kein Unmounten: Unmounten Sie kein Laufwerk, wenn es zum Ausführen des Befehls automatisch gemountet wurde.
Ruhig: Drucken Sie die Ausgabe nicht in das Statusfenster.
Weitere visuelle Verbesserungen.
Jetzt wird neben dem VM-Namen ein Kamerasymbol angezeigt, wenn ein Snapshot vorhanden ist.
Jetzt wird neben dem VM-Namen ein Infosymbol angezeigt, wenn gespeicherte Daten vorhanden sind.
Weitere visuelle Anpassungen.
Datenbereich und/oder Statusbereich ein- oder ausblenden
Wählen Sie aus, welche Felder im Datenbereich angezeigt werden sollen.
Habe eine Readme.md erstellt, fast Anweisungen
V 1.2.3 im ersten Beitrag
Also gibt es jetzt etwas namens StoreData. Wenn ein Befehl ausgeführt wird, kann seine Ausgabe zur StoreData-Sammlung einer VM hinzugefügt werden.
Alle zu speichernden Befehlsausgaben werden in eine Datei mit VM-Namen geschrieben, die dann zum Lesen verfügbar ist.
Wenn Sie auf eine VM klicken, werden deren StoredData im Datenfenster angezeigt.
Standardmäßig werden die Daten in Temp() gespeichert und beim Neustart gelöscht, aber es gibt eine Menüoption, die Sie sich merken müssen (speichert stattdessen in $HOME/.config/vbox-mounter).
Im Befehlseditor gibt es einige neue Optionen (Kontrollkästchen) für einzelne Befehle.
Ergebnis speichern: Die Ausgabe speichert die StoredData der VM.
Kein Unmounten: Unmounten Sie kein Laufwerk, wenn es zum Ausführen des Befehls automatisch gemountet wurde.
Ruhig: Drucken Sie die Ausgabe nicht in das Statusfenster.
Weitere visuelle Verbesserungen.
Jetzt wird neben dem VM-Namen ein Kamerasymbol angezeigt, wenn ein Snapshot vorhanden ist.
Jetzt wird neben dem VM-Namen ein Infosymbol angezeigt, wenn gespeicherte Daten vorhanden sind.
Weitere visuelle Anpassungen.
Datenbereich und/oder Statusbereich ein- oder ausblenden
Wählen Sie aus, welche Felder im Datenbereich angezeigt werden sollen.
Habe eine Readme.md erstellt, fast Anweisungen
V 1.2.3 im ersten Beitrag
- Dateianhänge
-
- vbim.png (80.21 KiB) 136 mal betrachtet
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast