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