USB remounten

rcsapo

James Grieve
Registriert
06.11.05
Beiträge
138
Hallo Macsperten,

Aus purem Interesse die folgende Frage: Ein ausgeworfener USB-Stick verschwindet (ich nehme an ordnungsgemäß) aus dem Finder, und wird auch nicht mehr in Disk Utility oder /Volumes angezeigt. Gibt es irgendeine (u.U. Shell-basierte) Möglichkeit das Laufwerk zu remounten, ohne es ab- und wieder anzustecken?

Dieses Problem ist natürlich nicht als besonders wichtig zu betrachten…

LG,
Robert.
 

vcr80

Gestreifter Böhmischer Borsdorfer
Registriert
06.11.08
Beiträge
3.396
Hallo Macsperten,

Aus purem Interesse die folgende Frage: Ein ausgeworfener USB-Stick verschwindet (ich nehme an ordnungsgemäß) aus dem Finder, und wird auch nicht mehr in Disk Utility oder /Volumes angezeigt. Gibt es irgendeine (u.U. Shell-basierte) Möglichkeit das Laufwerk zu remounten, ohne es ab- und wieder anzustecken?

Dieses Problem ist natürlich nicht als besonders wichtig zu betrachten…

LG,
Robert.

das würde mich auch interessieren, aber ich glaube das remounten ist mehr arbeit als aus und wieder an stecken
 

Chezar

Galloway Pepping
Registriert
08.10.07
Beiträge
1.349
Außer jemand kann da mit Apple Script ein Tool basteln, welches durch Klicken auf einen Button das Remounten erledigt... aber da bin ich leider überfragt. Jedenfalls würde ich mich auch über die Möglichkeit des Remountens freuen, da die "manuelle Version" doch etwas unkonfortabel ist.
 

rcsapo

James Grieve
Registriert
06.11.05
Beiträge
138
Außer jemand kann da mit Apple Script ein Tool basteln, welches durch Klicken auf einen Button das Remounten erledigt... aber da bin ich leider überfragt. Jedenfalls würde ich mich auch über die Möglichkeit des Remountens freuen, da die "manuelle Version" doch etwas unkonfortabel ist.

Das geht sicher, wenn das Laufwerk in /Volumes noch aufscheint. Aber wenn es das nicht mehr tut? Hm, da bin ich skeptisch…
 

Chezar

Galloway Pepping
Registriert
08.10.07
Beiträge
1.349
Aber übers Festplattendienstprogramm funktioniert es, wenn ich mich nicht irre... also sollte es kein grundsätzliches Problem darstellen.

Hier hab ich ein Script gefunden, mit dem theoretisch alle nicht gemounteten Volumes gemountet werden sollten.

Code:
tell application "Finder"
    set num to 0
    set dvce to "not null"
    repeat while dvce > ""
        set dvnum to "diskutil list /dev/disk" & num & " | grep disk" & num & " | awk '{print $5}' " as string
        set dvce to do shell script dvnum as string
        set cnt to (count of words of dvce) as string
        if cnt > 1 then
            set devicename to word 2 of dvce
            if exists devicename then
                -- already mounted
            else
                do shell script "diskutil mountDisk /dev/" & devicename
            end if
        end if
        set num to num + 1
    end repeat
end tell

Edith sagt: Scheint aber bei USB-Peripherie nicht 100%ig zu funktionieren.
 
Zuletzt bearbeitet:

Chezar

Galloway Pepping
Registriert
08.10.07
Beiträge
1.349
Nachtrag: Das hier scheint besser zu funktionieren.
Man muss dieses Script als Exectuable "mountall" in usr/bin abspeichern:
Code:
#!/usr/bin/perl
# mountall [zeorge 04-2004]
@line_in = `disktool -l | grep volName`;
foreach $line (@line_in) {
$dev = extract($line,"Appeared ('","'");
$mp = extract($line,"Mountpoint = '","'");
$vn = extract($line,"volName = '","'");
if($mp eq "" && $vn ne "") {
print "mounting volume $vn ($dev) ... ";
print `diskutil mount $dev`;
}
}
sub extract {
my $string = shift;
my $start = shift;
my $end = shift;
my $pos = index($string,$start) + length($start);
$string = substr($string,$pos);
$pos = index($string,$end);
return substr($string,0,$pos);
}
und dann mittels Applescript starten:

