Minimaler MBR‑Bootloader (BIOS/Legacy) nach Datenlöschung

Was ist das Ziel?

Wenn eine Festplatte gelöscht wurde, dann aber in ein System eingebaut und davon gestartet wird, soll nicht nur stumpf „No bootable device“ o.ä. erscheinen, der User soll sehen, was Phase ist.

Speichere das hier als mbr.asm:

; mbr.asm - Minimaler MBR-Bootloader, zeigt Nachricht und bleibt stehen
; Assemble: nasm -f bin mbr.asm -o mbr.bin

ORG 0x7C00

start:
    cli
    xor ax, ax
    mov ds, ax
    mov es, ax
    mov ss, ax
    mov sp, 0x7C00
    sti

    mov si, message

print_char:
    lodsb
    cmp al, 0
    je hang      ; Ende der Nachricht
    mov ah, 0x0E ; BIOS Teletype
    mov bh, 0
    mov bl, 7
    int 0x10
    jmp print_char

hang:
    hlt
    jmp hang

message:
    db "Alle Daten wurden entfernt und die Festplatte genullt!",0x0D,0x0A
    db "Es sind *keine* Daten und *kein* Betriebssystem mehr vorhanden!",0x0D,0x0A
    db "PRESS ANY KEY TO CONTINUE... WTF IS THIS ANY KEY!?",0x0D,0x0A,0

; Fülle bis 510 Bytes
times 510-($-$$) db 0

; Boot-Signatur
dw 0xAA55

Build

nasm -f bin mbr.asm -o mbr.bin

Test als Roh‑Image (empfohlen)

Erzeugt 10 MiB Image und schreibt den MBR rein

dd if=/dev/zero of=mbr.img bs=1M count=10
dd if=mbr.bin of=mbr.img bs=512 count=1 conv=notrunc

Mit QEMU testen

qemu-system-x86_64 -drive format=raw,file=mbr.img

Auf echte Platte schreiben

ACHTUNG: das überschreibt die erste 512 Bytes auf /dev/sdX

sudo dd if=mbr.bin of=/dev/sdX bs=512 count=1 conv=notrunc
sudo partprobe /dev/sdX || true