Alter.Org.UA
 << Back Home EN en   Donate Donate

NT-family multi-boot

Допустим, на машине установлен десяток различных Windows. Под каждой нужно чтобы работал ряд программ. У меня это VisualStudio, Far, Архиваторы и MSDN. Иногда еще PhotoShop и MS Office. И ставить все это 10 раз подряд не хочется. Общий подход - при установке проследить, чтобы одним и тем же разделам в разных OS были присвоены одинаковые буквы. Дальше - копирование соответствующих ключей Registry, иногда библиотек и переменных окружения.

Гарантией сохранности Drive Letters является запуск setup.exe каждой следующей винды из-под предыдущей. В этом случае буквы наследуются. При установке с загрузочного CD или из DOS распределение букв может получиться каким угодно. И начиная с w2k исправить это средствами самой винды, через Disk Administrator нереально. Приходится использовать всякие Partition Magic'и.

Notes:

  • недавно узнал, что буквы замечательно слетают при пользовании досовской утилитой fdisk с ключем /MBR (восстановление загрузчика). Узнал также, что последующие попытки реанимации путем запуска setup.exe из NT4 (где буквы были уже возвращены на место) с опцией Repair желаемого результата не дают.

  • Последовательность установки. У линейки NT есть собственный boot-manager (imho неплохой) и OS-loader. Старшие версии умеют загружать младших. А наоборот - нет. Тем не менее при установке они не смотрят на версию загрузчика и перетирают его. Поэтому сначала ставится NT4, потом w2k, XP и на закуску .NET. Либо перед установкой сохранять ntldr и ntdetect.com из корневого каталога загрузочного диска, а после вернуть их на место. Возможно, нужно еще сохранять boot-сектор, по крайней мере видел, как после установки XP или w2k (точно не помню) перестала подниматься .NET, и ntldr c ntdetect.com'ом ей не помогли.

  • В ntldr'е от .NET убрана опция /MAXMEM. Что делать, если нужны одновременно .NET и /MAXMEM для младших ОС пока не придумал.

  • NTFS-разделы нужно создавать из последних ОС (например из XP). В это случае NTFS будет новой версии. Если их создать из NT4, более старшие ОС поставят отметку, что раздел был модифицирован более поздней версией драйвера NTFS. PartitionMagic отказывается работать с такими разделами. Кстати, вопреки заверениям MicroSoft, NTFS разделы, созданные в w2k или XP замечательно читаются и пишутся в NT4+sp4. Исключение составляют файлы с хитрыми inherited permissions. На практике я такое встречал аж 2 раза, и еще про пару случаев мне рассказывали.

Теперь о переносе софта. По идее, можно было бы воспользоваться утилитой от Axxie, но она к сожалению еще не написана. Поэтому пока приходится делать вручную. Либо использовать облегченный вариант утилиты - rconf

Список готовых HOWTO

HOWTO move Environment Variables across multi-boot Systems

  1. Загрузить базовую OS сохранить следующие ключи Registry:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
    HKEY_CURENT_USER\Environment
    
  2. Удалить из .REG-файла следующие системно- и платформо-зависимые значения:
    ComSpec
    Cpu
    NUMBER_OF_PROCESSORS
    OS
    Os2LibPath
    PROCESSOR_ARCHITECTURE
    PROCESSOR_IDENTIFIER
    PROCESSOR_LEVEL
    PROCESSOR_REVISION
    
  3. Загрузить целевую OS и импортировать отредактированый .REG-файла.

HOWTO move VC 6.0 installation across multi-boot Systems

  1. Загрузить OS с установленым VisualStudio и сохранить следующие ключи Registry:
    HKEY_CLASSES_ROOT\.dsp
    HKEY_CLASSES_ROOT\dspfile
    HKEY_CLASSES_ROOT\.dsw
    HKEY_CLASSES_ROOT\dswfile
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevStudio
    HKEY_CURRENT_USER\Software\Microsoft\VisualStudio
    HKEY_CURRENT_USER\Software\Microsoft\DevStudio
    
  2. Загрузить OS без VisualStudio и загрузить ранее сохраненные ключи Registry.
  3. Скопировать следующие файлы из System32 старой винды в System32 новой. Это Debug-библиотеки, использующиеся при отладке приложений.
    MFC42D.DLLMFC42D.MAPMFC42D.PDB
    MFC42UD.DLLMFC42UD.MAPMFC42UD.PDB
    MFCD42D.DLLMFCD42D.MAPMFCD42D.PDB
    MFCD42UD.DLLMFCD42UD.MAPMFCD42UD.PDB
    MFCN42D.DLLMFCN42D.MAPMFCN42D.PDB
    MFCN42UD.DLLMFCN42UD.MAPMFCN42UD.PDB
    MFCO42D.DLLMFCO42D.MAPMFCO42D.PDB
    MFCO42UD.DLLMFCO42UD.MAPMFCO42UD.PDB
    MSVCRTD.DLLMSVCRTD.MAP 