Code:
tell application "Terminal"
do script "mountall"
end tell
 
  • Like
Reaktionen: GunBound

rcsapo

James Grieve
Registriert
06.11.05
Beiträge
138
Aber übers Festplattendienstprogramm funktioniert es, wenn ich mich nicht irre... also sollte es kein grundsätzliches Problem darstellen.

Also bei mir scheint der Stick nach dem Auswerfen im Festplattendienstprogramm nicht auf, daher kann ich ihn meines Wissens nach dort auch nicht mounten.
 

rcsapo

James Grieve
Registriert
06.11.05
Beiträge
138
Nachtrag: Das hier scheint besser zu funktionieren.
Man muss dieses Script als Exectuable "mountall" in usr/bin abspeichern:
Code:
#!/usr/bin/perl
# mountall [zeorge 04-2004]
@line_in = `disktool -l | grep volName`;
foreach $line (@line_in) {
$dev = extract($line,"Appeared ('","'");
$mp = extract($line,"Mountpoint = '","'");
$vn = extract($line,"volName = '","'");
if($mp eq "" && $vn ne "") {
print "mounting volume $vn ($dev) ... ";
print `diskutil mount $dev`;
}
}
sub extract {
my $string = shift;
my $start = shift;
my $end = shift;
my $pos = index($string,$start) + length($start);
$string = substr($string,$pos);
$pos = index($string,$end);
return substr($string,0,$pos);
}
und dann mittels Applescript starten:

Code:
tell application "Terminal"
do script "mountall"
end tell

Das Skript wird zwar wie es scheint ausgeführt, den USB-Stick seh ich danach aber trotzdem nicht
 

Chezar

Galloway Pepping
Registriert
08.10.07
Beiträge
1.349
Dann könnts vielleicht so klappen:

Code:
tell application "Finder"
    set devices to (do shell script "disktool -l | grep -E \"Mountpoint = ''.+volName = '[^']+\"") as string
    repeat with i from 1 to count of (paragraphs of devices)
        set lineItem to paragraph i of devices
        set devicename to word 6 of lineItem
        do shell script "diskutil mountDisk /dev/" & devicename
    end repeat
end tell

Wenn das auch nichts funktioniert, dann bin ich mit meinem Latein leider auch am Ende.
 

rcsapo

James Grieve
Registriert
06.11.05
Beiträge
138
Code:
tell application "Finder"
    set devices to (do shell script "disktool -l | grep -E \"Mountpoint = ''.+volName = '[^']+\"") as string
    repeat with i from 1 to count of (paragraphs of devices)
        set lineItem to paragraph i of devices
        set devicename to word 6 of lineItem
        do shell script "diskutil mountDisk /dev/" & devicename
    end repeat
end tell

Meine Applescript-Kenntnisse sind praktisch nicht existent. Wenn ich den o.a. Code in den Script-Editor paste und auf Run klicke, krieg ich die folgende Fehlermeldung:

Finder got an error: Unable to find disk for /dev/fsType

Muss ich den Code irgendwie für meinen Devicenamen modifizieren?
 

Chezar

Galloway Pepping
Registriert
08.10.07
Beiträge
1.349
Das Script sollte (theoretisch) einfach abfragen, welche Volumes erkannt werden, aber nicht gemountet sind und ebendiese anschließend mounten. Wenn es das allerdings nicht tut, dann bin ich leider auch überfragt. Näheres dazu findest du hier und hier.

Ich hab in der Zwischenzeit auch schon mit so Tools wie Mount It!, Mount, MountnuoM usw. experimentiert, bin aber leider bisher auch damit zu keinem zufriedenstellendem Ergebnis gekommen.