Linux Boot Memory Stick

Aus A-Enterprise

Wechseln zu: Navigation, Suche

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

Persönliche Werkzeuge