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
-
Загрузить базовую OS сохранить следующие ключи Registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
HKEY_CURENT_USER\Environment
-
Удалить из .REG-файла следующие системно- и платформо-зависимые значения:
ComSpec
Cpu
NUMBER_OF_PROCESSORS
OS
Os2LibPath
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
-
Загрузить целевую OS и импортировать отредактированый .REG-файла.
HOWTO move VC 6.0 installation across multi-boot Systems
-
Загрузить 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
-
Загрузить OS без VisualStudio и загрузить ранее сохраненные ключи Registry.
-
Скопировать следующие файлы из System32 старой винды в System32 новой. Это Debug-библиотеки,
использующиеся при отладке приложений.
| MFC42D.DLL | MFC42D.MAP | MFC42D.PDB |
| MFC42UD.DLL | MFC42UD.MAP | MFC42UD.PDB |
| MFCD42D.DLL | MFCD42D.MAP | MFCD42D.PDB |
| MFCD42UD.DLL | MFCD42UD.MAP | MFCD42UD.PDB |
| MFCN42D.DLL | MFCN42D.MAP | MFCN42D.PDB |
| MFCN42UD.DLL | MFCN42UD.MAP | MFCN42UD.PDB |
| MFCO42D.DLL | MFCO42D.MAP | MFCO42D.PDB |
| MFCO42UD.DLL | MFCO42UD.MAP | MFCO42UD.PDB |
| MSVCRTD.DLL | MSVCRTD.MAP | |
Для того, чтобы перенести только настройки IDE VisualStudio можно сохранить приведенные
ниже ключи или скачать скриптамы сохранения/восствновления настроек (как в Far'е,
MsDevSettings.rar или
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 получаются
непригодными для другой. Пока обхожу это дело так:
-
Скопировать содержимое всех инсталяционных CD MSDN'а в один каталог. Напримар
в C:\Program Files\MSDN\CD. Диски содержат дублирующикся файлы, поэтому предупреждения
о перезаписи существующих файлов можно смело игнорировать.
-
Загрузить нужную OS и запустить setup.exe от MSDN'а (из каталога
C:\Program Files\MSDN\CD).
-
Выбрать единственный компонент для установки - Full Text Search Database
(он идет самым первым в списке). Все остальное будет браться из
C:\Program Files\MSDN\CD.
-
Выбрать каталог для установки. Например C:\Program Files\MSDN.
-
После установки сохранить копии файлов 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.
-
Шаги 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
и из
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
|