Ru-Board.club
← Вернуться в раздел «Программы»

» Oracle VM VirtualBox (часть 2)

Автор: VictorVG4
Дата сообщения: 22.07.2016 22:11
Proshaa

Скорее просто - неочевидность и отвратительная документация как фирменный стиль редмондской конторы ещё со времён XENIX (выпускавшаяся в начале 80-х версия UNIX от Микрософт). Там было то же самое. Найти что-то нужное - сто раз чёрта помянёшь пока поймёшь как это сделано и что от тебя хотят.
Автор: AnHot
Дата сообщения: 22.07.2016 22:42

Цитата:
неочевидность и отвратительная документация как фирменный стиль редмондской конторы

- зато можно обучать за деньги специалистов и выдавать сертификаты. Контора с самого начала умела деньги зарабатывать.
Автор: VictorVG4
Дата сообщения: 22.07.2016 23:31
AnHot

Согласен. Если сравнить документацию написанную ALR, DEC, IBM, HP, Intergraf, MZ Pacific, iXsystems, SGI, Vines, Sun, Oracle с писаниной мелкомягких или Novel разница видна мгновенно. Такое ощущение что эти конторы нанимают на работу детсадовцев.
Автор: Zhoporez666
Дата сообщения: 24.07.2016 13:57
Установил VirtualBox 5.1, VBoxVmService 5.1 и phpvirtualbox 5.0.5.
Создал ВМ "XP".Через phpvirtualbox все доступно и работает. Правда есть сообщение, отображаемое на несовместимости версий.
Через VBoxVmService запускаю ВМ в качестве службы. Все ОК, она доступна через RDP. Но через phpvirtualbox у этой ВМ статус "выключена"
Так и должно быть или ждать обновления phpvirtualbox под версию 5.1.* ?
Автор: StalkerSoftware
Дата сообщения: 26.07.2016 09:44
Hi All,

VirtualBox 4.3.12 r93733

Есть виртуальная машина с Win7 x64.
Создал Снимок1.
Установил некий софт.
Создал Снимок2.
Внес изменения в этот софт. Изменения оказались неудачные
и я Восстановил Снимок1 (т.е. фактически привел ВМ Win7 x64 в первоначальное
состояние.
После этого я решил удалить Снимок2, но при попытке его удаления получаю
ошибку:

=================================================
Не удалось удалить снимок Снимок 2 виртуальной машины Windows 7 SP1 x64 Prof.

Hard disk 'O:\VIRTUALBOX\Machines\Windows 7 SP1 x64 Prof\Snapshots/{c05b8bce-1406-4fe6-bdd5-d155ac16fd0c}.vdi' has more than one child hard disk (4).

Код ошибки: E_FAIL (0x80004005)
Компонент: SessionMachine
Интерфейс: IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}

=================================================

Если пытаюсь удалить Снимок1, то получаю такую ошибку:

=================================================
Не удалось удалить снимок Снимок 1 виртуальной машины Windows 7 SP1 x64 Prof.

Snapshot 'Снимок 1' of the machine 'Windows 7 SP1 x64 Prof' cannot be deleted, because it is the current snapshot and has one child snapshot.

Код ошибки: VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
Компонент: SessionMachine
Интерфейс: IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}
Вызванный интерфейс: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}
=================================================

Что интересно, когда я запускаю эту ВМ Win7 x64, то загружается начальное
состояние ВМ (до установки софта), т.е. на момент Снимка1, значит Восстановление сработало нормально.

Вопрос: Как мне удалить эти снимки ?
Автор: CaptainFlint
Дата сообщения: 26.07.2016 12:24
StalkerSoftware
Иногда VB косячит со снимками, не вычищая дочерний образ диска, так что он остаётся висеть неиспользуемым и блокирует собой родительский образ.

Выложи сюда скриншот дерева дисков для проблемной машины (команда Менеджер дисков или как-то так в меню Файл основной консоли), скриншот дерева снэпшотов самой машины и содержимое её VBOX-файла (куда-нибудь на pastebin или подобный сервис), по ним можно будет разобраться, что сломалось и как чинить.
Автор: StalkerSoftware
Дата сообщения: 28.07.2016 10:18
CaptainFlint


