9.4.2. Dateinamen und Blocklisten
Wenn Sie Befehle in GRUB eingeben, die sich auf eine Datei beziehen, wie z.B. eine Menüliste, ist es notwendig, gleich nach der Geräte- und Partitionsnummer einen absoluten Dateipfad festzulegen.
Im Folgenden wird die Struktur eines solchen Befehls gezeigt:
(<device-type><device-number>,<partition-number>)</path/to/file>
In this example, replace <device-type> with
hd
, fd
, or nd
. Replace <device-number> with the integer for the device. Replace </path/to/file> with an absolute path relative to the top-level of the device.
In GRUB können auch Dateien festgelegt werden, die eigentlich nicht im Dateisystem angezeigt werden. wie z.B. ein Chain-Loader, der sich in den ersten paar Blöcken einer Partition befindet. Zum Laden solcher Dateien muss eine Blockliste zur Verfügung gestellt werden, die Block für Block angibt, an welcher Stelle der Partition sich die Datei befindet. Da eine Datei oft aus mehreren Blocksätzen besteht, werden die Blocklisten auf eine ganz bestimmte Art und Weise geschrieben. Jeder Block, der die Datei enthält, wird durch eine Offset-Anzahl von Blöcken festgelegt, gefolgt von der Anzahl der Blöcke ab diesem Offset-Punkt. Die Block-Offsets werden folgerichtig und durch Kommas getrennt aufgelistet.
Nachfolgend ein Beispiel einer Blockliste:
0+50,100+25,200+1
Diese Beispiel-Blockliste legt eine Datei fest, die beim ersten Block der Partition beginnt und die Blöcke 0 bis 49, 100 bis 124 und 200 verwendet.
Blocklisten schreiben zu können ist dann sehr nützlich, wenn GRUB zum Laden von Betriebssystemen verwendet wird, die das verkettete Laden benutzen. Sie können den Offset an Blöcken weglassen, wenn Sie bei Block 0 starten. Beispiel: Die Chainloader-Datei auf der ersten Partition der ersten Festplatte würde somit folgenden Namen besitzen:
(hd0,0)+1
Im Folgenden wird der Befehl
chainloader
mit einer ähnlichen Blocklisten-Bezeichnung in der GRUB-Befehlszeile gezeigt, nachdem Sie als Root das korrekte Gerät und Partition eingestellt haben:
chainloader +1