Linux Boot Memory Stick
Aus A-Enterprise
Einrichten eines Boot USB-Memory-Stick für Linux und um eine Installations und Live-CD zu Emulieren. Es wird die CD-ROM 1 einer Linux Distribution und ein betriebsbereiter Linux oder Windows Computer benötigt. Als erstes versuche herauszufinden, welches SCSI-Gerät dem USB-Stick zugewiesen wurde (in diesem Beispiel /dev/sdb).
Stelle sicher, dass das usb-storage-Kernelmodul geladen ist.
~# modprobe usb-storage
Stick Partitionieren unter Linux mit cfdisk FAT16 Partition mit boot flag erstellen
~# cfdisk -z /dev/sdb1
Formatieren unter Linux, hierzu wird mkdosfs ausgeführt dieses im Paket dosfstools enthalten ist. Formatieren unter Windows, FAT16 und Schnellformatierung wählen. Mit FAT32 kann formatiert werden wenn SYSLINUX 3.36 oder neuer im nächsten schritt ausgeführt wird.
Hinweis! Neuere USB-Memory-Stick müssen nicht Formatiert werden.
Formatieren unter Linux
~# mkdosfs /dev/sdb1
Boot sector anlegen mit SYSLINUX und auf die FAT-Partition des USB-Stick befördern, dazu müssen die Pakete syslinux und mtools Installiert sein.
~# debian: apt-get install syslinux
Hinweis! Ältere syslinux Versionen gehen nur bis FAT16 (1GB), ab Version 3x =>1GB
~# syslinux /dev/sdb1
Boot sector unter Windows anlegen. Download SYSLINUX.EXE 3.36. Usage: syslinux.exe [-sfma][-d directory] <drive>: [bootsecfile]
C:> syslinux -s J:
!! Als Beispiel hier der Wechseldatenträger J:
Mounten der Partition, (Memory Stick wieder am USB Port des Linux Rechner).
~# mount /dev/sdb1 /mnt/stick
und kopiere die folgenden Dateien von /isolinux der CD-ROM 1 in die root des USB-Memory-Stick
vmlinuz initrd.gz syslinux.cfg
Die Konfigurationsdatei syslinux.cfg sollte die folgenden zwei Zeilen enthalten
default vmlinuz append initrd=initrd.gz
!! Es kann auch die Datei isolinux.cfg aus dem Ordner /isolinux der CD-ROM 1 in die root kopiert werden, und in syslinux.cfg umbenannt werden.
Ein RedHat, Fedora oder CentOS ISO-Image hinzufügen. Da der Stick die Quelle für zusätzliche Daten ist, die für die Installation benötigt werden, wird der Installer dort nach einem ISO-Image suchen. Der Dateiname des Images muss auf .iso enden
Wenn dein System es ablehnt, von dem Memory-Stick zu booten, könnte es sein, dass der Stick einen defekten Master-Boot-Record (MBR) enthält. Also Master-Boot-Record (MBR) ablegen mit install-mbr aus dem Paket mbr
~# install-mbr /dev/sdb
!! Natürlich muss das System über USB bootbare Geräte verfügen, im BIOS Setup (meist über F10) die Boot Reihenfolge überprüfen
Fertig! Jetzt den USB-Memory-Stick aus dem Dateisystem umounten (umount /mnt/stick)
Anhang
Debian, Ubuntu (Feisty) ISO-Image muss entpackt werden, unter Windows Beispielsweise mit dem Programm UltraISO. Unter Linux gibt es den Befehl dd. Um mit Hilfe eines Pen Drives zu booten, benutzt man den Befehl dd, um die Image-Datei diskboot.img vom Verzeichnis /images/ auf CD-ROM 1 zu kopieren. Zum Beispiel:
dd if=diskboot.img of=/dev/sda
Sollte das Gerät nicht booten, dann ist möglicherweise das Bootflag in der Partitionstabelle nicht gesetzt. Dazu nehmen wir plppart32.exe. Speichere das Programm im gleichen Ordner wie syslinux. Wechsle nun zur Eingabeaufforderung. Um herauszufinden welche Datenträgernummer Windows für dein USB Gerät verwendet, starte mmc %SystemRoot%\system32\compmgmt.msc. Klicke auf Datenspeicher und dann auf Datenttägerverwaltung. Im rechten unteren Fenster steht Datenträger 0 (erste Festplatte), CD 0 (CD-ROM Laufwerk) usw. Das USB Gerät ist auch in der Liste zu finden. Wenn das Gerät z.B. Datenträger 5 heisst, dann gebe in der Eingabeaufforderung und im Ordner wo plppart32.exe gespeichert wurde folgendes ein um sich die Partitionstabelle anzeigen zu lassen
plppart32 -d 5 -i
ist in der Ausgabe kein 0x80 zu sehen, ist das Bootflag der ersten Partition nicht gesetzt.
Zum setzen des Booflags starte
plppart32 -d 5 -p 1 -b 0x80
Wenn du dir die Partitionstabelle nun wieder anzeigen lässt, dann sollte sich die Partition bei BOOT geändert haben.
weblinks
- Dateien für Debian vorbereiten für das Booten von einem USB-Memory-Stick
- SYSLINUX - The Easy-to-use Linux Bootloader
- plppart32.exe syslinux.exe für Windows
- UltraISO - EZB CD/DVD Creator, Editor and BIN to ISO converter