Цитата:
Выложи сюда скриншот дерева дисков для проблемной машины (команда Менеджер дисков или как-то так в меню Файл основной консоли)




Цитата:
скриншот дерева снэпшотов самой машины



и содержимое её VBOX-файла
Ссылка

Цитата:
по ним можно будет разобраться, что сломалось и как чинить.

Надеюсь, что получиться ...
Автор: CaptainFlint
Дата сообщения: 28.07.2016 15:41
StalkerSoftware
А, так у машины два диска, а не один. А этот второй диск NewVirtualDisk_D.vdi, случайно, в какие-то другие машины не подключён?
Автор: CaptainFlint
Дата сообщения: 29.07.2016 02:11
Самособранные варианты дистрибутивов без харденинга:
5.1.2
5.0.26
Инструкция по установке
Автор: StalkerSoftware
Дата сообщения: 29.07.2016 13:17
CaptainFlint

Цитата:
А, так у машины два диска, а не один.

Да, два.
Сначала когда я ставил "Windows 7 SP1 x64 Prof" в виртуалку, был один диск, а потом когда стало не хвать места, добавил в эту виртуалку еще один диск.


Цитата:
А этот второй диск NewVirtualDisk_D.vdi, случайно, в какие-то другие машины не подключён?
Нет конечно, он используется только в виртуалке "Windows 7 SP1 x64 Prof".
Автор: CaptainFlint
Дата сообщения: 29.07.2016 14:43
StalkerSoftware
В таком случае надо у этого второго диска поудалять все лишние снэпшоты, а именно {1f4de1ef-aa8a-4dc5-9739-d299fdbd39c3} и всех потомков у {c05b8bce-1406-4fe6-bdd5-d155ac16fd0c} (его самого оставить). В итоге должно получиться следующее:

Код: NewVirtualDisk_D.vdi
|- {a6e45914-f0a8-46c3-8f9d-4d767216a5d5}
|- {c05b8bce-1406-4fe6-bdd5-d155ac16fd0c}
Автор: ChildrenofkoRn
Дата сообщения: 07.08.2016 13:56
CaptainFlint
По поводу сертификатов нет никаких идей? С ласт сборкой аналогично.
Автор: bahtey
Дата сообщения: 07.08.2016 14:59
Стоит 4.3.10, пока хватает для целей которые ставился.
Стоит ли и будет ли это безболезненно, заменить на 5.0.26, что предлагается во время запуска VirtualBox.
Автор: CaptainFlint
Дата сообщения: 07.08.2016 15:23
ChildrenofkoRn
Так я же ещё в прошлый раз написал, в чём, скорее всего, проблема: SHA256 не установлен.
Автор: ChildrenofkoRn
Дата сообщения: 07.08.2016 18:29
CaptainFlint
Да, только я устанавливал оба (и не раз) и результат был "успешно".
Автор: CaptainFlint
Дата сообщения: 07.08.2016 19:21
ChildrenofkoRn
Прошлый раз были сняты такие скриншоты:
http://funkyimg.com/i/2eaMp.png
http://funkyimg.com/i/2eaMo.png
Поменялась ли с тех пор ситуация? Необходимо, чтобы оба сертификата отображались как валидные. Если это не так, значит, что-то не сработало.
Автор: ChildrenofkoRn
Дата сообщения: 07.08.2016 19:25
CaptainFlint
С прошлого раза ничего не поменялось.
Автор: CaptainFlint
Дата сообщения: 07.08.2016 20:14
ChildrenofkoRn
Тогда откройте certmgr.msc, разверните "Доверенные корневые центры сертификации", выберите папку "Сертификаты" в ней. Сколько там будет сертификатов с именем "CaptainFlint Software"? Для каждого из них:
1. Откройте диалог свойств (двойной щелчок), переключитесь на вкладку Состав.
2. В списке полей найдите и скопируйте сюда значения следующих полей: Алгоритм подписи, Серийный номер, Отпечаток (при выборе поля его значение отображается в нижней области, где его можно выделить и скопировать).

Должно быть два сертификата со следующими значениями:
1.
Алгоритм подписи: sha1RSA
Серийный номер: 70 7d a1 96 e8 09 f9 a5 41 26 5b d9 76 65 46 b3
Отпечаток: de 22 52 cc d4 9d 43 17 ba 20 dc f3 ef e8 2d ee 32 fc a4 3e
2.
Алгоритм подписи: sha256RSA
Серийный номер: 11 16 f3 7d fa 35 23 bf 43 ba 39 cd 7c d7 1f 98
Отпечаток: a2 22 92 8b fe b6 86 ee 5a 83 d0 51 d6 e7 d8 4f b8 f6 65 0c

Судя по всему, второго из них в базе не окажется, но надо убедиться.
Автор: ChildrenofkoRn
Дата сообщения: 07.08.2016 20:45
CaptainFlint


sha1RSA
70 7d a1 96 e8 09 f9 a5 41 26 5b d9 76 65 46 b3
de 22 52 cc d4 9d 43 17 ba 20 dc f3 ef e8 2d ee 32 fc a4 3e

sha256RSA
11 16 f3 7d fa 35 23 bf 43 ba 39 cd 7c d7 1f 98
a2 22 92 8b fe b6 86 ee 5a 83 d0 51 d6 e7 d8 4f b8 f6 65 0c

http://funkyimg.com/i/2f7F3.png
Автор: Levvon
Дата сообщения: 07.08.2016 21:23
CaptainFlint, спасибо за полезные сборки VB.

До сегодняшнего дня ни одна из них у меня не могла установиться. Всё из-за того, что бинарники в сборке подписаны почти правильно, но без использования кросс-сертификата DigiCert Assured ID Root CA.
Код: SignTool Error: Signing Cert does not chain to a Microsoft Root Cert.
Автор: CaptainFlint
Дата сообщения: 08.08.2016 01:40
ChildrenofkoRn
Чёрт, я только сейчас сообразил, что в тех своих инструкциях выдал лажу. Надо брать файл не file_VBoxUSB.cat, а file_VBoxUSB.sys. Каталоги не поддерживают двойную подпись, и вторая, действительно, всегда будет отображаться невалидной. Попробуйте с sys-файлом, пожалуйста.

Но вообще, учитывая что оба сертификата уже в хранилище, я пока не представляю, в чём может быть проблема. Ради эксперимента попробую собрать и выложить дистрибутив, подписанный только SHA256. Может быть, настройки в системе слишком жёсткие и невалидность второй подписи в CAT-файлах всё рушит…


Levvon
Если бы у меня был купленный сертификат от DigiCert, то да, именно так и нужно было бы подписывать (это учтено в скриптах сборки). Но у меня самосгенерированный сертификат, и, разумеется, никакого кросс-сертификата к нему не существует. Даже если бы я добавил дигисертовский кросс, цепочка доверия не сложилась бы, так как мой сертификат не удостоверен дигисертом. Именно поэтому я везде пишу, что для работы с моей сборкой надо отключать проверку подписей, с полноценной проверкой драйверы не будут загружены.

P.S. То, что я использую DigiCert-сервер для сертификата метки даты/времени, не имеет ни малейшего отношения к удостоверяющему сертификату, этот сервер может быть любым: хоть GlobalSign, хоть Symantec, хоть ещё какой. Это просто удостоверение, что файл был подписан в такой-то момент времени и после этого не менялся.
Автор: ChildrenofkoRn
Дата сообщения: 08.08.2016 01:59
CaptainFlint
file_VBoxUSB.sys тут действительны обе.
https://www.dropbox.com/s/6xnzmw5wlwlv65b/VBoxInstallLog_512.txt?dl=0
Автор: Levvon
Дата сообщения: 08.08.2016 04:26

Цитата:
CaptainFlint: с моей сборкой надо отключать проверку подписей, с полноценной проверкой драйверы не будут загружены

# С использованием того инструмента, что под ковром, — драйверы загружены будут даже при включённой проверке подписей! Главное следовать инструкции, что идёт в комплекте.

Будет отлично, если файлы в последующих сборках VirtualBox Вы сразу будете подписывать утилитой (или с использованием содержимого утилиты) из этого сообщения.

Автор: CaptainFlint
Дата сообщения: 08.08.2016 12:52
ChildrenofkoRn
Попробуйте этот дистрибутив, он подписан только sha256:
https://yadi.sk/d/5UhGoEa_u2atv


Levvon
Эта инструкция для установки, а не для сборки. Фактически, этот инструмент просто подписывает драйверы устаревшим, невалидным сертификатом, при этом не добавляя удостоверение даты-времени. Затем переводит дату-время, чтобы винда не смогла проверить актуальность.

Проблема в том, что даже если я воспользуюсь этим инструментом (который по сути всего лишь обёртка для обычного signtool с сертификатом и кросс-сертификатом в комплекте), всем пользователям для установки и запуска необходимо будет предварительно переводить дату на компе и отключать интернет. И на 100% уверен, что при следующей же перезагрузке всё это слетит (ну или каждый раз при загрузке компа выставлять старое время, дожидаться загрузки драйверов, потом переводить время обратно). Помимо неудобства как такового, это содержит высокий риск слетания активаций у самых разных программ, которые обнаружат сдвинутое время и решат, что их пытаются взломать.

Ради эксперимента я попробую сделать подписанный таким ключом дистрибутив, но не уверен, что он будет лучше, чем тестовый режим.
Автор: Levvon
Дата сообщения: 08.08.2016 13:34

Цитата:
CaptainFlint: всем пользователям для установки и запуска необходимо будет предварительно переводить дату на компе и отключать интернет
• Перевести дату только для установки VirtualBox, а затем вернуть обратно — что может быть проще?
• Интернет — по желанию, можно отключать, а можно и нет, на результат не влияет.

Цитата:
CaptainFlint: И на 100% уверен, что при следующей же перезагрузке всё это слетит
Вы сначала попробуйте.)

Цитата:
CaptainFlint: ну или каждый раз при загрузке компа выставлять старое время, дожидаться загрузки драйверов, потом переводить время обратно
Ничего такого не потребуется, всё успешно работает с Windows Vista по Windows 10 без дополнительного шаманства и TestMode.
Автор: ChildrenofkoRn
Дата сообщения: 08.08.2016 13:59
CaptainFlint
тоже самое.
для file_VBoxUSB.sys и file_VBoxUSB.cat подпись sha256 действительна.

Levvon

Цитата:
С использованием того инструмента, что под ковром

этот вариант поставился, виртуалки с W7 работали до ребута хост-системы, потом обе выдали:

Код:
Failed to load R0 module C:\Program Files\Oracle\VirtualBox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed (VERR_LDR_IMAGE_HASH).
Failed to load VMMR0.r0 (VERR_LDR_IMAGE_HASH).


Код ошибки:
E_FAIL (0x80004005)
Компонент:
ConsoleWrap
Интерфейс:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
Автор: Levvon
Дата сообщения: 08.08.2016 14:34
ChildrenofkoRn, замените содержимое файла [more=VirtualBox-CF.cmd]
    @Echo On
    Title X64DrvSignTool

    Color 17
    Mode Con: Cols=80 Lines=25

    ChDir /D "%~dp0"
    SetLocal EnableExtensions EnableDelayedExpansion

    For /F "Tokens=*" %%? In (
        'Dir "%~dp0*.cat" /A-D /S /B'
    ) Do (
        "%~dp0X64DrvSignTool.exe" "%%?"
    )

    For /F "Tokens=*" %%? In (
        'Dir "%~dp0*.dll" /A-D /S /B'
    ) Do (
        "%~dp0X64DrvSignTool.exe" "%%?"
    )

    For /F "Tokens=*" %%? In (
        'Dir "%~dp0*.exe" /A-D /S /B'
    ) Do (
        "%~dp0X64DrvSignTool.exe" "%%?"
    )

    For /F "Tokens=*" %%? In (
        'Dir "%~dp0*.r0" /A-D /S /B'
    ) Do (
        "%~dp0X64DrvSignTool.exe" "%%?"
    )

    For /F "Tokens=*" %%? In (
        'Dir "%~dp0*.rc" /A-D /S /B'
    ) Do (
        "%~dp0X64DrvSignTool.exe" "%%?"
    )

    For /F "Tokens=*" %%? In (
        'Dir "%~dp0*.sys" /A-D /S /B'
    ) Do (
        "%~dp0X64DrvSignTool.exe" "%%?"
    )

    Pause
[/more] и повторите переподписание.
Либо воспользуйтесь обновлённой версией утилиты (ссылка в моём позапрошлом сообщении).
Там в дополнение решена проблема с файлами, пути к которым содержат пробелы.

P.S. Я что-то сразу не подумал, что файлы r0 и rc тоже могут иметь подписи.
Автор: CaptainFlint
Дата сообщения: 08.08.2016 17:58
ChildrenofkoRn
К сожалению, в таком случае других идей нет.

Levvon
Собрал с китайской подписью, но самому пока проверить не на чем (рабочие машины корёжить не хочу, а в виртуалке виртуалку не запустить). Кто хочет, пробуйте:
https://yadi.sk/d/OM7R9sryu3HUG


Цитата:
• Перевести дату только для установки VirtualBox, а затем вернуть обратно — что может быть проще?

Я уже написал: многие программы этого не любят. Я так уже огребал, когда для тестов надо было откатить дату, из-за чего тут же слетели активации Касперского, Лингвы и ещё нескольких программ. Один-два раза можно переактивировать. Но если регулярно так поступать, с большой вероятностью можно огрести блокировку лицензии.


Цитата:
• Интернет — по желанию, можно отключать, а можно и нет, на результат не влияет.

Если включена синхронизация времени с интернетом, то она может выскочить в произвольный момент и порушить всю процедуру.

Добавлено:
P.S. Всё-таки попробовал установить на виртуалке. Функционально, разумеется, протестировать это не позволило, но драйверы, похоже, действительно грузятся и остаются живыми и здоровыми, в том числе после перезагрузки системы с нормальным временем. Ну что ж, GG Microsoft! Вся эта кухня с отзывом сертификатов и удостоверениями даты-времени как раз была придумана для того, чтобы исключить подобные хаки. Мне и в голову не приходило, что они могли оставить такую даже не дыру, а дырищу.

Автор: Skifoff2
Дата сообщения: 08.08.2016 19:43
По поводу даты - есть RunAsDate, не подойдёт?
Автор: Levvon
Дата сообщения: 08.08.2016 20:38

Цитата:
CaptainFlint: оставить такую даже не дыру, а дырищу
Это дизайн такой.

Представьте ситуацию, что у вас села CR2032, или по другой причине изменилось системное время. Что теперь, всем драйверам, для которых истёк/не наступил срок действия сертификата, но имеющим действительную цифровую подпись, нельзя запускаться при загрузке или следует останавливаться прямо на работающей операционной системе, сваливая её в синий экран?

Просто ситуация с утечкой приватного ключа и пароля никогда не должна была произойти...

Думаю, M$ волевым решением (читай, дополнительной проверкой на ранней стадии загрузки операционной системы) может исправить ситуацию с данным конкретным сертификатом, поэтому лучше не спешить с информированием всех об этой фишке, а размеренно пользоваться исключительно в мирных личных целях.


Цитата:
Skifoff2: По поводу даты - есть RunAsDate, не подойдёт?
Не пойдёт, фейковая дата нужна не для инсталлятора VirtualBox, а для ОС, чтобы проверка подписей драйверов при установке завершилась успешно.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499

Предыдущая тема: Программы для разработки, тестирования, оптических систем


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.