MCP

вторник, 9 февраля 2010 г.

Установка Microsoft Security Essentials на Windows Server

Microsoft выпустила весьма неплохой бесплатный продукт Security Essentials, особо его расписывать не буду, просто скажу, что на сервера он не ставится Для серверов нужно покупать ForeFront Security, весьма мощный и навороченный продукт, который как-то даже неуместно сравнивать с Security Essentials. Т.е. для серверов или полная защита или от чужих производителей.

Но, как говорится, если очень хочется, то можно.  Собственно не я это придумал, я это увидел в блоге у Michal Strehovsky, у него всё замечательно расписано тут и тут, и мне собственно добавить уже особо нечего, но я всё же немножко распишу по-русски, для тех у кого плохо с английским или лень выяснять детали, но хочется просто получить детали на будущее):
  1. Инсталлятор распаковывает себя в отдельную папку вида X:\f1d41766d22514f68a08, надо будет найти эти файлы (поиском или через какой-нить ProcessExplorer) пока инсталлятор радостно сообщает о несовместимой версии, и скопировать для опытов (а то файлы удалятся).
  2. Необходимо поставить WinDbg (тут прямая ссылка на x64 бита, это весит 15Mb)
  3. Завести setup.exe в дебаггере и активно подменять тип Windows на несерверный. Как пишет  Michal Strehovsky, это на x64 можно сделать так:

    bp ntdll!RtlGetNtProductType "as /x ReturnValue rcx; gu; ed ReturnValue 1; g"

    или повесить такой Breakpoint bp ntdll!RtlGetNtProductType+0x1A (на x64 как я понял 0x21) и при каждом попадании в отладчик менять значение регистра eax с 3 на 1 (если там другое значение, значит точка останова установлена неверно).
  4. После того как всё начнёт ставится, breakpoint'ы можно убирать и наслаждаться работой свежеустановленного Security Essentials 

Да, и в принципе таким образом можно попытаться установить другие программы, использующие дурацкие проверки на версию системы (напимер, Nokia PC Suite), правда если установщик в MSI, то проще взять ORCA и там поправить LaunchCondition.

понедельник, 1 февраля 2010 г.

Upgrade Windows

Небольшая заметка на случай, если вы хотите проапгрейдить Windows. Связана она с тем, что можно получить серьёзные проблемы от этого, которые заключаются в невозможности апгрейда и поломки старой системы.

Чтобы этого не произошло, перед апгрейдом вытащите все лишние винчестеры из компьютера. В противном случае, система может запутаться и начать апгрейдить систему на другом диске (даже если там ничего нет). Когда после длительного шуршания у неё это не получится, она выплакается вам в жилетку и пойдёт восстанавливать старую. И тут может быть сюрприз, восстанавливать старую она будет тоже на другом диске.

Как результат, вы получите полностью поломанную старую систему, и не получите новую.

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

PS: Да, и при апгрейде летят некоторые настройки приложений и ломаются драйвера, так что для критичных приложений следует озаботиться бекапом.

Hyper-V для дома и тестов

Решил потестировать Hyper-V локально, чтобы сделать выводы о целесообразности его установки на сервер. Выглядит всё неплохо, но столкнулся с большим количеством "странностей", так что пришлось отказаться. Ещё раз уточняю, я тестировал это локально, для могучих серверов большинство проблем, думаю будут не актуальны. Итак, по пунктам:

  • Hyper-V сильно интегрируется в систему, т.е. постоянно занимается своими внутренними делами и по крайней мере замедляет запуск/завершение работы.
  • При наличии Hyper-V систему никаким образом невозможно загнать в сон (Suspend, Stand By, Hibernate). Идея понятна, заснёшь, а проснёшься уже с другим конфигом и все виртуалки улетят к чертям собачьим. Подобная ситуация была и с маршрутизацией, но её можно было вначале остановить, а потом уснуть. Тут же ничего не помогает. Только удаление.
  • При запуске гостевой системы постоянно ругается всякими чудесными словами, то не может получить доступ к файлу, то у него доступно всего 0Mb оперативки, то ещё какие-то чудеса. Лечится постоянными попытками запустить, в конце концов ему всё удаётся.
  • Виртуальная машина не очень предназначена для работы в консоли, т.е. графика очень ограничена и не шустра. Возможно мне просто показалось.
  • Не очень любит наличие других программ для работы с виртуалками в системе. Ломает их, хотя при установке не нервничает по их поводу.
