Bootable USB Stick
Heute mal ein etwas anderes Thema. Booten vom USB Stick bzw wie man ihn bootbar
macht und wozu das gut sein kann.
Warum mache ich mir die Mühe in Zeiten von Ultimate BootCD oder Hirens?
Nun ganz einfach weil es Spaß macht neue Sachen zu testen und zu lernen!
Neu ist es für mich sicher nicht da ich solch einen Stick schon seit ca 10 Jahren einsetze.
Angefangen hat alles mit CD-Shell welches aber glaube ich nicht mehr eintwickelt wird.
Da mich die wenigstens persönlich kennen mal etwas zu mir: Ich bin gerlernter Fachinformatiker
im Fachbereich Systemintegration und arbeite seit ca 15 Jahren in dem Bereich.
Ein weiterer Punkt ist : Ich schreibe an dem Blog da mich es stört das man in vielen Foren zwar
Fragen findet aber nie die Antworten, entweder steht die Frage seit 2 Jahren offen oder es steht nur
„Danke ich habe das Problem gelöst“ aber nie wie es gelöst wurde.
So nun wieder zum eigentlichen Thema. 😉
Wozu brauch ich den Stick und was kann der?
Was er kann hängt vom Einsatzzweck ab und was man alles drauf macht, möglich ist fast alles.
Fangen wir da an für was ich den Stick einsetze.
– Testzwecke
– Memtest
– HDD Test
– CPU Stresstest
– Datenrettung
– Live Linux
– gparted
– Windows Reparatur
– ERD Commander ( ACHTUNG : muss man kaufen , ist von MS, ich habe es aus diesem Grund nicht ,
aber es ist möglich )
– Virenscanner
– Bitdefender
– Kaspersky
Was wird gebraucht?
Etwas Zeit , Geduld ein USB Stick und etwas freie Software.
Mein Stick basiert auf Syslinux
http://www.syslinux.org/wiki/index.php/The_Syslinux_Project
Im Falle das man den Stick unter Windows erstellen möchte benötigt man die aktuelle Version von syslinux.
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip
In diesem Packet sind auch alle weiteren Dateien enthalten die man braucht.
Falls man sich entscheidet es unter einer Linux Distribution zu machen sollte man dies im jeweiligen Packetmanager finden
unter Debian z.B. apt-get install syslinux
Der Anfang wird auf der Shell bzw Eingabeaufforderung gemacht
(ACHTUNG : bei Windows Vista++ cmd.exe als Administrator ausführen, bei Linux mit sudo oder als root)
Variante Windows syslinux.exe --mbr --active --directory /boot/syslinux/ --install z: #im Beispiel ist der USB Stick Z: Variante Linux syslinux --mbr --active --directory /boot/syslinux/ --install /dev/sdb #im Beispiel wäre der USB Stick sdb
Was passiert an der Stelle?
Syslinux installiert in den Bootsector des USB Stick einen Bootloader und eine versteckte Datei LDLINUX.sys wird
auf dem Stick erstellt ( diese niemals löschen solang der Stick bootbar bleiben soll).
Weiter wird in dem Befehl schon angegeben in welchem Pfad später die Daten liegen sollen
/boot/syslinux
Ok da nun soweit alles vorbereitet ist gehen wir in den Ordner
USBSTICK /boot/syslinux
(Wenn diese nicht automatisch angelegt worden sind , dann diese so anlegen.)
Als nächstes erstellen wir eine Datei Namens syslinux.cfg und öffnen die in einem geeigneten Editor.
Für Windows würde ich Notepad++ empfehlen und nutzen unter Linux ist z.B. Leafpad ausreichend (man kann auch vi(m) etc nutzen).
Ähnlich einem HTML Dokument benötigen wir eine Einleitung
DEFAULT vesamenu.c32 # ist nötig damit man weiter untenMENU BACKGROUND ein Bild als Hintergrund einfügen kann #PROMPT 0 MENU TITLE PiProjects Tech-CD v1.0 # könnt Ihr ändern in einen Titel der euch gefällt MENU BACKGROUND splash.jpg # Das besagte Bild TIMEOUT 60 # nach welcher Zeit automatisch von HDD gestartet werden soll MENU WIDTH 78 # Breite des Menüs MENU ROWS 14 # Zeilen für die Auswahl MENU TIMEOUTROW 17 # Zeile in der die Timeout Zeit angezeigt wird MENU TABMSGROW 18 # MENU CMDLINEROW 18 # MENU HELPMSGROW 24 # Hilfsanzeige mit Infos zur jeweiligen auswahl MENU HELPMSGENDROW 25 MENU IMMEDIATE
splash.png
Da mein Stick mit der Zeit immer mehr Funktionen erhalten hat kommt jetzt etwas mehr Inhalt für die syslinux.cfg Datei
#^A das ^ leitet ein das man durch drücken von A (darf auch a sein ;) ) in das Antivirus Menü kommt label - menu label ^A) Antivirus MENU INDENT 1 # Der Hilfetext der erscheint wie oben beschrieben TEXT HELP AVG, Avira und Kaspersky Rescue System ENDTEXT # kernel und vesamenu.c32 sind wichtig da sonst das Bild auf der nächsten Seite (Untermenü) nicht erscheint kernel vesamenu.c32 APPEND /boot/isolinux/config/antivir.cfg LABEL - MENU LABEL ^B) BIOS menu indent 1 TEXT HELP In arbeit, noch keine Tools vorhanden ENDTEXT kernel vesamenu.c32 APPEND /ubcd/menus/syslinux/bios.cfg LABEL - MENU LABEL ^C) Backup und Partition Tools menu indent 1 TEXT HELP Parted Magic ENDTEXT kernel vesamenu.c32 APPEND /boot/syslinux/config/backup.cfg LABEL - MENU LABEL ^D) MEMTEST menu indent 1 TEXT HELP Memtest86 v4 und Memtest+ 4.20 Speicherdiagnose ENDTEXT kernel vesamenu.c32 APPEND /boot/syslinux/config/memtest.cfg label ErdCommander MENU label ^E) ERD Commander TEXT HELP ERD Commander 5.0-6.5 für Windows Wiederherstellung ENDTEXT menu indent 1 kernel vesamenu.c32 APPEND /boot/syslinux/config/erd.cfg LABEL - MENU LABEL ^F) Windows XP menu indent 1 TEXT HELP Windows XP Home und Pro SP3 Installation ENDTEXT kernel vesamenu.c32 APPEND /boot/syslinux/config/win.cfg label Gentoo 2011 August menu label ^G) Gentoo menu indent 1 TEXT HELP Gentoo Live CD zum Linux retten ENDTEXT KERNEL /images/gentoo/gentoo subdir=/images/gentoo root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs cdroot quiet udev initrd /images/gentoo/gentoo.igz LABEL - MENU LABEL ^H) HDD menu indent 1 TEXT HELP Contains a set of tools for HD Diagnostics ENDTEXT kernel vesamenu.c32 APPEND /boot/syslinux/config/hdd.cfg LABEL - MENU LABEL ^I) Misc menu indent 1 TEXT HELP Contains a set of tools. ENDTEXT kernel vesamenu.c32 APPEND /boot/syslinux/config/misc.cfg MENU SEPARATOR label 0 menu label Boot from HD TEXT HELP Boot from the default hard disks' operating system(s). ENDTEXT localboot 0x80 timeout 400 #reboot label Reboot menu label Reboot KERNEL Reboot.c32
Der Übersicht halber habe ich die weiteren Konfigurationsdateien in den Unterordner config gelegt
# wieder die Selbe Einleitung wie in der ersten .cfg Datei
DEFAULT vesamenu.c32 #PROMPT 0 MENU TITLE PiProjects Tech-CD v1.0 MENU BACKGROUND splash.jpg TIMEOUT 60 MENU WIDTH 78 MENU ROWS 14 MENU TIMEOUTROW 17 MENU TABMSGROW 18 MENU CMDLINEROW 18 MENU HELPMSGROW 24 MENU HELPMSGENDROW 25 MENU IMMEDIATE MENU TITLE + Antivirus label - menu label ^A) AVG Rescue CD TEXT HELP The AVG Rescue CD is able to update its virus definitions over the internet once initialized. This Version of the AVG Rescue CD is based on the linux kernal. ENDTEXT LINUX memdisk INITRD /IMAGES/AVG/AVG.ISO # auf dem USB Stick wird nun ein Ordner images mit Unterordner avg benötigt APPEND iso raw # Wichtig in der CFG Datei müssen die Pfade groß geschrieben werden label - menu LABEL ^B) Avira Rescue CD TEXT HELP Avira Rescue CD ENDTEXT LINUX memdisk INITRD /IMAGES/AVIRA/AVIRA.ISO APPEND iso raw label - menu LABEL ^C) Kaspersky Rescue CD TEXT HELP Kaspersky Rescue CD ENDTEXT #LINUX memdisk #INITRD /IMAGES/KAV/KAV.ISO #APPEND iso raw #Kernel /rescue/rescue #append root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/kav.squashfs nodevfs cdroot initrd=/rescue/rescue.igz kav_lang=de udev aufs quiet noresume doscsi kernel /images/rescue/rescue append root=live:CDLABEL=SARDU rootfstype=auto vga=791 init=/init initrd=/images/rescue/rescue.igz kav_lang=de udev liveimg quiet nox kavshell noresume doscsi nomodeset #KERNEL /images/rescue/rescue subdir=/images/rescue root=/dev/ram0 vga=791 init=/linuxrc looptype=squashfs loop=/squashfs.img kav_lang=de nodevfs cdroot udev aufs quiet noresume doscsi #initrd /images/rescue/rescue.igz label - menu LABEL ^D) Bitdefender Rescue CD TEXT HELP Bitdefender Rescue CD ENDTEXT #LINUX memdisk #INITRD /IMAGES/BIT/BIT.ISO #APPEND iso raw kernel /bit/casper/vmlinuz append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/bit/casper/initrd.gz splash vga=791 live-media-path=/bit/casper lang=de . . . MENU SEPARATOR LABEL return_main MENU LABEL ^.. Return to main Boot Options Menu KERNEL vesamenu.c32 APPEND isolinux.cfg
Wie testet man nun ob alles auch funktioniert?
Zwei möglichkeiten bieten sich.
1. Klar den USB Stick angesteckt lassen und dann mit Hilfe des BIOS Boot Menüs von USB booten
macht aber auf dauer und zum testen nicht viel Spaß, somit Variante
2. Plop , ein kleines welches ich hier auch schon vorgestellt habe und
Weitere Infos zu bestimmten Punkten in den cfg Dateien:
ISOLINUX
Dies wäre notwendig wenn man das Finale Ergebniss auch als Bootbare CD/DVD haben möchte und zum starten der ISO Dateien
PXELINUX
Damit könnte man das ganze Projekt auch als Netzwerkvariante erstellen
SYSLINUX
Mit diesem werden wir unseren USB Stick zum PowerTool umbauen
MEMDISK
brauchen wir auch noch um diverse Image Dateien zu laden
So hier endet erstmal die Anleitung. Die entsprechenden Test/Virenprogramme gibt es bei den Herstellern meist zum freien Download.
Keine Angst ich werde noch eine Ergänzende Anleiung schreiben zum erstellen von Disketten Images die dann geladen werden können.
Sehr aufschlussreich, danke. Meine besten Erfahrungen habe ich bisher jedoch mit Unetbootin gemacht. Ist irgendwie weniger aufwändig. Zumindest lohnt es sich, mal einen Blick auf dieses Tool zu werfen.
Klar aber unetbootin macht keine multiboot und auch keine Sachen wie ubcd 🙂 unetbootin nutze ich selbst auch aber nur um einzelne ISO vom USB zu starten wie ubuntu z.B.