ISO-Image
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Hinweis:
Die mit * gekennzeichneten Punkte sind noch nicht getestet
ISO-Images sind Dateien, die ein ISO-9660- oder ISO-13346-Dateisystem (letzteres wird auch UDF genannt) enthalten.
Diese Images lassen sich entweder auf CD/DVD brennen, auf einen USB-Stick kopieren oder als Datenträger einhängen. Es existieren verschiedene Formen von Images, für die verschiedene Vorgehensweisen angeraten sind. Gemäß der Norm ISO-13346 sind die Größen einer Datei und des Dateisystems auf maximal 128 TB beschränkt. Was dann nicht mehr auf optische Datenträger passt.
ISO-Image brennen¶
ISO-Image auf DVD übertragen¶
Die ISO-Dateien der CD-Images oder DVD-Images dürfen nicht einfach als Datei bzw. Daten-CD/DVD gebrannt werden. Man muss immer darauf achten, das Abbild als "Image" zu brennen. Wie man ISO-Dateien brennt, kann man unter Brennprogramme nachlesen.
ISO-Image auf USB-Stick kopieren¶
Wechseldatenträger wie USB-Sticks oder SD-Karten haben den Vorteil, dass sie im Gegensatz zu normalen CDs/DVDs wiederverwendet werden können. Da seit ca. 2003 viele Rechner auch davon booten können und mit der Einführung von Hybrid-ISO-Images haben diese Datenträger die bisher üblichen optischen Medien in vielen Fällen abgelöst. Weitere Informationen liefert der Artikel Live-USB.
ISO-Image von USB-Stick entfernen¶
Wenn man einen solchen USB-Stick mit ISO-Image später wieder als normalen USB-Stick nutzen möchte, muss man ihn partitionieren und formatieren. Manche Programme weigern sich zuweilen, einen solchen USB-Stick zu bearbeiten und melden den Datenträger als defekt. In solchen Fällen hilft oft, die zur Verwaltung genutzten ersten Sektoren des Sticks mit Nullen zu überschreiben und damit die Partitionen des ISO-Image zu vernichten. Ein dafür geeigneter Befehl (sdX
muss angepasst werden!) lautet:
sudo dd if=/dev/null bs=8k count=128 of=/dev/sdX
Danach legt man mit dem gewohnten Programm eine neue Partitionstabelle mit Partitionen an und formatiert sie. Details lese im Artikel: dd
ISO-Dateien editieren¶
ISO Master ist ein Programm zum Erstellen und Bearbeiten von ISO-9660-Abbildern.
ISO-Dateien von CD/DVD erstellen¶
Um aus einer CD/DVD ein ISO-Image in einer Datei zu erstellen, kann man eines der verschiedenen Brennprogramme oder auf einer Kommandozeile dd verwenden.
Brasero |
GNOME/Ubuntu - Brasero¶
GNOME bzw. Ubuntu bringt in der Standardinstallation das Brennprogramm Brasero mit. Mit diesem lassen sich auf einfachem Weg ISO-Abbilder erzeugen. Dazu wählt man „CD/DVD kopieren“ und als Ziel „Abbilddatei“.
Alternativ nach dem Einbinden des Datenträgers auf dem Desktop einen Rechtsklick auf diesen ausführen und im Menü den Punkt „CD/DVD kopieren“ anwählen. Unter „Wählen Sie die zu beschreibende CD/DVD aus“ für die Abbilddatei entscheiden. Unter „Eigenschaften“ kann der Name festgelegt und der Speicherort ausgesucht werden. Wird nichts angegeben, erstellt Brasero das Abbild im Homeverzeichnis. Über „Abbild erstellen“ wird die ISO-Datei angelegt.
Hinweis:
Um Filme zu sichern, sind in der Regel vorbereitende Maßnahmen wie im Artikel DVD-Wiedergabe beschrieben erforderlich. Hierbei sind die Bestimmungen des jeweiligen Landes zu beachten. Siehe auch Kopierschutz (Abschnitt „Filme“) und Video-DVD kopieren.
Kommandozeile - dd¶
Mit dd (vorinstalliert) kann man das Image auch direkt auf der Kommandozeile erstellen. Man öffnet ein Terminal[1] und gibt dort beispielsweise
dd if=/dev/cdrom of=/tmp/ImageName.iso
ein. Damit wird das Image direkt ausgelesen und unter /tmp/ImageName.iso gespeichert.
Lesen des Inhalts von Imagedateien¶
Die gängigen Packprogramme können auch mit Imagedateien umgehen. Daher genügt zum Betrachten des Inhalts ein Doppelklick auf selbiges. Dieser Weg ist insbesondere der schnellste, wenn man lediglich auf einzelne Dateien zugreifen oder diese extrahieren möchte.
Einbinden von Imagedateien in das Dateisystem¶
Linux kann eine Imagedatei wie andere Dateisysteme in das Dateisystem einzubinden (vgl. unter Windows die dafür erforderlichen "Daemon Tools"). Da es sich nicht um ein reales Gerät handelt, wird die Datei als ein Loopdevice eingehängt.
ISO-Images grafisch einhängen¶
Es gibt verschiedene Werkzeuge, um ISO-Dateien grafisch einzuhängen. Manche sind bereits Bestandteil einer Desktopumgebung, andere müssen bei Bedarf nachinstalliert werden. Neben den folgenden Programmen gibt es noch die beiden Anwendungen CDEmu und AcetoneISO.
Nautilus (GNOME)¶
ISO-Abbilder kann man ganz einfach mit einem "Rechtsklick → mit Archiveinbinder öffnen" öffnen. Die Dateien auf der Imagedatei sind dann über Nautilus (Dateimanager) zugreifbar. Nicht in allen Anwendungen ist die Variante jedoch problemfrei, weil der vom Archiveinbinder erstellte Dateipfad (Muster: archive://file%253A%252F%252F%252Ftmp%252FIsofile.iso") von Nicht-GNOME-Programmen nicht zugreifbar ist. So kann man z.B. via Kommandozeile nicht darauf zugreifen. In diesem Fall müsste man entweder erforderliche Dateien mit dem Archiveinbinder in das Dateisystem exportieren oder man muss die Imagedatei tatsächlich mit den folgenden Werkzeugen normal einbinden.
Laufwerksverwaltung¶
Laufwerksverwaltung |
Über die Laufwerksverwaltung lassen sich ISO-Images in das Dateisystem einhängen.
* KDE¶
Laufwerksverwaltung |
ISO-Abbilder können in Dolphin und Konqueror nach der Installation[4] des Pakets
kde-service-menu-fuseiso (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install kde-service-menu-fuseiso
Oder mit apturl installieren, Link: apt://kde-service-menu-fuseiso
über das Servicemenü ein- bzw. ausgehängt werden. Hier durch einen Rechtsklick auf das Abbild im Menü "Aktionen → Mount/unmmount CD Image" die entsprechende Auswahl "Mount and open CD image" bzw. "Unmount CD image" treffen.
ISO-Images über die Kommandozeile einhängen und aushängen¶
Das Einhängen von ISO-Images kann auch über die Kommandozeile erfolgen:
sudo mount -o loop /home/BENUTZERNAME/image.iso /mnt/temp
Der Befehl hängt die ISO-Imagedatei als sog. Loopdevice beispielhaft in das Verzeichnis /mnt/temp ein, die als Einhängepunkt vorhanden sein muss.
Auch ein Loopdevice kann mit nachfolgendem Befehl ausgehängt werden:
sudo umount /mnt/temp
Optional - ISO-Images über ein Skript einbinden¶
Unter Linux gibt es kein zentrales Tool, mit dem sich verschiedene CD-Images einfach in das System einbinden lassen. Das folgende Skript erledigt das bei ISO9660/ISO13346(UDF)-konformen Images (*.iso, *.nrg → s.u, ?). Dazu den folgenden Quelltext in eine leere Datei als mountiso speichern [2]:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #!/bin/bash # # Copyright (c) 2005 by dejot <Josef Behr> # Modified for ISO13346(UDF) Images by overlord8k8 (ubuntuusers) # Distributed under the GPL version 2 # # mountiso - Mount iso9660/ISO13346(UDF)-Images into directory ## Das Verzeichnis, in das gemounted wird. !! Schreibrechte benötigt !! mountdir="${HOME}/mountiso" ## Alternative: "/media" (dann erscheint Image auf Desktop) if [ ! -d $mountdir ]; then echo "Directory to mount in ($mountdir/) doesn't exist. I'll create it." mkdir $mountdir fi if [ "$1" = "" ]; then echo "Usage:" echo "Go to the directoy with the image in it. Then type:" echo "mountiso name-of-image-file" echo "You will find the content of the image in $mountdir/name-of-image-file/" elif [ "$1" = "-u" ]; then if [ "$2" = "" ]; then echo "No image for unmounting specified." echo "Please specify by the name of the directory in $mountdir" else if [ -d $mountdir/$2 ]; then sudo umount $mountdir/$2 rmdir $mountdir/$2 echo "Ready." else echo "This image isn't yet mounted in $mountdir" fi fi else if [ ! -e "$1" ]; then echo "Image file not found. Aborting." else if [ ! -d $mountdir/$1 ]; then echo "Creating directory: $mountdir/$1/" mkdir $mountdir/$1 echo "Ready." fi echo "Mounting ..." sudo mount -o loop -t auto $1 $mountdir/$1 echo "If no errors were displayed your image has been successfully mounted." echo "You can access the content now in $mountdir/$1/" fi fi |
Die Datei muss ausführbar gemacht und an einen Ort kopiert werden, der im $PATH des Benutzers ist. Dazu bietet sich ~/bin/ oder /usr/local/bin/ an. Man öffnet also ein Terminal[1] und gibt dort:
chmod 755 mountiso sudo cp mountiso /usr/local/bin
ein.
Das Skript kann natürlich ganz nach Belieben angepasst werden. Der Pfad hinter "mountdir=" stellt das Verzeichnis dar, in das die Images eingebunden werden. Für dieses Verzeichnis werden Schreibrechte benötigt.
Um die Imagedatei einzubinden, gibt man in einem Terminalfenster[1] in dem Verzeichnis, in dem das Image liegt:
mountiso image.iso
ein. "image.iso
" stellt hier den Dateinamen des Images dar.
Wieder ausgehängt (unmount) wird so:
mountiso -u image.iso
Zum Aushängen muss man sich nicht mehr im Verzeichnis mit dem Image selber befinden.
* NRG-Images einbinden¶
Hinweis:
Alternativ kann man ein NRG-Image auch in ein ISO-Image umwandeln.
Diese Dateien können mit diesem Skript zunächst nicht eingebunden werden. Abhilfe verschafft man sich, indem man in einem Editor[2] die Zeile mit
sudo mount -o loop -t auto $1 $mountdir/$1
durch
sudo mount -o loop,offset=307200 -t iso9660 $1 $mountdir/$1
ersetzt. Die Datei speichert man dann am besten unter einem neuen Namen, z.B. mountnero ab. Auch die neue Datei muss ausführbar gemacht werden. So hat man für beide Imageformate einen eigenen Befehl zur Verfügung.
Optional - Alternatives Skript zum Einbinden¶
Das folgende Skript erledigt die Arbeit des obigen mehr in der Art wie der mount-Befehl selbst und bietet zudem noch einige Features, so kann z.B. ein anderer Einhängepunkt als Standard per Befehl angegeben werden (dieser wird dann auch gespeichert) und das Skript enthält eine Anzeige, welche ISO-Images eingebunden sind.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | #!/bin/bash # (c) 2006 by Julian Fleischer aka Warhog # License: GPLv2 (See http://www.gnu.org/licenses/gpl.html) # visit http://www.warhog.info/ mountiso_version="2006-10-18" mountiso_cfg_file="/etc/mountiso.default" mountiso_default_mountpoint="/media/cdrom0" do_mount() { if [ ! -e "$1" ]; then echo "Image file not found, aborting." else if [ "$2" == "ro" ]; then param="-r " fi mount $param -o loop -t iso9660 "$1" "$where" fi } show_help() { echo "mountiso [-w] <what> [<where>]" echo " mounts an iso9660-image <what> to mountpoint <where>." echo "If no mountpoint is specified, $default_mountpoint will be assumed." echo "If no arguments are given, all mounted iso9660 images will be listed." echo " Options:" echo " -w, --writable boot the image writable, default is readonly" echo " Alternatives:" echo " -u <where> unmounts the image at <where>" echo " -d, --default print the default mount point" echo " -d <where> set the default mount point to <where>" echo " -c, --clean remove the configuration-file (if there is any)" echo " -v, --version print version information" echo " -h, --help show this message" } read_config() { default_mountpoint=$mountiso_default_mountpoint if [ -e "$mountiso_cfg_file" ]; then default_mountpoint="`cat $mountiso_cfg_file`" fi where="$1" if [ ! -e "$where" ]; then where="$default_mountpoint" fi } save_config() { echo "$1" > "$mountiso_cfg_file" } do_execute() { read_config "$2" case $1 in "") mount | grep iso9660 ;; "--help"|"-h") show_help ;; "-v"|"--version") echo $mountiso_version ;; "-d"|"--default") if [ "$2" == "" ]; then echo $default_mountpoint else default_mountpoint="$2"; save_config "$default_mountpoint" fi ;; "-u"|"--umount"|"--unmount") umount "$where" ;; "-c"|"--clean") unlink "$mountiso_cfg_file" ;; "-w"|"--writable"|"--writeable") read_config "$3" do_mount "$2" rw ;; *) do_mount "$1" ro ;; esac } do_execute "$1" "$2" "$3" |
Skript installieren¶
Das Skript mit Rootrechten als /usr/local/bin/mountiso abspeichern und dann für alle ausführbar machen.
Features des Skripts¶
Vielen ist daran gelegen, ISO-Images einzubinden, um z.B. mit Wine Spiele schneller spielen zu können (da Festplattenimages schneller gelesen werden können als CDs). In diesem Fall ist es sinnvoll, das ISO-Image direkt an die Stelle des CD-ROM-Laufwerks einzubinden. mountiso hat grob die selbe Syntax wie mount, es wird also wie folgt benutzt:
sudo mountiso IMAGE.ISO MOUNT-PUNKT
Ohne Argumente gibt mountiso eine Liste der gemounteten ISO-Images an.
Wird MOUNT-PUNKT
nicht angegeben, so wird der eingestellte Default-Mount-Punkt benutzt. Nach der Installation ist dies /media/cdrom0. Wem dies nicht gefällt, kann dies wie folgt ändern:
sudo mountiso -d NEUER_STANDARD_MOUNT-PUNKT
mountiso speichert diesen neuen Standard-Mount-Punkt in der Datei /etc/mountiso.default. Diese Datei kann mittels
sudo mountiso -c
entfernt werden. Gibt man den Parameter -d
ohne weitere Argumente an, wird der aktuelle Standardmountpunkt ausgegeben.
Um Images wieder auszuhängen, nutzt der Befehl folgende Syntax:
sudo mountiso -u IMAGE-DATEI
Ist das Image am Standardeinhängepunkt eingebunden, kann das letzte Argument weggelassen werden. Ist man sich nicht sicher, wo man das Image eingehängt hat, genügt die Eingabe von mountiso ohne Parameter, um eine Liste aller Imageeinbindungen zu bekommen.
Beispiele¶
Default-Mountpunkt anzeigen:
sudo mountiso -d
CD-Image starcraft.iso an Standard-Mountpunkt einbinden:
sudo mountiso starcraft.iso
CD-Image broodwar.iso nach /media/cdrom1 einbinden:
sudo mountiso broodwar.iso /media/cdrom1
Liste aller Einbindungen anzeigen:
sudo mountiso
/<...>/starcraft.iso on /media/cdrom0 type iso9660 (ro,loop=/dev/loop0) /<...>/broodwar.iso on /media/cdrom1 type iso9660 (ro,loop=/dev/loop1)
Standard-Mountpunkt wieder freigeben:
sudo mountiso -u
Image von /media/cdrom1 wieder aushängen:
sudo mountiso -u /media/cdrom1
* Andere Imageformate¶
Neben dem ISO-Format gibt es weitere, z.T. proprietäre Imageformate, die man vor allem in der Windowswelt oft findet. Wer diese auch unter Ubuntu einbinden möchte, hat zwei Möglichkeiten:
In ISO-Images umwandeln
Alternative Programme zum Einbinden
* In ISO-Images umwandeln¶
Man kann einige andere Imageformate in das ISO-Format umwandeln. Dazu muss man erst das zugehörige Paket installieren und kann dann mit dem Befehl das Image konvertieren.
Imageformat | Paket | Befehl |
allgemein | iat (universe) | iat QUELLDATEI ZIELDATEI |
bin/cue | bchunk (universe) | bchunk QUELLDATEI.bin QUELLDATEI.cue ZIELDATEI.iso |
nrg | nrg4iso 🇬🇧 | ./nrg4iso QUELLDATEI.nrg ZIELDATEI.iso |
nrg | nrg2iso (universe) (veraltet, besser: nrg4iso, iat) | nrg2iso QUELLDATEI.nrg ZIELDATEI.iso |
mdf | iat (universe) (oder mdf2iso, gleiche Syntax) | iat QUELLDATEI.mdf ZIELDATEI.iso |
img/ccd/sub | ccd2iso (universe) | ccd2iso QUELLDATEI.img ZIELDATEI.iso |
daa | PowerISO for Linux 🇬🇧 | ./poweriso convert QUELLDATEI.daa -o ZIELDATEI.iso -ot iso |
Hinweis:
Für die normalerweise mit der Dateiendung .bin versehenen Binärdaten ist oft auch die Endung .img gebräuchlich. Also nicht wundern, wenn es eine zugehörige .cue-Datei gibt, dann handelt es sich meistens um ein Binimage.
Alternative Programme zum Einbinden¶
Wenn man sich nicht die Mühe machen möchte, jedes Image umzuwandeln, kann man sich auch ein Programm installieren, das diese auch einbinden kann. Mit CDEmu lassen sich nahezu alle Formate einbinden. AcetoneISO ist auch schon recht ausgereift, beherrscht aber nicht alle Formate.
Links¶
Datenträger - interne und externe Geräte
Datenverwaltung - Grundlagen