Ещё раз повторюсь, для специально выделенного сервера это всё некритично, но если соберётесь тестировать локально, имейте ввиду возможное наличие проблем и ухудшение работы остальной системы.

суббота, 30 января 2010 г.

Windows 7 Language Pack/MUI

Решил тут поставить русский MUI для системы, посмотреть что изменится (есть подозрения, что будет получше с поиском по-русски, возможно в мелочах тоже по-приятнее). И обнаружил, что в принципе, скачать это можно и бесплатно, но ISO занимает 2 с лишним гигабайта и включает в себя все языки. Может быть, я всего-лишь плохо искал, но когда качаешь ISO, не очень понятно, что получишь в конце. В конце же я получил много ненужного.

Реально при этом русский Language Pack занимает всего 70Mb (!!!). Так что я решил, что в принципе, не повредит выложить его отдельно, чтобы не выкачивать всё. Заодно решил и английский добавить для тех, у кого русская система.

Выложить решил на SkyDrive, ибо там всё хорошо со скоростью и доступностью, правда максимальный размер 50Mb, так что пришлось бить на две части.

Итак, по-пунктам:
  1. Данный MUI или Language Pack (я запутался как их называть) подходит для любой Windows 7 и любого Windows Server 2008 R2 (и это меня радует)
  2. Перед скачиванием найдите и прочитайте лицензию, убедитесь что вы ничего не нарушаете и что вам никто ничего не должен
  3.  После скачивания распакуйте всё в какую-нибудь папку, чтобы в конце получилось что-то типа langPackFolder/ru-ru/lp.cab (или en-us, смотря что вам надо)
  4. Далее заходите в Панель Управления, Региональные настройки, выбираете Добавить/удалить языки и там выбираете вашу папку langPack 
Ну и самое важное, ссылки:
Русский:  часть 1, часть 2
English: part 1, part 2

Update: Меня тут поправили, что для Windows 7 Ultimate — language pack можно скачать через апдейты, а для других, как я понимаю и не получится. Так что мой пост больше относится к серверным версиям и случаю, когда с интернетом всё плохо, так что 70Mb проще скачать заранее из другого места.

вторник, 26 января 2010 г.

Градусник. Последние изменения

С момента последнего поста про градусник прошло достаточно много времени, но напишу я только о недавних, заметных изменениях. Конечно, если вы не заходили на сайт с того момента, то вы увидите как всё сильно изменилось, но в последние пару месяцев стало ещё лучше .

Итак, кроме исправления старых багов (на сайте и в программе) и добавления новых, изменения внутренней архитектуры на более удобную и функциональную, из заметных изменений можно выделить следующие (без какого либо порядка: алфавитного, временного или по-важности):

1. Изменение домена на .com
Теперь сайт переехал на новый домен yartemp.com, со старого .co.cc, так что теперь всё гораздо солиднее, ну и удобнее мне для управления.  Будем надеяться, что этот домен Яндекс всё-таки осилит и сможет заиндексировать. Всё-таки у него алгоритмы на порядок хуже, если сравнивать с гуглом и бингом. Гугл, так вообще копается в сайте, как у меня дома

2. Появился более или менее нормальный F.A.Q.
Теперь хотя бы пользователи смогут прочитать о том как всё работает и какие проблемы бывают.

3. Теперь на графике показываются день и ночь
Т.е. восход и закат, если говорить научно. Выглядит это примерно так:

Более тёмным фоном показывается ночь, светлым, соответственно день. Будет интересно понаблюдать весной и летом, как меняется температура с восходом солнца.