Для того, чтобы перенести только настройки IDE VisualStudio можно сохранить приведенные ниже ключи или скачать скриптамы сохранения/восствновления настроек (как в Far'е, MsDevSettings.rar or MsDevRestore.bat/MsDevSave.bat
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Build System
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\DataView
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Debug
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Dialog Editor
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Format
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Graphics Editor
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Keyboard
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Layout
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Source Control
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\Text Editor
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio
2003.12.27

HOWTO move MSDN installation across multi-boot Systems

MSDN'ы (по крайней мере те, которые в CHM формате) просто так не переносятся. Их надо устанавливать в каждой OS отдельно. Но при установке в один и тот же каталог возникает следующая проблема: .COL-файлы, созданные в одной OS получаются непригодными для другой. Пока обхожу это дело так:

  1. Скопировать содержимое всех инсталяционных CD MSDN'а в один каталог. Напримар в C:\Program Files\MSDN\CD. Диски содержат дублирующикся файлы, поэтому предупреждения о перезаписи существующих файлов можно смело игнорировать.
  2. Загрузить нужную OS и запустить setup.exe от MSDN'а (из каталога C:\Program Files\MSDN\CD).
  3. Выбрать единственный компонент для установки - Full Text Search Database (он идет самым первым в списке). Все остальное будет браться из C:\Program Files\MSDN\CD.
  4. Выбрать каталог для установки. Например C:\Program Files\MSDN.
  5. После установки сохранить копии файлов MSDN120.CHS и MSDN120.COL. Например для NT4+sp4 это будет MSDN120.CHS.NT4SP4 и MSDN120.COL.NT4SP4. В startup добавить .BAT-файл, который будет восстанавливать MSDN120.CHS и MSDN120.COL из копий. Иногда еще требуется копирование MSDN120.CHQ и MSDN120.CHW. Детально об это пока рассказать не могу, т.к. дома мне хватает первых 2х файлов, а на работе - все 4. Файлы эти довольно жирные, поэтому имеет смысл не копировать их, а создавать Hard Link (только на NTFS разделах) утилитой xln.
  6. Шаги 2 - 5 повторить для всех OS. Установка MSDN поверх существующих файлов происходит существенно быстрее. Поэтому установка для 2-й, 3-й и т.д. OS будет совсем быстрой.

HOWTO move MS Office 95/97 installation across multi-boot Systems

Эти замечательные пакеты почти ничего не требуют. Достаточно скопировать .LNK файлы из одной винды в другую. И то, исключительно ради красоты и удобства. При первом же запуске приложения из MS Office в Registry окажется почти все, что нужно для счастья. Однако могут возникнуть следующие неприятные вещи:

  • при запуске Office требует шрифт Tahoma или Verdana. Ну что же, их можно просто скопировать из подкаталога Fonts. Забыл сказать, этот каталог обычно имеет атрибут System, и чтобы увидеть его в окне Windows Explorer'а (при установке через Control Panel -> Fonts) придется включить соответствующую опцию.
  • не работает Equation Editior. Тоже легко поправимо. Нужно найти каталог "Program Files\Common Files\Microsoft Shared\Equation" на системном разделе и запустить из него EQNEDT32.EXE. Запустится Equation Editior и сам все пропишет в Registry. После этого Word его сразу начнет видеть. Для любителей тонких извращений можно импортировать EQNEDT32.REG из того же каталога. Результат аналогичный.
  • не работает Basic. Как лечить - не знаю. Возможно поставить Visual Basic.

HOWTO move Photoshop 7.0 installation across multi-boot Systems
and HOWTO install it under NT4

Для переноса Photoshop 7.0 достаточно скопировать следующие ключи Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe Gamma
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\CommonFiles
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe SVG Viewer

А теперь про NT4. Просто так Photoshop 7.0 ставиться отказывается. По всей видимости исключительно из-за нового MSI инсталятора. Зато на ура переносится из w2k описаным выше методом.

Comments from Axxie: все-таки глючит. Глюки с интерфейсом - в какой-то момент вдруг отказываются реагировать на мышу некоторые контролы. Очень похоже на memory leak. BTW, он вроде бы мог поставиться в SP6a (not sure).

2004.03.13

HOWTO move Mozilla 1.7b installation across multi-boot Systems
and HOWTO install it under NT4

Для переноса Mozilla 1.7b достаточно скопировать следующие ключи Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
HKEY_LOCAL_MACHINE\SOFTWARE\mozilla.org

Про NT4. То же, что и с PhotoShop'ом. Installer полагается на какие-то новомодные фишки. Ставим в w2k или старше, потом копируем Registry keys.

2004.04.03

HOWTO move Putty installation across multi-boot Systems

Для переноса Putty нужно скопировать такой ключ Registry:

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
2004.04.20

HOWTO move Borland C++Builder 6 installation across multi-boot Systems

Для переноса Borland C++Builder 6 нужно скопировать следующие ключи Registry:

HKEY_CLASSES_ROOT\CLSID\{092E9CBF-071B-11D3-83A5-00C04F6BC736}
HKEY_CLASSES_ROOT\CLSID\{092E9CC1-071B-11D3-83A5-00C04F6BC736}
HKEY_LOCAL_MACHINE\SOFTWARE\Borland
HKEY_CURRENT_USER\SOFTWARE\Borland
and from 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
    "<SysDrive>:\\Program Files\\Common Files\\Borland Shared\\Debugger\\bordbk61.dll"=dword:00000001

скопировать библиотеки:

%SystemRoot%\System32\*.bpl
%SystemRoot%\System32\qtintf.dll

и наконец добавить в PATH путь к каталогу Bin из инсталяции Borland C++Builder 6.

2004.05.12

HOWTO move Far installation across multi-boot Systems

Для переноса Far'а нужно скопировать:

HKEY_CURRENT_USER\Software\Far
HKEY_LOCAL_MACHINE\Software\Far

HOWTO move TheBat! installation across multi-boot Systems

Для переноса TheBat! нужно скопировать:

HKEY_CURRENT_USER\Software\RIT\The Bat!
2004.08.02
<< Back Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2024