<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren?]]></title><description><![CDATA[<p>Benutzt dd dazu Kernelaufrufe?<br />
Wenn ja, welche sind das genau?</p>
<p>Und braucht es dazu keine root Rechte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257445/wie-funktioniert-dd-genau-wie-kann-dd-auf-die-festplatte-zugreifen-und-das-dateisystem-dabei-ignorieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 15:08:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257445.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Dec 2009 20:57:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Mon, 28 Dec 2009 20:57:32 GMT]]></title><description><![CDATA[<p>Benutzt dd dazu Kernelaufrufe?<br />
Wenn ja, welche sind das genau?</p>
<p>Und braucht es dazu keine root Rechte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829048</guid><dc:creator><![CDATA[dd in=&#x2F;dev&#x2F;sda1 of=bla]]></dc:creator><pubDate>Mon, 28 Dec 2009 20:57:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Mon, 28 Dec 2009 21:10:04 GMT]]></title><description><![CDATA[<p>Wie dein Name schon sagt, wird auf Dateien in /dev zugegriffen.<br />
Jede Datei ist mit einem Gerätetreiber assoziiert. Im Falle von z.B. /dev/hda1 ist es ein Treiber für ein &quot;character device&quot;, das eine gewünschte Anzahl von Bytes ab einem gewünschten Offset lesen oder schreiben kann. Die Rechte werden auch über die Zugriffsrechte für diese &quot;Datei&quot; bestimmt.</p>
<p>Der Treiber weiß dann, was gemeint ist, wenn jemand 512 Bytes von der Datei &quot;/dev/hda1&quot; ausliest. Er weiß, dass er er das Auslesen des Bootblock von der Partition der ersten IDE Festplatte zu veranlassen und sie dem Aufrufer in den Buffer zu kopieren hat.</p>
<p>Die Aufrufe von Sicht des Userspace-Programms DD sind die normalen Lesebefehle der runtime library (z.B. der GNU libc).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829058</guid><dc:creator><![CDATA[GNU-Fan]]></dc:creator><pubDate>Mon, 28 Dec 2009 21:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Mon, 28 Dec 2009 23:31:31 GMT]]></title><description><![CDATA[<p>GNU-Fan schrieb:</p>
<blockquote>
<p>Wie dein Name schon sagt, wird auf Dateien in /dev zugegriffen.<br />
Jede Datei ist mit einem Gerätetreiber assoziiert. Im Falle von z.B. /dev/hda1 ist es ein Treiber für ein &quot;character device&quot;,</p>
</blockquote>
<p>&quot;block device&quot;. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<p>GNU-Fan schrieb:</p>
<blockquote>
<p>das eine gewünschte Anzahl von Bytes ab einem gewünschten Offset lesen oder schreiben kann. Die Rechte werden auch über die Zugriffsrechte für diese &quot;Datei&quot; bestimmt.</p>
<p>Der Treiber weiß dann, was gemeint ist, wenn jemand 512 Bytes von der Datei &quot;/dev/hda1&quot; ausliest. Er weiß, dass er er das Auslesen des Bootblock von der Partition der ersten IDE Festplatte zu veranlassen und sie dem Aufrufer in den Buffer zu kopieren hat.</p>
<p>Die Aufrufe von Sicht des Userspace-Programms DD sind die normalen Lesebefehle der runtime library (z.B. der GNU libc).</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1829115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829115</guid><dc:creator><![CDATA[&amp;amp;#65319;&amp;amp;#65326;&amp;]]></dc:creator><pubDate>Mon, 28 Dec 2009 23:31:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 00:57:15 GMT]]></title><description><![CDATA[<p>GNU-Fan schrieb:</p>
<blockquote>
<p>Wie dein Name schon sagt, wird auf Dateien in /dev zugegriffen.<br />
Jede Datei ist mit einem Gerätetreiber assoziiert. Im Falle von z.B. /dev/hda1 ist es ein Treiber für ein &quot;character device&quot;, das eine gewünschte Anzahl von Bytes ab einem gewünschten Offset lesen oder schreiben kann. Die Rechte werden auch über die Zugriffsrechte für diese &quot;Datei&quot; bestimmt.</p>
<p>Der Treiber weiß dann, was gemeint ist, wenn jemand 512 Bytes von der Datei &quot;/dev/hda1&quot; ausliest. Er weiß, dass er er das Auslesen des Bootblock von der Partition der ersten IDE Festplatte zu veranlassen und sie dem Aufrufer in den Buffer zu kopieren hat.</p>
<p>Die Aufrufe von Sicht des Userspace-Programms DD sind die normalen Lesebefehle der runtime library (z.B. der GNU libc).</p>
</blockquote>
<p>Danke für die ausführliche Erklärung.<br />
Aber jetzt habe ich doch noch ne Frage zum Zugriff über das Dateisystem.<br />
Wenn es erst einen Charakterdevice Treiber (oder eben Blockdevice Treiber) gibt und dann oben drauf noch einen Dateisystemtreiber, wird dann der Dateizugriff darüber Programm -&gt; Dateisystemtreiber -&gt; Ch/Block-Devicetreiber dann nicht ausgebremst?<br />
Das ist doch doppelt gemoppelt.</p>
<p>Und ist ein Dateisystemtreiber dann ein Programm das im Userspace läuft?</p>
<p>Und wie kann ich meinen eigenen Dateisystemtreiber für Linux programmieren?</p>
<p>Und zum Schluß noch eine letzte Frage.<br />
Wenn ich mit dd ein Backup von einer /dev/sda Datei mache.<br />
Entspricht dieses Backup dann genau 1:1 den Nullen und Einsen, so wie sie auf der Festplatte sind oder kann es sein, daß dd eine Partition nur unvollständig kopiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829140</guid><dc:creator><![CDATA[dd usw.]]></dc:creator><pubDate>Tue, 29 Dec 2009 00:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 01:23:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn es erst einen Charakterdevice Treiber (oder eben Blockdevice Treiber) gibt und dann oben drauf noch einen Dateisystemtreiber, wird dann der Dateizugriff darüber Programm -&gt; Dateisystemtreiber -&gt; Ch/Block-Devicetreiber dann nicht ausgebremst?</p>
</blockquote>
<p>Ausgebremst nicht. Aber der Zugriff ist natürlich langsamer, wenn du das meinst. Dies ist aber klar, da das Dateisystem ja eine höhere Ordnungsstruktur darstellt, als das Blockdevice. Wenn es kein Dateisystemtreiber gäbe, dann müssten die meisten Programme diese Logik ja selbst implementieren.</p>
<blockquote>
<p>Das ist doch doppelt gemoppelt.</p>
</blockquote>
<p>Nein, das eine ist der physische Zugriff und das andere die Struktur des Dateisystems. Sind zwei verschiedene Sachen!</p>
<blockquote>
<p>Und ist ein Dateisystemtreiber dann ein Programm das im Userspace läuft?</p>
</blockquote>
<p>Unter Linux ist der Dateisystemtreiber in der Regel im Kernel. Aber mit <a href="http://fuse.sourceforge.net/" rel="nofollow">Fuse</a> ist es zB auch möglich Dateisystemtreiber für den Userspace zu schreiben.</p>
<blockquote>
<p>Und wie kann ich meinen eigenen Dateisystemtreiber für Linux programmieren?</p>
</blockquote>
<p><a href="http://www.kernel.org/doc/htmldocs/filesystems.html" rel="nofollow">http://www.kernel.org/doc/htmldocs/filesystems.html</a><br />
<a href="http://www.kernel.org/doc/" rel="nofollow">http://www.kernel.org/doc/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829149</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 29 Dec 2009 01:23:22 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 09:05:57 GMT]]></title><description><![CDATA[<p>dd usw. schrieb:</p>
<blockquote>
<p>Aber jetzt habe ich doch noch ne Frage zum Zugriff über das Dateisystem.Wenn es erst einen Charakterdevice Treiber (oder eben Blockdevice Treiber) gibt und dann oben drauf noch einen Dateisystemtreiber, wird dann der Dateizugriff darüber Programm -&gt; Dateisystemtreiber -&gt; Ch/Block-Devicetreiber dann nicht ausgebremst?<br />
Das ist doch doppelt gemoppelt.</p>
</blockquote>
<p><a href="http://xkcd.com/676/" rel="nofollow">http://xkcd.com/676/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829185</guid><dc:creator><![CDATA[abc.w]]></dc:creator><pubDate>Tue, 29 Dec 2009 09:05:57 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 11:59:50 GMT]]></title><description><![CDATA[<p>dd usw. schrieb:</p>
<blockquote>
<p>Und zum Schluß noch eine letzte Frage.<br />
Wenn ich mit dd ein Backup von einer /dev/sda Datei mache.<br />
Entspricht dieses Backup dann genau 1:1 den Nullen und Einsen, so wie sie auf der Festplatte sind oder kann es sein, daß dd eine Partition nur unvollständig kopiert?</p>
</blockquote>
<p>DD kann zum Backup verwendet werden. Man kann also eine baugleiche, kauffrische Platte hernehmen und das Backup drüberbügeln und sollte dann einen 1:1 Kopie haben. (Hab ich nie probiert außer für eine CD, also Vorsicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ).</p>
<p>Allerdings, wie gesagt, ist /dev/... eine gewisse Abstraktionsschicht. Denke z.B. an ein RAID0 System aus mehreren Festplatten. Die ersten 512 Bytes liegen auf der ersten Platte, die nächsten dann auf der zweiten, ...<br />
Dann ist ja die Zuordnung nicht mehr wirklich 1:1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829239</guid><dc:creator><![CDATA[GNU-Fan]]></dc:creator><pubDate>Tue, 29 Dec 2009 11:59:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 15:53:15 GMT]]></title><description><![CDATA[<p>Ok, habe verstanden.</p>
<p>Ich müßte also jede Partition einzeln Sichern und nach der Reihe wieder mit dd zurückspielen.</p>
<p>Aber wie greife ich auf den Bootsektor zu?<br />
Der ist ja nicht auf der ersten Partition, z.b. /dev/sda1 sondern<br />
IMO auf /dev/sda</p>
<p>Müßte ich dann nicht auf /dev/sda zugreifen?<br />
Und wenn ich das tue, dann könnte ich doch auch genauso gut ein Backup von /dev/sda machen und hätte dann schon alle Partitionen.</p>
<p>Die Frage wäre jetzt halt nur noch, was mache ich, wenn meine neue Festplatte viel größer ist als die alte?<br />
Wie weiß das OS Bescheid, daß ich hinten noch mehr Platz habe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829408</guid><dc:creator><![CDATA[dd usw.]]></dc:creator><pubDate>Tue, 29 Dec 2009 15:53:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 16:04:51 GMT]]></title><description><![CDATA[<p>dd usw. schrieb:</p>
<blockquote>
<p>Müßte ich dann nicht auf /dev/sda zugreifen?<br />
Und wenn ich das tue, dann könnte ich doch auch genauso gut ein Backup von /dev/sda machen und hätte dann schon alle Partitionen.</p>
</blockquote>
<p>Richtig.</p>
<p>dd usw. schrieb:</p>
<blockquote>
<p>Die Frage wäre jetzt halt nur noch, was mache ich, wenn meine neue Festplatte viel größer ist als die alte?<br />
Wie weiß das OS Bescheid, daß ich hinten noch mehr Platz habe?</p>
</blockquote>
<p>Deswegen gibt es ja die Dateisysteme. Damit man solchen Sachen abstrahiert. Man kann den Keks eben nicht essen und trotzdem behalten :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829419</guid><dc:creator><![CDATA[GNU-Fan]]></dc:creator><pubDate>Tue, 29 Dec 2009 16:04:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert dd genau? Wie kann dd auf die Festplatte zugreifen und das Dateisystem dabei ignorieren? on Tue, 29 Dec 2009 22:08:16 GMT]]></title><description><![CDATA[<p>dd usw. schrieb:</p>
<blockquote>
<p>Wie weiß das OS Bescheid, daß ich hinten noch mehr Platz habe?</p>
</blockquote>
<p>Das arme OS kriegt es in diesem Fall nicht mit, dass da noch mehr Platz wäre. Du musst dort manuell eine Partition anlegen, formatieren und in das Dateisystem einbinden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829570</guid><dc:creator><![CDATA[abc.w]]></dc:creator><pubDate>Tue, 29 Dec 2009 22:08:16 GMT</pubDate></item></channel></rss>