4. Картинки с графиками теперь сжимаются более эффективно
В код добавлен алгоритм, который сжимает картинки раза в 2 относительно стандартных средств .NET, это всё делается в фоне и незаметно для пользователей, в результате страница обновляется ещё быстрее, и трафика потребляется ещё меньше.

Также ещё есть небольшие изменения и новые фичи, о них рассказано в F.A.Q., в программе yarTemp исправлены некоторые ошибки, теперь она чуть лучше работает на x64 системах, но о наиболее интересных улучшениях я решил написать тут, чтобы знали, что работа идёт, сайт совершенствуется. За последний месяц количество посетителей увеличилось где-то в 3 раза, и это без активной рекламы с моей стороны, что не может не радовать. Всё-таки приятно, когда люди получают свежую и актуальную информацию. Посмотрим, что будет дальше.

понедельник, 18 января 2010 г.

DefaultHttpHandler + PNG + FireFox

Я писал про использование DefaultHttpHandler для отдачи файлов, принципиально ничего не изменилось, я по-прежнему считаю это неплохим способом, но недавно была обнаружена небольшая проблема с этим способом.

Проблема заключается в том, что в .NET 3.5 SP1 (специально уточняю версию, ибо подобный код имеет тенденцию изменяться) данный метод не знает тип MIME для png-файлов и вместо image/png отдаёт application/octet-stream.

Что самое интересное, в большинстве случаев тут ничего страшного нет. Практически все браузеры определят содержимое по контексту и содержимому файла. Но есть одно досадное исключение , и исключение это зовут FireFox. Если попробовать скачать файл в лоб, то он не посмотрит на то, что это картинка и предложит сохранить его.

Так что не забудьте добавить дополнительный код для png-файлов, выставляющий правильный Content-Type. Хотя у меня такое предположение, что в 4-ом фреймворке всё-таки научится данный метод отдавать правильный тип для png-файлов, а также, возможно и других, чуть менее распространённых.

пятница, 8 января 2010 г.

Бекап системы через виртуалку

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

При этом, терять все настройки, накопленные за такое время очень не хотелось: хоть и много хлама в старой системе, всё-таки есть полезные и настроенные программы, о которых вспоминаешь в самый ответственный момент, и устанавливать их заново, иногда просто не бывает времени. Надо взять и использовать.

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

Собственно, о том, как всё это сделать, я и расскажу, возможно это вам пригодится. Заодно, это будет полезно на работе, если вы хотите переделать сервер в виртуальную машину, чтобы потом его было легко перемещать между физическими компьютерами и избавиться от проблем с железом (умер физический сервер, поднимаем виртуалку на другом, а этот не торопясь восстанавливаем без давления коллег достающих фразой "ничего не работает"). Кстати, на работе для виртуалок рекомендую использовать Microsoft Hyper-V Server, он бесплатный, т.е. не надо дополнительно платить за лицензию на хостовую систему. Т.е. всё просто замечательно в этом плане.

Для дома же, думаю проще использовать VirtualPC или VirtualBOX. Они тоже бесплатные, и неплохо работают. VirtualBOX более навороченный и поддерживает виртуальные жёсткие диски больше 127Gb. В тоже время, в Windows 7, VirtualPC уже встроен (для работы XP Mode), так что он как бы "роднее", поэтому выбор за вами. В любом случае, попробовать можно оба варианта и остановиться на более подходящем.

Итак, приступим.

0. Оцениваем размер свободного места для бекапа. Лучше, чтобы было места в количестве размера диска C: Если же нет такого объёма, но вам хочется это сделать, то прочитайте до конца и подумайте, сколько вам нужно освободить.

1. Берём программу Disk2vhd от Марка Руссиновича и делаем образ диска C: (остальные диски можно будет потом подключить как сетевые, но если у вас достаточно места, и хотите надёжный бекап, можно сделать образ всего).

