Tworzenie dyskietki startowej z programem ładującym GRUB
W celu stworzenia dyskietki startowej z systemem plików i programem ładującym GRUB potrzebujemy dwóch dyskietek.
- Na dyskietkę pierwszą nagrywamy binarne pliki dostarczone wraz z programem ładującym:
- Następnie przegrywamy pliki stage1 i stage2 na drugą dyskietkę, zawierającą system plików rozpoznawalny przez program GRUB, do katalogu /boot/grub.
- Bootujemy komputer z dyskietki pierwszej. Po pokazaniu się znaku zachęty programu GRUB, zmieniamy dyskietki i wydajemy komende:
- Informujemy program ładujący, że katalogiem głównym (ang. root) będzie katalog główny dyskietki
- Informujemy GRUB który plik jest plikiem obiektowym systemu operacyjnego (w tym wypadku plik kernel w głównym katalogu dyskietki)
- Wydajemy komendę ładowania systemu
$ cd /usr/share/grub/i386-pc
$ dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 records in
1+0 records out
$ dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out
$
UWAGA!!! Operacja ta niszczy wszystkie informację zawarte na dyskietce!!!
mkdir /mnt/boot
mkdir /mnt/boot/grub
cp stage1 /mnt/floppy/boot/grub
cp stage2 /mnt/floppy/boot/grub
Po operacji kopiowania plik stage2 nie może być modyfikowany, kasowany, defragmentowany lub przenoszony - w przypadku jego zmiany dyskietka nie uruchomi się.
grub> setup (fd0)
Po tej operacji dyskietka druga jest bootowalna i zawiera program ładujący. Aby załadować implementowany system operacyjny należy przeprowadzić bootowanie komputera z przygotowanej dyskietki.
grub> root (fd0)
Filesystem type is fat, using whole disk
grub> kernel /kernel
[Multiboot-elf, <0x101000:0x581a:0x0>, <0x107000:0x1000:0x2000>, shtab=0x10a140, entry=0x101b10]
grub> boot
Jeżeli chcemy uniknąć wpisywania powyższych komend przed każdorazowym ładowaniem systemu możemy skorzystać z pliku konfiguracyjnego programu GRUB. W pliku tym umieszcza się standardowe instrukcję według których program ładujących ma zainicjować system operacyjny. Plik konfiguracyjny powinien mieć nazwę menu.lst i znajdować się w katalogu /boot/grub. Zawartość pliku konfiguracyjnego dla zadań odpowiadających powyżej przedstawionemu schematowi powinna wyglądać następująco:
default 0
timeout 10
title Moj Os
root (fd0)
kernel /kernel