2

Я пытаюсь эмулировать окна с bochs на моем устройстве Android. У меня есть следующие диски: пустой образ диска для установки Windows, виртуальный диск vvfat с установочными файлами и диск cdrom с последней версией DOS. Bochs распознает все диски правильно.

Проблема в том, что при загрузке в DOS образ диска не распознается. Я использовал команду vol для идентификации дисков. A был назначен на cdrom, B выдал ошибку чтения, C был назначен на виртуальный диск vvfat, а остальные не были назначены. Однако ошибка чтения B не имеет ничего общего с файлом изображения. Если бы я отключил все диски, кроме компакт-диска, ошибка все равно будет. Вероятно, это эмулируемая дискета.

Я думаю, что проблема в файле изображения. Я сделал это с помощью дд в терминале. Я использовал следующую конфигурацию:

dd if=/dev/zero of=/sdcard/Win.img bs=64k count=8192

И отформатировал это с:

mkfs.vfat /sdcard/Win.img

Это не сработало. Затем я обнаружил, что старые версии Windows поддерживают блок размером до 4 КБ или размер кластера, поэтому я сделал новую:

dd if=/dev/zero of=/sdcard/Win.img bs=4k count=131072

И снова отформатировал его с помощью mkfs.vfat.

Так как это все еще не работало, я начал экспериментировать с файловыми системами и разделами. Я использовал fdisk для разделения изображения:

fdisk /sdcard/Win.img, n, p, 1, 1, 65

Но до сих пор нет результата. Может быть, я сделал что-то не так, потому что, когда я печатал таблицу разделов, в конце было написано linux.

Мой вопрос: кто-нибудь знает, как отформатировать образ диска с терминалом, чтобы он был распознан DOS?

4 ответа4

1

mkfs.vfat -F вы можете использовать ТОЛЬКО 12 или 16. (32 несовместимо с DOS)

mkfs.vfat -F 16 -f 2

Вам нужно избегать автоматического метода, так как он захочет использовать 32-битную файловую систему, будет несовместим с любой программой DOS.

12-битная файловая система традиционно зарезервирована для дискет. Хотя, его можно использовать, его максимальный размер составляет 1/4 или 512 МБ FAT16.

В DOS жесткие диски обычно FAT16. Именно поэтому я сказал использовать 16 бит, а нижний регистр -f 2 указывает на 2 копии, как работает DOS.

1

Вы можете скачать готовые жесткие диски из Интернета, в том числе пустые. Люди используют их в качестве загрузочных образов для компакт-дисков.

Размер сектора DOS составляет 512 байт, и если Windows 9x собирается выполнить двойную загрузку с более ранней версией DOS, создайте разделы размером менее 126 МБ. Это раздел fat16, который win9x не будет преобразовывать в fat32.

Когда вы создаете раздел, вы должны использовать DOS fdisk для создания разделов и форматировать для форматирования разделов. Вы можете сделать это с дискеты. vol видит только созданные разделы. Вы должны установить основной раздел «активный», иначе он не загрузится.

После форматирования вы можете sys диск и установить DOS, Windows ..

0

Вы можете упростить весь процесс, используя mkdosfs , особенно если вам нужна строгая совместимость с DOS. mkdosfs есть флаг -C который позволяет пропустить шаг dd . Чтобы создать образ дискеты 1,44 МБ с именем Win.img , введите mkdosfs -C /sdcard/Win.img 1440 .

Тем не менее, я сомневаюсь, что проблемный образ диска имеет разновидность дискеты. Даже Windows 3.0 занимает 6-8 МБ дискового пространства при установке.

0

По умолчанию fdisk создает разделы типа "Linux". Вам нужно изменить его на "Windows". Вернитесь к fdisk и наберите (после того, что вы уже набрали) "t", "1", "b". Сохранить и выйти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .