Это команда virt-win-reg, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
virt-win-reg - экспорт и объединение записей реестра Windows из гостевой системы Windows.
СИНТАКСИС
virt-win-reg имя домена 'HKLM \ Path \ To \ Subkey'
virt-win-reg domname 'HKLM \ Path \ To \ Subkey' имя
virt-win-reg имя домена 'HKLM \ Path \ To \ Subkey' @
virt-win-reg --merge доменное имя [input.reg ...]
virt-win-reg [--options] disk.img ... # вместо domname
ПРЕДУПРЕЖДЕНИЕ
Вы должны используйте "virt-win-reg" с - объединить вариант на живых виртуальных машинах. если ты
сделай это, ты предусматривает получить необратимое повреждение диска в виртуальной машине. "virt-win-reg" пытается
остановить вас от этого, но не во всех случаях.
Изменение реестра Windows - рискованная операция. Формат
намеренно скрытые и недокументированные, а изменения реестра могут покинуть систему
не загружается. Поэтому при использовании - объединить вариант, убедитесь, что у вас есть надежная резервная копия
первый.
ОПИСАНИЕ
Эта программа может экспортировать и объединять записи реестра Windows из гостевой системы Windows.
Первый параметр - это имя гостя libvirt или необработанный образ диска гостя Windows.
If - объединить is указан, то выбранный ключ реестра отображается / экспортируется
(рекурсивно). Например:
$ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft'
Вы также можете отображать отдельные значения из разделов реестра, например:
$ cvkey = 'HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion'
$ virt-win-reg Windows7 $ cvkey Имя продукта
7 для Windows Enterprise
Для пользователя - объединить, вы можете добавить текстовый файл regedit в реестр Windows:
$ virt-win-reg --merge изменения Windows7.reg
ЗАМЕТКА
Эта программа предназначена только для простого доступа к реестру. Если ты хочешь сделать
сложные вещи с реестром, мы предлагаем вам скачать файлы кустов реестра из
гость, использующий libguestfs(3) или рыба-гость(1) и получить к ним доступ локально, например. с использованием улей(3)
улей(1) или улей(1).
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--Помогите
Показать краткую справку.
--версия
Показать номер версии и выйти.
--отлаживать
Включить отладочные сообщения.
-c URI
--соединять URI
Если вы используете libvirt, подключитесь к указанному URI. Если опущено, то подключаемся к
гипервизор libvirt по умолчанию.
Если вы укажете гостевые блочные устройства напрямую, libvirt вообще не будет использоваться.
--формат сырье
Укажите формат образов дисков, указанный в командной строке. Если это не указано, то
формат определяется автоматически по содержимому образа диска.
Если образы дисков запрашиваются из libvirt, эта программа запрашивает это у libvirt.
Информация. В этом случае значение параметра формата игнорируется.
Если вы работаете с ненадежными образами гостевых дисков в необработанном формате, убедитесь, что формат
всегда указывается.
- объединить
В режиме слияния это объединяет текстовый файл regedit в реестр Windows
виртуальная машина. Если этот флаг учитывая тогда virt-win-reg отображает или экспортирует
Вместо этого записи в реестре.
Обратите внимание, что - объединить is небезопасный для использования на живых виртуальных машинах, что приведет к созданию диска
коррупция. Однако экспорт (без этого флага) всегда безопасен.
- кодирование UTF-16LE | ASCII
При объединении (только) вам может потребоваться указать кодировку для строк, которые будут использоваться в
файл улья. Это подробно объясняется в разделе «КОДИРОВАНИЕ СТРОК» в
Win :: Hivex ::Regedit(3).
По умолчанию используется UTF-16LE, который должен работать с последними версиями Windows.
--unsafe-printable-strings
При экспорте (только) предположите, что строки имеют формат UTF-16LE, и вместо этого распечатайте их как строки
шестнадцатеричных последовательностей. Удалите последнюю нулевую кодовую точку из строк, если они есть.
Это небезопасно и не сохраняет точность строк в исходном реестре.
по разным причинам:
· Предполагается, что исходная кодировка - UTF-16LE. Строки ASCII и строки в других
кодировки будут повреждены этим преобразованием.
· Предполагает, что все, что имеет тип 1 или 2, на самом деле является строкой и что
все остальное не является строкой, но поле типа в реальных реестрах не является
надежный.
· Теряет информацию о том, следовала ли нулевая кодовая точка за строкой в
Реестр или нет.
Все это происходит потому, что в самом реестре нет информации о том, как строки
закодированы (см. "КОДИРОВАНИЕ СТРОК" в Win :: Hivex ::Regedit(3 г.)).
Вы должны использовать эту опцию только для быстрого взлома и отладки реестра.
содержание и никогда используйте его, если вывод будет передан в другую программу или
хранится в другом реестре.
ПОДДЕРЖКА СИСТЕМЫ
В настоящее время программа поддерживает гостей, производных от Windows NT, начиная с Windows XP и заканчивая
как минимум до Windows 8.
Поддерживаются следующие ключи реестра:
"HKEY_LOCAL_MACHINE \ SAM"
"HKEY_LOCAL_MACHINE \ SECURITY"
"HKEY_LOCAL_MACHINE \ SOFTWARE"
"HKEY_LOCAL_MACHINE \ SYSTEM"
"HKEY_USERS \ .DEFAULT"
"HKEY_USERS \SID "
в котором SID - это SID пользователя Windows (например, «S-1-5-18»).
"HKEY_USERS \имя пользователя"
в котором username - это локальное имя пользователя (это расширение libguestfs).
Вы можете использовать «HKLM» как сокращение для «HKEY_LOCAL_MACHINE» и «HKU» для «HKEY_USERS».
Буквальные ключи «HKEY_USERS \ $ SID» и «HKEY_CURRENT_USER» не поддерживаются (нет
"текущий пользователь").
WINDOWS 8
«Быстрый запуск» Windows 8 может помешать virt-win-reg редактировать реестр.
См. "ВЫКЛЮЧЕНИЕ WINDOWS И БЫСТРЫЙ ЗАПУСК WINDOWS 8" в гость(3).
КОДИРОВАНИЕ
"virt-win-reg" ожидает, что файлы regedit уже были перекодированы в локальном
кодирование. Обычно на хостах Linux это означает UTF-8 с окончаниями строк в стиле Unix. С
Файлы regedit Windows часто находятся в кодировке UTF-16LE с окончанием строк в стиле Windows, вам может потребоваться
перекодировать весь файл до или после обработки.
Чтобы перекодировать файл из формата Windows в Linux (перед его обработкой с помощью - объединить
option), вы бы сделали что-то вроде этого:
iconv -f utf-16le -t utf-8 <win.reg | dos2unix> linux.reg
Чтобы пойти в обратном направлении, после экспорта и перед отправкой файла в Windows
пользователь, сделайте что-нибудь вроде этого:
unix2dos linux.reg | iconv -f utf-8 -t utf-16le> win.reg
Для получения дополнительной информации о кодировании см. Win :: Hivex ::Regedit(3).
Если вы не уверены в текущей кодировке, используйте файл(1) команда. Последние версии
Windows regedit.exe создает файл UTF-16LE с окончанием строк в стиле Windows (CRLF), например
это:
$ файл software.reg
software.reg: текст Unicode UTF-16 с прямым порядком байтов, с очень длинными строками,
с терминаторами линии CRLF
Этот файл потребуется преобразовать, прежде чем вы сможете - объединить его.
CurrentControlSet и так далее
Ключи реестра, такие как CurrentControlSet, на самом деле не существуют в реестре Windows на
уровень файла куста, поэтому вы не можете их изменять.
CurrentControlSet обычно является псевдонимом для ControlSet001. В некоторых случаях это
может относиться к другому набору элементов управления. Чтобы узнать, посмотрите на
Клавиша «HKLM \ SYSTEM \ Select»:
# virt-win-reg WindowsGuest 'HKLM \ SYSTEM \ Select'
[HKEY_LOCAL_MACHINE \ SYSTEM \ Select]
«Текущий» = двойное слово: 00000001
«По умолчанию» = dword: 00000001
"Failed" = dword: 00000000
"LastKnownGood" = dword: 00000002
«Текущий» - это тот, который Windows выберет при загрузке.
Точно так же может потребоваться замена других ключей «Текущий ...» в пути.
УДАЛЕНИЕ РЕЕСТР КЛЮЧИ И ЦЕННОСТИ:
Чтобы удалить весь раздел реестра, используйте синтаксис:
[-HKEY_LOCAL_MACHINE \ Foo]
Чтобы удалить одно значение в ключе, используйте синтаксис:
[HKEY_LOCAL_MACHINE \ Foo]
«Значение» = -
WINDOWS СОВЕТЫ
Обратите внимание, что некоторые из этих советов изменяют образ гостевого диска. Гость обязательно быть выключенным,
иначе вы получите повреждение диска.
БЕГ A ПАРТИЯ SCRIPT КОГДА A USER ЖУРНАЛОВ IN
Подготовьте пакетный сценарий DOS, VBScript или исполняемый файл. Загрузите это с помощью рыба-гость(1). За
В этом примере сценарий называется "test.bat" и загружается в "C: \":
guestfish -i -d WindowsЗагрузка гостя test.bat /test.bat
Подготовьте файл regedit, содержащий изменение реестра:
cat> test.reg << 'EOF'
[HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce]
"Test" = "c: \\ test.bat"
EOF
В этом примере мы используем ключ «RunOnce», что означает, что сценарий будет выполняться точно.
один раз, когда первый пользователь входит в систему. Если вы хотите, чтобы он запускался каждый раз, когда пользователь входит в систему,
замените «RunOnce» на «Run».
Теперь обновите реестр:
virt-win-reg --merge WindowsGuest test.reg
УСТАНОВКА A СЕРВИС
В этом разделе предполагается, что вы знакомы со службами Windows и либо у вас есть программа.
который обрабатывает протокол управления службами Windows напрямую, или вы хотите запустить любую программу
используя служебную оболочку, такую как SrvAny или бесплатную RHSrvAny.
Сначала загрузите программу и, возможно, оболочку службы. В этом случае тест
программа называется test.exe, и мы используем оболочку RHSrvAny:
guestfish -i -d WindowsGuest <
загрузить rhsrvany.exe /rhsrvany.exe
загрузить test.exe /test.exe
EOF
Подготовьте файл regedit, содержащий изменения реестра. В этом примере первый
изменение реестра необходимо для самой службы или ее оболочки (если используется). В
второе изменение реестра необходимо только потому, что я использую служебную оболочку RHSrvAny.
cat> service.reg << 'EOF'
[HKLM \ SYSTEM \ ControlSet001 \ services \ RHSrvAny]
"Тип" = DWORD: 00000010
"Start" = DWORD: 00000002
"ErrorControl" = DWORD: 00000001
"ImagePath" = "c: \\ rhsrvany.exe"
"DisplayName" = "RHSrvAny"
"ObjectName" = "NetworkService"
[HKLM \ SYSTEM \ ControlSet001 \ services \ RHSrvAny \ Parameters]
"CommandLine" = "c: \\ test.exe"
"PWD" = "c: \\ Temp"
EOF
Примечание:
· Для использования «ControlSet001» см. Раздел выше на этой странице руководства. Вам может понадобиться
отрегулируйте это в соответствии с набором элементов управления, который используется гостем.
· «ObjectName» контролирует привилегии, которые будет иметь служба. Альтернативой является
"ObjectName" = "LocalSystem", которая будет самой привилегированной учетной записью.
· Значение магических чисел см. В этой статье базы знаний Microsoft:
http://support.microsoft.com/kb/103000.
Обновите реестр:
virt-win-reg --merge WindowsGuest service.reg
SHELL ЦИТАТА
Будьте осторожны при передаче в оболочку параметров, содержащих "\" (обратную косую черту). Обычно ты
придется использовать одинарные кавычки или двойные обратные косые черты (но не оба сразу), чтобы защитить их от
оболочка.
В именах путей и значений регистр не учитывается.
Используйте virt-win-reg онлайн с помощью сервисов onworks.net