Ausgabe 9 — Änderungen 1423 → 1424

Zeile 93: Zeile 93:
 
Dieses hat einen Zeiger auf den Boot-Catalog, und sieht folgendermaßen aus:
 
Dieses hat einen Zeiger auf den Boot-Catalog, und sieht folgendermaßen aus:
 
<br><br>
 
<br><br>
−
    Offset * Type * Description
+
 
−
    ****************************
+
{| border="1"
−
    0     * Byte * Boot Record Indicator
+
| Offset
−
    1-5   * Byte * ISO-9660 Identifier, must be 'CD001'
+
| Type
−
    6     * Byte * Version of the descriptor, must be 1
+
| Description
−
    7-26   * Byte * Boot System Identifier, must be 'EL TORITO SPECIFICATION"  
+
|-
−
                      padded with 0's.
+
| 0 || Byte || Boot Record Indicator
−
    27-46 * Byte * Unused, must be 0.
+
|-
−
    47-4A * DWord * Absolute pointer to first sector of Boot Catalog.
+
| 1-5 || Byte || ISO-9660 Identifier, must be 'CD001'
−
    4A-7FF * Byte  * Unused, must be 0.
+
|-
 +
| 6 || Byte || Version of the descriptor, must be 1
 +
|-
 +
| 7-26 || Byte || Boot System Identifier, must be 'EL TORITO SPECIFICATION" padded with 0's.
 +
|-
 +
| 27-46 || Byte || Unused, must be 0.
 +
|-
 +
| 47-4A || DWord || Absolute pointer to first sector of Boot Catalog.
 +
|-
 +
| 4A-7FF || Byte  || Unused, must be 0.
 +
|}
 
<br><br>
 
<br><br>
 
Wie wir hier deutlich erkennen können, ist an der Adresse 0x47-0x4A im
 
Wie wir hier deutlich erkennen können, ist an der Adresse 0x47-0x4A im
Zeile 108: Zeile 118:
 
Pointer und sehen uns den Boot Catalog an:
 
Pointer und sehen uns den Boot Catalog an:
 
<br><br>
 
<br><br>
−
    Offset * Type * Description
+
{| border="1"
−
    ****************************
+
| Offset
−
    0     * Byte * Header ID, must be 01.
+
| Type
−
    1     * Byte * Platform ID.
+
| Description
−
    2-3   * Word * Reserved, must be 0.
+
|-
−
    4-1B   * Char * ID-String.
+
| 0 || Byte || Header ID, must be 01.
−
    1C-1D * Int   * Checksum Word.
+
|-
−
    1E     * Byte * Key Byte, must be 55.
+
| 1 || Byte || Platform ID.
−
    1F     * Byte * Key Byte, must be AA.
+
|-
 +
| 2-3 || Word || Reserved, must be 0.
 +
|-
 +
| 4-1B || Char || ID-String.
 +
|-
 +
| 1C-1D || Int || Checksum Word.
 +
|-
 +
| 1E || Byte || Key Byte, must be 55.
 +
|-
 +
| 1F || Byte || Key Byte, must be AA.
 +
|}
 
<br><br>
 
<br><br>
 
Hier sehen wir zuerst einige Standart-Strings und Zeichen ("0x55, 0xAA"
 
Hier sehen wir zuerst einige Standart-Strings und Zeichen ("0x55, 0xAA"
Zeile 123: Zeile 143:
 
zu unserem Boot-Image beinhaltet:
 
zu unserem Boot-Image beinhaltet:
 
<br><br>
 
<br><br>
−
    Offset * Type * Description
+
{| border="1"
−
    ****************************
+
| Offset
−
    0     * Byte * Boot Indicator (88=bootable | 00=not bootable)
+
| Type
−
    1     * Byte * Boot media Type
+
| Description
−
    2-3   * Word * Load segment (standart is 0x7C0)
+
|-
−
    4     * Byte * System Type.
+
| 0 || Byte || Boot Indicator (88=bootable | 00=not bootable)
−
    5     * Byte * Unused, must be 0.
+
|-
−
    6-7   * Word * Sector count.
+
| 1 || Byte || Boot media Type
−
    8-0B   * DWord * Load RBA. This is the start address of the virtual disk.
+
|-
−
    0C-1F * Byte * Unused, must be 0.
+
| 2-3 || Word || Load segment (standart is 0x7C0)
 +
|-
 +
| 4 || Byte || System Type.
 +
|-
 +
| 5 || Byte || Unused, must be 0.
 +
|-
 +
| 6-7 || Word || Sector count.
 +
|-
 +
| 8-0B || DWord || Load RBA. This is the start address of the virtual disk.
 +
|-
 +
| 0C-1F || Byte || Unused, must be 0.
 +
|}
 
<br><br>
 
<br><br>
 
An der Adresse 0x08-0x0B befindet sich schließlich der Pointer zum Image
 
An der Adresse 0x08-0x0B befindet sich schließlich der Pointer zum Image
Zeile 153: Zeile 184:
 
== Dateisystemvergleiche ==
 
== Dateisystemvergleiche ==
 
Bestimmt hast du auch schon das eine oder andere Dateisystem implementiert, oder planst dies in näherer Zukunft zu tun. Da nicht jeder Lust hat sein eigenes System zu entwerfen, hier mal einige Infos über verschiedene Dateisysteme, für einen schnellen Vergleich ordentlich in einer Tabelle dargestellt. Ich hoffe ich erleichtere euch eure Arbeit hiermit ein bisschen, und verkompliziere sie nicht noch eher weil es so viele interessante Systeme gibt *g*. Viel Spaß, stultus/N00b
 
Bestimmt hast du auch schon das eine oder andere Dateisystem implementiert, oder planst dies in näherer Zukunft zu tun. Da nicht jeder Lust hat sein eigenes System zu entwerfen, hier mal einige Infos über verschiedene Dateisysteme, für einen schnellen Vergleich ordentlich in einer Tabelle dargestellt. Ich hoffe ich erleichtere euch eure Arbeit hiermit ein bisschen, und verkompliziere sie nicht noch eher weil es so viele interessante Systeme gibt *g*. Viel Spaß, stultus/N00b
−
 
+
<br><br>
 
{| border="1"
 
{| border="1"
 
|
 
|
Zeile 179: Zeile 210:
 
|| Kann von allen gängigen Systemen (Linux, Mac OS, Windows) gelesen und geschrieben werden.
 
|| Kann von allen gängigen Systemen (Linux, Mac OS, Windows) gelesen und geschrieben werden.
 
|}
 
|}
 +
<br>
 
* Anmerkung: Größen jenseits 2 Terabyte (TB) sind nicht möglich, da die maximale Länge einer Partition bei aktuellen Partitionstabellen 2 TB nicht übersteigen kann (und das Laufwerk maximal 4 TB groß sein kann).
 
* Anmerkung: Größen jenseits 2 Terabyte (TB) sind nicht möglich, da die maximale Länge einer Partition bei aktuellen Partitionstabellen 2 TB nicht übersteigen kann (und das Laufwerk maximal 4 TB groß sein kann).