Как запустить Windows на устройствах на базе Android
Вероятно, порой возникает, к примеру, необходимость запуска программы, работающей только в Windows. Существует несколько способов решения данного вопроса на ARM планшете или смартфоне, работающих на ОС Android.
1. С помощью приложения aDOSBox.
aDOSBox – это программа для Android, позволяет запустить полноценный MS-DOS на Android-планшетах, также с помощью нее можно запустить Windows.
Установка:
- Загрузить aDOSBox и установить его на карту памяти.
- Создать либо отредактировать файл конфигурации aDOSBox \sdcard\app-data\org.hystudio.android.dosbox\.dosbox\dosbox-0.74.conf:
[autoexec]
mount e /sdcard
e: imgmount c e:\win98.img -t hdd -fs fat
boot -l c
imgmount c e:\win98.img -t hdd -fs fat
Так настраивается автоматическое создание и монтирование диска e:/, который будет создаваться из нашего образа с установленной Windows 98 и его автозапуск.
- Скачиваем образ установленной Windows 98.
- Скаченный образ переименовать в win98.img (если он назывался по-другому) и положить в корень sdcard.
- Запустить aDOSBox. Запуск Windows произойдет автоматически.
Windows 98 и 95 работают достаточно шустро даже на дешевом планшете. У aDOSBox много настроек, экранная клавиатура, экранный джойстик, возможность включения сглаживания экрана (особенно полезно если у вас нестандартное разрешение планшета).
- Не поддерживает сеть.
- Отсутствует звук.
- Высокая скорость работы.
- Множество настроек.
2. С помощью BOCHS
BOCHS является звестным эмулятором x86, с поддержкой звука.
Установка:
- Скачать BOSCHS и SDL .
- Распаковать SDL в папку SDL в корне sdcard устройства.
- Скачать .img образ операционной системы (теоретически BOCHS позволяет запустить любую x86 ОС), для Windows 98 подойдет образ из первого способа.
- Переименовать образ Windows 98 в файл c.img и скопировать в папку SDL из 2 шага.
- Установить BOSCHS, запустить, подождать загрузки.
Windows работает помедленнее, чем aDOSBox, но есть поддержка звука. Этот способ подойдет для тех, кому эмуляция звука критична. Данный эмулятор поддерживает запуск облегченных версий Windows XP.
- Нет поддерживает сеть.
- Невысокая скорость работы.
- Стабильность работы.
- Запуск любой x86 ОС.
- Эмуляция звука.
3. С помощью QEMU
QEMU — очень известный кроссплатформенный эмулятором, также позволяющий запустить Windows 95 и 98 на Android.
Процесс установки аналогичен второму способу, скачать QEMU и SDL можно на 4pda. Настроенный под QEMU образ Windows также есть по данной ссылке.
Windows 95 работает быстро и стабильно, Windows 98 чуть медленнее.
- Нет эмуляции сопроцессора (необходим в Windows XP).
- Нет эмуляции звука.
- Не поддерживает сеть.
- Поддержка QEMU для Android прекращена.
- Хорошая скорость работы, быстрее всех других эмуляторов.
Вывод
Безусловно, эмуляция Windows на Android не заменяет полноценного ноутбука или компьютера, но может помочь в экстренных ситуациях, занимая всего 80 Мб на карте памяти.
Поделиться:
Оставьте свой комментарий!
Bochs как пользоваться
Привет! Я создаю операционные системы еще с пелёнок и так до сих пор ни одной путной не создал. Ближе к делу. Я хочу создать небольшой так называемый monitor, чтобы запускать на реальной машине программы из реального режима работы процессора. Почему не из защищенного? Можно и из защищенного, но оттуда не будет доступен диск, а он мне нужен. К тому же это проще создать. Возможно, когда-нибудь я и буду делать цикл статей по созданию ОС в защищенном режиме, но он мне сейчас вообще никак не сдался, ибо цель простая — написать попроще, и чтобы оно хотя бы как-то работало. Программировать конечно же, буду на ассемблере fasm.
§ Установка bochs
Мне, в принципе, нравится постоянно ставить bochs. Все это надо делать в linux, на винде я без понятия как собрать bochs из исходников. Конечно, можно пользоваться и тем, что в винде дается, но мне неудобно командной строкой там во встроенном странном отладчике ковыряться, тем более я в linux сижу.
Исходные коды bochs 2.6.11 можно скачать по этой ссылке.
Чтобы bochs удачно установился, обязательно нужно установить следующие пакеты
apt install gcc g++ libsdl1.2-dev gtk2.0-dev libgtk2.0-dev libx11-dev libxrandr-dev make
Переходим в папку с кодами bochs и вводим следующую команду
./configure --enable-x86-64 --enable-debugger --enable-disasm --enable-readline --with-all-libs --with-x11 && \ make && \ sudo make install
Если ошибки не вышло, все в порядке и можно пользоваться bochs.
§ Установка через Dockerfile
Можно еще даже попробовать поставить bochs через docker. Dockerfile такой:
FROM ubuntu:latest ENV DEBIAN_FRONTEND=noninteractive ADD 'bochs-2.6.11.tar.gz' /bochs/ RUN apt-get update && \ apt-get install -y mc gcc g++ libsdl1.2-dev gtk2.0-dev libgtk2.0-dev \ libx11-dev libxrandr-dev make && \ useradd -ms /bin/bash [user] RUN cd '/bochs/bochs-2.6.11' && \ ./configure --enable-x86-64 --enable-debugger --enable-disasm --enable-readline --with-all-libs --with-x11 && \ make RUN cd '/bochs/bochs-2.6.11' && make install
Но это какое-то реальное извращение. А вот и скрипт для создания временного контейнера.
# Создать образ docker build -t bochs . # Создать контейнер docker run --rm --user $ --name bochs-cont -h hostbochs \ --net host \ -w /home/ \ -e DISPLAY=$ \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v $/home:/home/$ \ -ti bochs bochs
§ Конфигурационный файл
После всех перипетии надо настроить конфигурационные файлы. Можно воспользоваться тем, что у меня есть:
# configuration file generated by Bochs plugin_ctrl: unmapped=1, biosdev=1, speaker=1, extfpuirq=1, parallel=1, serial=1, iodebug=1 config_interface: textconfig display_library: x, options="gui_debug" memory: host=32, guest=32 romimage: file="/usr/local/share/bochs/BIOS-bochs-latest", address=0x0, options=none vgaromimage: file="/usr/local/share/bochs/VGABIOS-lgpl-latest" boot: disk floppy_bootsig_check: disabled=0 # no floppya # no floppyb ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 ata0-master: type=disk, path="disk.img", mode=flat, cylinders=0, heads=0, spt=0, model="Generic 1234", biosdetect=auto, translation=auto ata0-slave: type=none ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 ata1-master: type=none ata1-slave: type=none ata2: enabled=0 ata3: enabled=0 optromimage1: file=none optromimage2: file=none optromimage3: file=none optromimage4: file=none optramimage1: file=none optramimage2: file=none optramimage3: file=none optramimage4: file=none pci: enabled=1, chipset=i440fx vga: extension=vbe, update_freq=5, realtime=1 cpu: count=1, ips=4000000, model=bx_generic, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0 cpuid: level=6, stepping=3, model=3, family=6, vendor_string="GenuineIntel", brand_string="Intel(R) Pentium(R) 4 CPU" cpuid: mmx=1, apic=xapic, simd=sse2, sse4a=0, misaligned_sse=0, sep=1, movbe=0, adx=0 cpuid: aes=0, sha=0, xsave=0, xsaveopt=0, x86_64=1, 1g_pages=0, pcid=0, fsgsbase=0 cpuid: smep=0, smap=0, mwait=1 print_timestamps: enabled=0 debugger_log: - magic_break: enabled=1 port_e9_hack: enabled=0 private_colormap: enabled=0 clock: sync=none, time0=local, rtc_sync=0 # no cmosimage # no loader log: - logprefix: %t%e%d debug: action=ignore info: action=report error: action=report panic: action=ask keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none mouse: type=ps2, enabled=0, toggle=ctrl+mbutton speaker: enabled=1, mode=system parport1: enabled=1, file=none parport2: enabled=0 com1: enabled=1, mode=null com2: enabled=0 com3: enabled=0 com4: enabled=0
- display_library: x, options=»gui_debug» — позволяет пользоваться нормальным отладчиков
- ata0-master: type=disk, path=»disk.img» — подключает диск disk.img
- boot: disk — делает его запускным
- magic_break: enabled=1 — возможность остановки на инструкции XCHG BX, BX
Bochs как пользоваться
Существуют два вида bochs, вид первый — для win32, и второй для linux. Я рассмотрю, наверняка, только лишь win32, ибо о другом как то в облом рассказывать. Только вот для начала, скажу, что такое bochs. Это эмулятор x86 машины, я бы не сказал, что очень функциональный прямо, но мне что в нем нравится, так это визуальный отладчик. Вот он больше всего мне и нравится, он как раз круче всего, что я видел, потому что он очень удобный. Поначалу, конечно, я расскажу как настроить на винде. Засада в том, что он перестал выпускаться под win32 и последняя версия датируется вообще 2021-м годом, хотя сейчас уже 2023, проект пока что можно считать остановленным на момент написания этой статьи. Чтобы не посеять файл в черной дыре, я дам ссылку на него на свой Яндекс-диск (версия 2.6.9). Это последняя версия, которая поддерживает 32х битную винду.
После скачивания файла, его обязательно надо установить. Это делается довольно просто, заходим в Windows XP, поскольку большинство пользователей сейчас сидит в этой операционной системе, примерно около 95%, остальные на линуксе, записываем туда файл и запускаем инсталлятор. Установку лучше произвести в c:\bochs , чтобы потом не было обидно за всё, что произошло.
Процесс установки программы выглядит приблизительно так, как показано на картинках ниже.
Вот в таком порядке картинки идут, это не так сложно, как может показаться на первый, весьма невооруженный взгляд. После установки, на рабочем столе может появиться иконка, приглашающая запустить DLX Linux Demo. Кликая по ней двойным щелчком, видим следующую картину.
Это процесс запуска Linux Demo.
§ Настройка окружения
Если кто-то подумал, что на этом всё, можно создавать операционные системы, то он подумал правильно. На этом можно, пожалуй, и закончить, но перед этим надо сначала сделать так, чтобы Windows XP понимала, что когда вызываешь bochs или bochsdbg команду, то надо знать, откуда и куда, что и почему. Для этого кликнем правой кнопкой мыши (если Вы — левша, то левой) на иконку «Мой компьютер» и выберем там «Свойства». Должно появиться окно, примерно похожее на нижеследующее:

