metatrop
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору CaptainFlint в своё время обращал внимание, что версии 6.0.x хотя и отказываются формально устанавливаться на 32-битные ОС, содержат тем не менее набор файлов x32, и MSI инсталлятор может быть запущен (у меня он, однако, споткнулся на неспособности найти файл, который внутри него наличествовал). Трудность с установкой без труда обходится с помощью Portable-VirtualBox.exe, который способен извлечь все файлы. Выясняется, что версия 6.0.24 в принципе работает на WS2003 x32 (и, следовательно/вероятно, на XP). Разработчики не соблазнились переходом на новые компиляторы Microsoft, благодаря чему и объём программы раздувается меньше, и рисков падения производительности нет, и совместимость сохраняется. Главный вопрос, сохранился ли в 6.0.24 неприятный своей фатальностью сбой, наличествующий у версий старше 5.2.26 (5.2.34, 5.2.36, 5.2.44). Он проявляется в том, что есть загрузиться c DVD 2k10_Live 7.25 в WinPE 8/10 и запустить со второго CD-привода установку драйверов VirtualBox, то происходит падение виртуальной машины, причём память под неё (выделенная на уровне драйвера!) не освобождается вплоть до перезагрузки основной ОС! Речь идёт XP/2003, на других x32 не проверялось. И ещё байтовая правка 32-битного VBoxSVC.exe под WS2003 PAE x32 (или даже WinXP + PAE patch!) с кол-вом реальной памяти >= 4ГБ, которая снимает ограничение <= 3.5 ГБ на вирт.машину в ползунке интерфейса и при указании кол-ва МБ методом VBoxManage.exe modifyvm Name --memory 5000 Код: ; VirtualBox-5.2.26-woHardening-selfSigned\VBoxSVC.exe - 4063160 байт, MD5 8bcd90b8b087bc0a4463b3c1f996e694 ; ; По сути заменяются все 0x00000E00 (3584 МБ) на 0x00020000 (128 ГБ) в ; секции .text (примерно 50% размера с начала файла). ; Однако в одном месте компилятор сравнивает с (величиной - 4) ; ; Recalculated checksum 00000168: 0E DC 00000169: 85 62 ; ApplianceImplImport.cpp: HRESULT Appliance::interpret() // можно найти по ссылке на строку 'claims support for %llu MB RAM size' 00032FA6: 0E 00 00032FA7: 00 02 00032FB8: 0E 00 00032FB9: 00 02 00032FE0: 0E 00 00032FE1: 00 02 00032FE7: 0E 00 00032FE8: 00 02 ; MachineImpl.cpp: HRESULT Machine::setMemorySize(ULONG aMemorySize) // можно найти по ссылке на строку 'Invalid RAM size: ' 00085F92: 0D FF ; (MM_RAM_MAX_IN_MB-4) 0xDFC -> 0x1FFFC 00085F93: 00 01 ; 0008609D: 0E 00 0008609E: 00 02 ; SystemPropertiesImpl.cpp: HRESULT SystemProperties::getMaxGuestRAM(ULONG *maxRAM) // простейшая функция, пишет константу по указателю-аргументу 000D5379: 0E 00 000D537A: 00 02 Mismatches found in 4063160 bytes: 16 | Это - модификация под конкретную версию 5.2.26, но те, кто разбираются, по аналогии могут исправить x32 VBoxSVC.exe из других версий VirtualBox, включая, вероятно, и 6.0.24. | Всего записей: 327 | Зарегистр. 17-09-2010 | Отправлено: 09:07 14-09-2022 | Исправлено: metatrop, 09:21 14-09-2022 |
|