я следуюэтотруководство по созданию простого загрузчика. Он генерирует файл disk.img
.
$ dd if=/dev/zero of=disk.img bs=1024 count=1440
$ dd if=vbr.bin of=disk.img count=512 conv=notrunc
$ file disk.img
disk.img: DOS/MBR boot sector
Работает qemu-system-i386
и qemu-system-x86_64
в disk.img
ботинках отлично, отображает нужный текст.
Я хочу иметь возможность загрузить свойдействительныйПК в эту "операционную систему". Я подумал, что могу просто запустить:
$ dd if=disk.img of=/dev/sdc1
...и перезагружаю компьютер, выбрав Boot from USB
в BIOS, но получаю эту ошибку:
Invalid partition table!
Однако работает qemu-system-i386 /dev/sdc
и qemu-system-x86_64 /dev/sdc
работает нормально.
Как мне записать данные disk.img
на USB-накопитель, чтобы он загружался с моего настоящего BIOS?
решение1
По какой-то причине шаги, которые я предпринял для создания, disk.img
делают так, что его disk.img
можно правильно записать только на дискету. Однако полное удаление файла образа (запись напрямую на USB) сработало (убедитесь, что вы используете /dev/sdX
вместо /dev/sdXY
):
$ dd if=/dev/zero of=/dev/sdc bs=1024 count=1440
$ dd if=vbr.bin of=/dev/sdc count=512 conv=notrunc