Bootprozess Bios

Aus Xinux Wiki
Version vom 5. September 2016, 09:08 Uhr von Thomas (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Basic Input Output System Im Bios wird die Reihenfolge eingestellt von welchem Medium ein Bootloader oder früher auch der Kernel selber gelesen wird. Übliche…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Basic Input Output System Im Bios wird die Reihenfolge eingestellt von welchem Medium ein Bootloader oder früher auch der Kernel selber gelesen wird. Üblicherweise sind dies.

FLOPPY/Direkt

Unter Linux konnte man früher einfach den Kernel an den Anfang eine Diskette kopieren und dieser wurde dann in den Hauptspeicher geladen.

root@zero:~# rdev /boot/vmlinuz /dev/sda1
root@zero:~# dd if=/boot/vmlinuz of=/dev/fd0

CDROM/ISOLINUX

Der Bootloader auf den Cdroms unter Linux ist in der Regel Isolinux. eine Bootcd kann man so erstellen.

  • Verzeichnis anlegen
root@cardassia:~# mkdir -p /root/bootcd/cdroot/linux
  • Kernel und Ramdisk kopieren
root@zero:~# cp /boot/vmlinuz /root/bootcd/cdroot/linux/vmlinuz
root@zero:~# cp /boot/initrd /root/bootcd/cdroot/linux/initrd
  • Syslinux installieren
root@zero:~# apt-get install syslinux
  • Isolinux.bin kopieren
root@zero:~# cp /usr/lib/syslinux/isolinux.bin /root/bootcd/cdroot/
  • Isolinux Konfiguration erstellen
root@zero:~# cat /root/bootcd/cdroot/isolinux.cfg
prompt 1
display message.txt
timeout 300
default linux
label linux
 kernel /linux/vmlinuz
 append root=/dev/sda1 1initrd=/linux/initrd load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464
  • Messagetext ertellen
root@zero:~# cat /root/bootcd/cdroot/message.txt
*****************************************************************************
Boot CD fuer meinen Linuxrechner
Kernel:  /linux/vmlinuz
Version: 2.6.27-7-generic
Root:    /dev/sda1
*****************************************************************************
  • Iso erzeugen
root@zero:~# cd /root/bootcd/cdroot/
root@zero:~# mkisofs -R -V "Linux BootCD" -o /tmp/bootcd.iso -b isolinux.bin -c boot.cat \
 -no-emul-boot -boot-load-size 4 -boot-info-table /root/bootcd/cdroot
  • Iso brennen
root@zero:~/bootcd/cdroot# cdrecord -v -eject speed=24 /tmp/bootcd.iso

HARDISK/MBR

Jede Festplatte hat einen Masterbootrecord, dies ist eine 512 byte grosser Bereich am Anfang der Festplatte. Dieser ist folgendermassen aufgebaut.

Mbr.jpg
  • Der 512 Byte grosse MBR besteht aus:
    • Bootcode

Dieser Bereich ist 446 byte groß. Hier wird die erste Stufe des Bootloaders unter Linux plaziert!

    • Partitionstabelle

Die 64 Byte grosse Partitionstabelle enthält die Kenndaten von 4 primären Partition. Ddie jeweils 16 Byte Bereiche beinhalten Bootindikator, Angang der Partion in der CHS und LBS Notation, Partitionstyp, Ende der Partition in CHS Format, Länge der Partition.

    • Kennung

Die 2 Byte große Kennung enthält immer den Wert AA55