Делать образ можно хоть на тот же самый диск, но естественно, для производительности нужно на другой. Программа сразу говорит необходимый объём места с учётом только занятого места. Т.е. если у вас диск C имеет объём 500Gb, но при этом занято только 20Gb, то только 20Gb и потребуется. 

2. После изготовления образа, создаём в VirtualPC или VirtualBOX виртуальную машину, подцепляем к ней диск (если диск больше чем 127Gb, то используйте VirtualPC аккуратно, он плохо поддерживает большие диски), и смотрим на клон вашей системы только в отдельном окне. Зрелище потрясающее.

2а. Если система не поднялась с первого раза, то могут быть следующие проблемы:

  • Проблема с файловой системой, которая почему-то некорректно создалась. Придётся лечить всякими утилитами для восстановления разделов (например TestDisk). Для удобства, можете поднять отдельную систему на виртуалке, подцепить к ней этот проблемный образ и его чинить.
  • Проблемы с загрузкой, когда система не может загрузиться. Тут неплохо помогает загрузочный диск (вам достаточно иметь ISO с ним) от Vista или Windows 7. Запускаете Startup Repair и он может подлечить некоторые проблемы
  • Проблема с загрузкой виртуальной системы (синий экран, перезагрузки). Тут уже всё хуже, пробуем грузиться в Safe Mode, или делаем жёсткий Repair с установочного диска. (когда создаёте образ, можете поиграться еще с галочкой Fix HAL).

И помните, что на данном этапе, если вы что-то совсем разломаете, вы всегда можете начать всё сначала, и попробовать снова.

3. Когда виртуальная система заработала, можно удалить явно ненужные программы и файлы (для экономии места), сделать дефрагментацию, взять программу SDelete, запустить её с ключом -z (забить нулями свободное место). После этого на физической системе взять VirtualPC и сжать образ для экономии места. Но, можете этого и не делать, или сделать потом, когда будет новая система.

Вот и всё. Теперь у вас есть виртуалка со старой системой, которая будет работать на любом компьютере. Т.е. мы отвязались от железа и можем приступать к установке новой. После установки, поднимаем виртуалку и не торопясь переносим настройки из старой системы, в новую.

Несколько слов, про установку Windows 7 или Vista:

  • Чтобы полностью избавиться от старой системы без форматирования жёсткого диска при загрузке в Setup нажимаем Shift-F10, открывается консоль, там переименовываем или удаляем следующие папки: Documents And Settings (в XP), Users (в Vista), Program Files, Windows. Всё, у нас больше нет старой системы. Т.е. установка не будет лавировать между ними записывая новые данные, а просто установится чистой и блестящей. При этом, если что-то пойдёт не так, переименовываем папки обратно и возвращаем всё как было.
  • Если Windows откажется ставится на данный жёсткий диск, про причине его "неправильности", с помощью сторонних утилит выделяем вначале диска 100Mb, для личных нужд Windows. Эти 100Mb при загрузке система автоматически возьмёт себе и создаст там маленький образ для восстановления системы
  • Если не хочется ставить систему с диска, можно поставить с флешки. Для этого достаточно взять бесплатную программу Windows 7 USB/DVD Tool и она сама всё сделает (как вариант, можно попробовать UNetbootin — она больше для автоматического создания Linux-образов, но думаю и для этого подойдет)
  • После установки, можно для большинства программ перенести настройки с помощью копирования старых из Documents And Settings в новые Users (только следите за путями, если они абсолютные)

Ну вот и всё. У вас есть новая система и рабочая старая. При этом, если с новой что-то случится, вы можете с чистой совестью всё установить заново, при этом у вас всегда будет готовая и настроенная старая. Свежую же систему апгрейдить ещё проще. У Microsoft'а появились неплохие утилиты для бекапа настроек и миграции, так что можно всё сделать ещё проще. С другой стороны, при оборачивании старой системы в виртуалку, мы всегда оставляем пути отхода, на случай, если что-то пойдёт не так и мы всё сломаем. Так что, это хоть и немного дольше, и требует много места, зато обеспечивает сохранность данных.