Жмем вкладку «Дополнительно», и там появится некоторое окно, где надо нажать «Переменные среды». Не теряясь, найдем надпись «Path» и двойным кликом откроем это чудо науки и техники. Взору будет открыта вот эта байда.
Тут надо в конце дописать через точку с запятой вот такую фразу ;c:\bochs и нажать ОК, потом снова нажать ОК, и опять, нажать на ОК. После трех раз нажиманий на ОК, комп, наконец, поймет, что мы хотим от него избавиться и закроется сам, выключиться, и выброситься в окно, но, в процессе полета, обязательно зависнет на полпути и будет долго профурычиваться, а потом все-таки, упадет, но конечно же, он упадет на заботливо подстеленную солому, которую юзер с бешеными глазами натаскает с ближайшей конюшни. Так что можно считать, комп в порядке останется.
Как вы можете заметить, меня вообще понесло не туда, как обычно. Это нормально, это мой собственный стиль написания статей, так что к этому надо постепенно начинать привыкать.
§ Конфигурационный файл
Довольно короткий вариант, файл c.bxrc :
megs: 32 romimage: file=c:/bochs/BIOS-bochs-latest vgaromimage: file=c:/bochs/VGABIOS-lgpl-latest # floppya: 1_44=disk1.img, status=inserted # floppyb: 1_44=disk2.img, status=inserted ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 ata0-master: type=disk, path="c.img", mode=flat, biosdetect=auto, translation=auto boot: c display_library: win32, options="gui_debug" log: bochsout.txt mouse: type=ps2, enabled=0, toggle=ctrl+mbutton magic_break: enabled=1 cpu: ips=15000000 clock: sync=both keyboard: keymap=c:/bochs/keymaps/x11-pc-us.map
Теперь разберем что тут к чему.
- megs — количество данных мегабайт для виртуальный машины (не шины), и это 32 метра
- romimage — указывается файл, в котором лежит некий BIOS (Basic Input/Output System). Он важен, без него машина не заведется.
- vgaromimage — это тоже БИОС, но для видеоадаптера, без него комп не заведется, естественно
- floppya и floppyb — образы дискет, пока они выключены, но можно включить, если что
- ata0 — жесткий диск, интерфейс ATA, включен, на портах 0x1F0 и 0x3F0 находится, резервирован IRQ номер 14 для него. Диск, когда отрабатывает какую-то операцию, то он дергает это 14-й IRQ на контроллер прерываний, чтобы сообщить процессору, что он готов.
- ata0-master — конфигурация диска на мастер-шлейфе, указывается путь до диска, режим flat, автоматическое обнаружение и автоматические же трансляции адресов секторов
- boot: c — откуда пускаем загрузку, здесь — первый жесткий диск, он же и единственный
- display_library — способ отображения информации на экране, поскольку мы в win32, то указываем winapi (win32), а также указывается опция «gui_debug», которая рассказывает о том, что при запуске отладчика, он будет показан в GUI режиме
- log — файл, куда логируется
- mouse — есть ли МЫШЬ в системе, включается ли она при запуске (нет), и каким образом выйти обратно после того, как мышь была захвачена, и это CTRL+Средняя Кнопка Мыши. Когда это происходит, мышь отпускается и ей можно управлять вне виртуальной машины.
- magic_break — крайне полезная штука для отладки. Когда виртуальное лицо в виде виртуальной машины натыкается на инструкцию XCHG BX, BX , у него происходит приступ и он выбрасывает в отладчик, делает досрочную остановку. Очень полезная вещь, крайне полезная.
- cpu — какой CPU юзается, в данном случае, по умолчанию, и сколько инструкции в секунду ему надо выполнить, тут 15 млн. Выполняются именно инструкции, это с тактами процессора не связано.
- clock — системные БИОС-часы, синхронизированы с хост-машиной, то есть, время будет нормальное показываться в системе, а не это вот всё.
- keyboard — указываем, какая раскладка клавиатуры нам нужна
Все, это не так много. Всего того, что тут указано, вполне достаточно, чтобы чего-то запустить. Запуск с командной строки очень простой: bochsdbg -q -f c.bxrc . После этого запустится отладчик, но с нюансами. А диска то нет! Что делать? Для этого есть инструмент, как создать пустой диск. Запускаем bximage , нажимаем опцию 1, и тупо жмем все время на ENTER, потому что он предложит создать диск размером 10 мб, ну и создаем его, что уж тут.
Если попробовать запустить, то он запустится. Только скажет, что мы обалдели, и что диск то не запускной, и что надо Kill simulation. Ясно, что не нравится, так сразу Леон. Нехорошо! А что сделать так, чтобы оно работало? Просто начать писать что-нибудь загадочное.
§ Просто DOS
У меня есть дискета с установленным DOS. Чтобы запустить ее, потребуется немного изменений. В первую очередь, скопировать файл c.bxrc в a.bxrc и заменить пару строк там.
floppya: 1_44=dos622boot.img, status=inserted boot: a
Чтобы запустить файл, нужно из командной строки набрать bochsdbg -q -f a.bxrc . Надеюсь, это поможет разобраться.
§ Программы для работы
Нам для того, чтобы создать операционную систему, надо обязательно скачать flat assembler, без которого ни одну операционную систему не создашь. Чтобы его можно было запускать из операционной системы win32, с консоли, с любой точки пространства и времени, нам потребуется добавить его в переменную «Path», как это делалось с C:\BOCHS . Сначала надо распаковать файл с FASM-ом в папку C:\FASM и добавить его в системные переменные, как это сделать, я говорил выше.
Есть поверье, что ОС создаются на Си и Си++. Да ну, бред какой-то. ну кто создает операционные системы на Си? Они создаются только с использованием Ассемблера! Иначе тогда это будет не ОС, а туфта какая-то, которую стыдно даже запускать, не то что пользоваться.
Обзор свободного эмулятора Bochs: запуск эмуляции и итоги
![]()
Задав в файле настройки загрузочное устройство, запускаем Bochs из консоли и нажимаем в первом экране опций цифру — start emulation. Если вы хотите установить какую-то систему с CD/DVD, то надо указать загрузку с CD-ROM, а также предварительно вставить диск в привод и примонтировать его.
Конечно можно пойти другим путем и скачать с сайта Bochs (http://bochs.sourceforge.net/ diskimages.html) образ диска с предустановленный системой. Там на выбор представлены несколько дистрибутивов Linux, а также OpenBSD и FreeDOS.
Установка системы с настоящего CD/DVD либо с ISO-образа диска может озадачить. BIOS в Bochs очень строгий, и загрузочные образы он трактует соответствующим образом: одни подходят, другие — нет.
Это же касается и образов, записанных на CD. Согласно стандарту загрузочных дисков El-Torito, есть два варианта, откуда BIOS получает загрузочный код: либо непосредственно с CD, либо с образа дискеты, записанного на том же CD. Это как-то связано с придирчивостью BIOS в Bochs, но как именно — затрудняюсь ответить.
Практическое использование Bochs с относительно современными системами кажется мне затруднительным. У меня достаточно мощный компьютер, но если производительности Bochs хватает для Windows 98, то Windows XP в нём тормозит, а её установка заняла около пяти или шести часов (я уже и счет потерял, но ради эксперимента терпеливо ждал, когда же наконец она завершится).
Пытался ставить Ubuntu: вроде бы началась загрузка интерфейса установщика, но это дело длилось столь долго, что я не дождался и прервал.
![]()
Эмуляция Windows NT
Напоследок — наверное, самое главное, что следует знать о Boch. Для передачи ему фокуса мыши, надо щелкнуть по иконке мыши на его панели инструментов. Чтобы освободить фокус и передать его в систему-хозяин, надо при зажатых + нажать среднюю кнопку мыши. Иначе клавиатурный и мышиный фокус будут у Bochs и вы не сможете переключиться во вне его.
Вместо итогов
Конечно, следует отличать эмуляцию от виртуализации. Я готов мириться с медлительностью Bochs, но многие его возможности могли бы иметь рабочие настройки по умолчанию. Вместо этого почти каждый аспект Bochs приходится настраивать вручную, через файл. По умолчанию можно запросто запустить FreeDOS и работать в каком-нибудь Volkov Commander или играть в старые игры.
Но DOSBox справляется с этим эффективнее, притом почти всё в нем работает «из коробки». Зато умельцы ставят Bochs на Android, устанавливают внутрь Windows 95, 98, XP, ждут ее запуска. и это (с той или иной скоростью) работает!
![]()
Запуск Windows 95 на Android при помощи Bochs
Мне кажется, название Bochs покамест, если к использованию программы не прилагать дополнительных усилий, можно трактовать скорее как «коробочка» в смысле закрытости: без усердной настройки мы получаем в Bochs весьма изолированную от внешнего мира гостевую систему, которую, кстати, и не с каждого «реального» CD получается установить.
Трудно ожидать от Bochs в будущем особого увеличения производительности (разве что за счет более мощных поколений аппаратной части, приобретаемых пользователями), но хотелось бы дружественности к пользователю. Я много не прошу — хотя бы на уровне современной документации к файлу .bochsrc. Как я могу пользоваться программой и настраивать ее, не имея подробной документации?
Вам ни к чему эмулировать множество различных ОС, поэтому Bochs не представляет для Вас совершенно никакого интереса. И единственное, что Вам нужно в данный момент — реверсивный контактор (http://www.techtrends.ru/catalog/omron/pereklyuchayutschie_komponenty/nizkovoltnye_kommutatsionnye_ustrojstva/minikontaktory_dlya_dvigatelej/j7kna/) высочайшего качества на 4 кВт.
Именно поэтому, я спешу сообщить Вам, что Вы сможете приобрести данное устройство в компании «ЭКСПРЕСС НТС-ЭКО».
- Просмотров: 23589
- Комментариев: 0
- Дата публикации: 04.03.14
