Потребность записать файл в дискету

Я задал этот вопрос на ТАК. Я попробовал

dd if=kernel.sys of=/dev/fd0 bs=512 seek=1

заставить этот файл писать в дискету. Это - оболочка ядра, которая должна быть записана в сектор сразу после загрузочного сектора диска для начальной загрузки ПК. Независимо от того, что я попробовал, по некоторым причинам, kernel.sys не пишет в дискету. Я знаю, что программа начальной загрузки пишется и выполняется. Однако это не может найти, что ядро загружает оболочку.

Какие-либо идеи о том, что я делаю неправильно? Я имею в виду, действительно, как настолько трудно записать этот файл в дискету?

OpenSUSE 11.2

4
задан 23.05.2017, 15:41

2 ответа

Для получения программы начальной загрузки и ядра на дискету, мы должны были использовать qemu. Смотря на раздел по образам дисков FAT, мы записали сценарий оболочки:

# first create a raw empty floppy image
dd if=/dev/zero of=bootimage.img bs=512 count=2880

# our bootstrap contains the MBR for the floppy (i.e. it actually formats it to our specs, in this case FAT12)
dd if=bootup.bin of=bootimage.img bs=512 count=1 conv=notrunc

# mount into 'media/floppy'
losetup /dev/loop0 bootimage.img
mount -o loop bootimage.img /media/floppy

# we can actually list all files that we need to copy to disk here
cp bootsys.sys /media/floppy

# make sure we unmount, otherwise nothing gets written !!
umount /media/floppy
losetup -d /dev/loop0

# run QEmu
qemu -fda bootimage.img

Я полагаю, что, если у Вас нет физического дисковода для гибких дисков, Вы можете эмулировать дискету путем замены /media/floppy для /mnt/floppy.

1
ответ дан 07.12.2019, 21:47

Взгляды, как будто Вы пытаетесь сделать загрузочный диск DOS. Не верный seek=1 корректен, но я понятия не имею. Я думаю, что у Вас должен был бы быть command.com, а также kernel.sys для получения рабочей начальной загрузки floopy. Вы рассмотрели FreeDos? Можно загрузить его и следовать инструкциям для создания загрузочного диска.

0
ответ дан 07.12.2019, 21:47

Теги

Похожие вопросы