MCP

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

Миграция системы с одного компьютера на другой

Хочу рассказать про способ смигрировать операционную систему с одного компьютера на другой, с сохранением всех данных. По факту, это копирование данных с одного винчестера на другой, с использованием стандартных средств. Способ подходит для Windows 7 (возможно для Vista).
Его плюсы:

  • При некоторых условиях — малое время простоя компьютера
  • Возможно использовать на опечатанных компьютерах, когда просто нельзя заменить винчестер
  • Возможность восстановить данные на определённую дату (при соответствующих условиях)
  • Возможно мигрировать по сети
Ну и соответственно минусы:
  • Нужен отдельный внешний винчестер или отдельный компьютер, доступный по сети с достаточным объёмом свободного места на его винчестере
  • Новый компьютер должен иметь по крайней мере такой же винчестер как и на старом (или больше
Ну а теперь, собственно, сам метод. В двух словах он заключается в том, что необходимо проделать стандартную архивацию данных Windows на внешний винчестер или внешнюю сетевую папку и восстановление этих данных на новом компьютере. Дальше буду рассматривать самый интересный вариант, с бэкапом по сети (удобно для организаций, где все компьютеры подключены в сеть, и достаточно физического места).
  1. Запускаем архивацию Windows
  2. Выбираем какую-нибудь сетевую папку, куда будем складывать образ (создаём её на подходящем компьютере)
  3. Убираем все галочки с файлов, но ставим галочку "сделать образ восстановления системы"
  4. Свободного места во внешней папке должно быть по количеству даннных на диске (будет создан виртуальный диск (vhd-файл) с виртуальным размером всего винчестра, а физическим — по размеру реальных данных)
  5. Запускаем, ждём пока завершится, в это время продолжаем работать
  6. Берём свежий компьютер, загружаемся с диска или чудо-флешки
  7. Вместо установки выбираем восстановление системы
  8. Говорим, что хотим восстановиться с образа, и после тщетных попыток его найти, говорим что он расположен в сети. После этого система поднимет сетевой интерфейс (сама, в установочном режиме, она и такое умеет!)
  9. Если настройки сети не раздаются через DHCP то нажимаем Shift+F10, и в консоли набираем:
    netsh interface ip set address name="Local Area Connection" static 192.168.0.100 255.255.255.0 192.168.0.1 1
    Естественно, нужно заменить IP-шники на правильные для вашей сети (тут по порядку — IP-компьютера, маска сети, IP-шлюза). Для русской версии название будет "Подключение по локальной сети", уточнить можно через команду ipconfig
  10. Указываем сетевое размещение папки (если не получится по имени компьютера, можно использовать его IP)
  11. Указываем, если требуется логин с паролем
  12. Выбираем нужный образ (если их несколько) и восстанавливаем
  13. Ждём, перегружаемся и получаем копию старого компьютера на новом
  14. Выключаем старый компьютер, меняем его на новый, продолжаем работать (естественно, все изменения, которые произошли после архивации — потеряются, если они нужны, примите меры для их отдельной архивации)
Вот и всё. Можно работать на старом компьютере, пока не подготовится новый, при желании, компьютер даже можно загрузить с vhd-файла или просто подключить его как отдельный диск, если нужен просто полный архив, но не нужно восстановление). Можно настроить на всех компьютерах архивацию по графику и в случае физической смерти одного из компьютера, восстановить всё на другом.
Какие могт быть проблемы, и что с этим можно сделать:
  • Система отказывается восстанавливаться — убеждаемся что заархивирован винчестер целиком, новый винчестер имеет размер по крайней мере такой же как и старый
  • После восстановления есть неиспользуемое место на винчестере — заходим в управление компьютером и растягиваем разделы на всё доступное место (в упрощённом виде семёрка это позволяет). Можем просто создать дополнительный раздел или воспользоваться специализированными программами для тасования разделов.
  • После восстановления, компьютер улетает в BSOD. Самый тяжёлый случай, обычно связан с тем, что драйвера на старом и новом комьютере сильно отличаются (обычно проблема с контроллером жёстких дисков). Тут можно потанцевать с бубном, попробовать на исходном компьютере удалить все драйвера (оставить стандартные), переключить режим SATA-контроллера в IDE-режим, и только после этого сделать образ.
  • При попытке сделать архив по сети, он падает с ошибкой. — попробуйте сделать архивацию на другой компьютер, попробуйте заменить драйвера сетевой карты, ибо архивируется большой объём данных и могут выплыть проблемы в драйверах (бывали случаи, когда сетевые карты достаточно именитых производителей из-за ошибок в драйверах сжирали всю оперативную память и рушили сервер по недостатку ресурсов).
В общем, на этом всё, способ достаточно прост, я постарался расписать его подробно, уточнить проблемы и подводные камни. Надеюсь, что описание окажется полезным, и вы попробуете стандартные средства для архивации и соответствующей миграции, вместо использования сторонних.

четверг, 2 декабря 2010 г.

Подключение внешнего GPS-приемника к телефону на Android

У меня обновление телефонного парка, теперь есть замечательный Motorola DEFY, когда-нибудь расскажу про него подробнее, а также впечатлениях от Android по сравнению с Windows Mobile. Пока есть ощущение большой сыроватости андроида в плане фич. Если WM телефон выглядит как маленький компьютер со своими достоинствами и недостатками, но это именно продвинутый телефон с возможностью установки программ и отсутствием некоторых вещей.

Об одной такой вещи я и хочу сейчас рассказать, возможно это кому-нибудь поможет, ибо по данной проблеме слишком много ответов вида "нафиг?" и "нельзя" и конкретное решение теряется между ними.

Задача состоит в том, чтобы подключить внешний USB GPS-приёмник к телефону на Android. Для начала небольшая отбивка зачем это нужно (для тех, кто читает мой этот пост не ради конкретной цели подключить ).

  • Внешний приемник имеет свою батарею и не расходует телефонную
  • Внешний может быть постоянно включен, соответственно быть постоянно в курсе спутников (в телефоне норовит всё время отключиться, чтобы поэкономить батарейку)
  • Внешний приёмник имеет лучшее качество приёма, а чтобы было ещё лучше — его можно расположить в зоне лучшего сигнала (может быть полезно в машине). 
Итак, приёмник есть, стандартными средствами его не подключить, ибо в отличие от всех других телефонов и компьютеров, при подключении его к устройству не создаётся виртульный bluetooth COM-порт, к которому могут подключаться программы. Все программы используют системный API работы с GPS, который знать не хочет про внешние устройства.
Но есть оригинальное решение, основанное на том, что для каких-то целей в телефоне есть фунционал Location Mocks, это такие, виртуальные заглушки для определения местоположения. Это полезно для разработчиков, но зачем это конечному пользователю? Впрочем, поскольку данный функционал есть, один хороший человек написал программу, которая использует внешний приемник и изображает из себя заглушку для определения местоположения. Причём программа абсолютно бесплатная и выпущена под GPL.

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

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

Как сделать загрузочную флешку с Windows, и что ещё с этим можно делать

Тут иногда меня спрашивают, как сделать установить Windows 7 с флешки, сейчас я расскажу про это, и заодно расскажу, что ещё можно с этой флешкой делать.

Для начала с простого, как сделать загрузочную флешку. Делается всё элементарно: Идём на сайт Microsoft, находим ссылку на скачивание Windows 7 USB/DVD Download Tool, устанавливаем, следуем инструкции, получаем загрузочную флешку, теперь мы можем устанавливать свежую операционную систему, причём, опыты показывают это всё идёт весьма шустро, и гораздо тише, нежели с DVD-диска.

Теперь маленькие хитрости.

1. Если тупо заменить все файлы на флешке файлами другой системы, то мы получим загрузочную флешку другой ОС, ибо загрузчик не трогается, а у всего семёрочного семейства операционных систем Microsoft один загрузчик (возможно что и с Vista всё будет хорошо). Т.е. если мы изначально поставили русскую Windows 7 32 бита, а потом хотим поставить английский Hyper-V Server 2008 R2 x64 — то нам просто нужно заменить файлы.

2. Если где-нибудь на флешку положить Far (подходящей разрядности, разумеется), то можно загрузиться с флешки, нажать Shift+F10 в появившемся окне установки, в командной строке найти нужный диск с флешкой и запустить Far. В нём можно вполне сносно работать, ведь мы находимся в Windows PE, который нам достался беслатно вместе с установочным диском. Иногда в таком режиме можно решить некоторые проблемы с загрузкой системы.

3. Вместо Far'а можно использовать программы для восстановления файлов/разделов, некоторые из них вполне неплохо себя чувствуют в данном окружении. Т.е. если что-то случилось с системой, её можно подлечить таким образом, не прибегая к тяжёлой артиллерии специализированных систем (иногда просто их нет под рукой).

4. Консоль восстановления в сетапе Windows 7, достаточно неплохо лечит проблемы с повреждённой загрузкой. Рекомендую её попробовать, если после установки другой системы, или игр со всякими менеджарами разделов система перестала загружаться.

5. Shift+F10 во время установки системы и Far, могут весьма неплохо скрасить ожидание установки системы. Можно понаблюдать за её поведением.

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

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

понедельник, 27 сентября 2010 г.

Впечатления от Application Developer Days 2010

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

Собственно, заканчиваю про себя, лучше про впечатления. Конференция была просто отличной, в ней, конечно, не было московского лоска, зато было всё остальное: отличный интернет (спасибо D-Link, отличные пирожки, вода, и что особенно редко на конференциях — свободные розетки. Можно было зарядить ноутбук, одновременно поглощая информацию. При этом даже на крупных конференциях с интернетом обычно лажа, еда по расписанию, вода счастливчикам.

Теперь по докладам, 2/3 которых, я естественно пропустил  (было 3 параллельных трека, и естественно я не мог физически присутствовать на всех, будем ждать видео). Началось всё с доклада Стаса Фомина про Открытые Системы Разработки. Стас впечатлил технической организацией доклада — подставка под клавиатуру, mind map вместо power point, сам доклад при этом был не очень для меня полезен (может потому что у нас уже внедрено большинство из того, о чём говорил Стас?), но рассказано всё было очень хорошо и интересно, поэтому следующий доклад про Сравнения Хранилищ Данных, показался не очень хорош. Первая часть доклада была сплошным глоссарием, хоть полезным, но как-то не очень интересным, поэтому вместо второй части я отправился слушать Андрея Бибичева про Дополненную Реальность. Доклад был больше обзорным, зато было много деталей и полезной информации. Например, я узнал нафига в телефоне гироскоп, акселерометр, цифровой компас, чем они отличаются и почему для полного счастья должно быть всё. Ну, и то, что в обработке изображений в большинстве случаев используются тупые дубовые алгоритмы, зато они работают, и не жрут много ресурсов.

После обеда послушал Дмитрия Завалишина про разработку на Java. Ничего особого, но рассказано интересно. Доклад про GPGPU для .NET показался весьма странным: проект очень интересный, но весь доклад не покидала мысль: зачем всё это нужно?

Ну а после этого начался знатный срач Java vs C#, который быстро превратился в обсуждение vendor lock и является ли корпорацией зла Oracle. То, что если нужна разработка под Windows, то C# рулит, в самом начале заявил Дмитрий Завалишин и никто в общем-то и не спорил.  Доклад про статический анализ кода, позволил мне порадоваться за компанию Custis, что у них есть клёвый инструмент для этого. А в конце был замечательный доклад Алёны про ИИ в играх. Опять же, вроде бы ничего секретного не было рассказано, но было очень интересно и познавательно. Я даже записал видео доклада (спасибо хорошему интернету).

Потом было отличное afterparty (вечеринка в IT-стиле), и следующий день докладов, который начался с доклада Миши про разработку под Windows Phone 7. У Миши был секретный прототип, который он никому не давал пощупать, зато много показывал. Что я могу сказать, технически, разработка под WP7 очень крута. А что будет с политикой Microsoft в этом плане, узнаем позднее. Доклад про Apache Hadoop был омрачён фразой в конце, что он падает и теряет данные. Ну и нафига такое счастье? Подождём, когда будет более стабильный.

После этого Миша рассказал про круть и мощь IE9, ничего особо полезного, но зато очень красивая демонстрация, и интерсно рассказано.

У Ильи Кантора доклад был из двух частей, про защиту от DDOS с помощью специфичного прокси (с тем же успехом можно было сделать вводную про HiLoad) и кросс-доменную авторизацию, которая из себя представляет хороший рабочий хак, который реально нужен только для SEO. Ну и в конце был интересный секретный доклад, о котором я ничего не расскажу, он же секретный

Алёна рассказала про  C++0x, который движется непонятно в какую сторону и получается весьма странно и ужасно. Зато есть фишки из C#, выглядящиие абсолютно чужеродно для С++ Что-то люди как-то не туда движутся.

Никита Фролов порвал весь зал рассказом про то, как надо разрабатывать под iPhone. Несмотря на то, что половину времени зал валялся, общая концепция была рассказана очень понятно. Всё это чем-то похоже на обкуренный Delphi с кучей дизайнерских фишек.

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

В конце была раздача слонов и подарков, а в субботу мастер-классы Ильи Кантора. В общем, всё было круто и замечательно. Первая конференция определённо удалась.

среда, 22 сентября 2010 г.

Pattern & Practices Summit. Результаты

Как я понял, никогда не стоит проводить конференции по понедельникам.
Просто и конференция давно кончилась и все отчитались, а я только вспомнил, что надо бы и мне пару слов вставить.
А всё из-за чего? В час ночи выехал, в час ночи следующих суток вернулся домой. Находясь там было интересно слушать жалобы людей, которым ехать до москвы 1-2 часа, типо это много, и они хотят спать. Ха!
Невыспавшийся рванул на работу, поднимать целину разгребать дела, делать клиентов счастливыми, потом одно, другое, в общем пишу уже когда никому это не нужно. Ну и ладно, для истории пойдёт (по блогу, кстати хорошо потом события восстанавливаются).

 Конференция была небольшой, всего в два трека, и специфика больше для архитекторов, чем для разработчиков. Во всяком случае, больше концептуальных вещей, чем каких-то специфичных. После основных докладов всё разделилось на две разные части: Enterprise Library и Azure (т.е. во всех проявлениях про Enterprise Library/Patterns и в них же про Azure). Побывал и там и там, для себя сделал следующие выводы: Enterprise Library выглядит на словах очень хорошо, но все кто с ней сталкивался отзываются о ней без энтузиазма: "ну есть и есть, а логгинг они и не починили". Соответственно, как я говорил, что это для архитекторов, архитекторы пусть и решают, стоит ли использовать данную библиотеку в проектах или же использовать другие, более удобные и понятные вещи.
Про Azure (это облачная платформа от Microsoft), наоборот было много интересного, правда всё это красиво нивелировалось тем, что никто не мог сказать, когда же это всё будет запущено в России. Зато понял про модель оплаты всего этого дела, и как всё это устроено. Вкратце, там поверх своей хитрой и специфичной технологии ещё натянуты обычные сервисы и NTFS. Их можно использовать, но это будет неоптимально с точки зрения потребления ресурсов, поэтому лучше писать сразу под Azure, но тут возникает вопрос: "А если нужно писать специально под эту технологию, то почему нужно писать именно под эту технологию, а не какую-нибудь другую?". Т.е. Microsoft предоставляет гибкость, масштабирование и всё такое, но вместо обычного SQL у нас SQL Azure который несмотря на название, всё-таки является NoSQL, сервисы и службы тоже весьма специфичные. Так что же мешает вместо всего этого просто взять и делать обычное масштабирование системы с использованием других технологий (пусть тех же облаков, но которые тупо IaaS)? Этого я не знаю. Пока в голову лезут уж очень специфические проекты с непостоянной сезонной нагрузкой.

Я намеренно не рассказываю конкретно про доклады, докладчиков и прочие моменты, потому что и без меня это уже очень хорошо сделано, единственное, что меня смутило, так это банальное отсутствие интернета на мероприятии. После двух докладов выяснилось, что он в принципе есть, и ещё два доклада и случайная встреча потребовались чтобы выяснить, что DHCP-сервер не существует, и нужно вбить очень оригинальные настройки руками. Многие, кстати, плюнули на весь этот квест, но я таки решил пройти его до конца. Так что в этом плане всё было весьма странно. Вторая странность была в парных докладах, т.е. между двумя соседними докладами не было паузы, и получалась весьма некрасивая ситуация, когда новый докладчик уже начал рассказывать, а люди в зале активно перемещаются (кто-то убегает на другой доклад, кто-то наоборот).

А вообще, организовано всё было неплохо, докладчики были интересными, подарки отличными, и если бы я был архитектором, я бы наверно оценил всё ещё лучше 
 
А уже завтра начинается Application Developer Days 2010, где я в пятницу буду выступать с докладом, всё обещает быть очень интересным, а я, надеюсь что оставлю отзыв не через 2 недели после мероприятия.

пятница, 17 сентября 2010 г.

Проблемы с VMBus при миграции с Virtual PC на Hyper-V

Тут перетаскивали локальную виртуалку на Висте с Virtual PC на Hyper-V. При этом вылезла проблема с тем, что виртуалка на новом месте не видела сети (только Legacy) безумно тормозила (100% загрузки процессора и почти всё время в ядре), в списке устройств лежал неработающий VMBus (это виртуальное устройство от Hyper-V).

Естественно, это всё было после удаления гостевых служб от Virtual PC и установки соответствующих от Hyper-V, танцы с бубном не помогали.

Решение нагуглилось, но с трудом, поэтому и решил поделиться им. Для этого нужно всего-лишь:
  1. Запустить msconfig
  2. Выбрать вкладку boot (загрузка), Advanced Options (Дополнительные опции)
  3. Поставить галочку "Detect HAL" (Обнаружение HAL)
  4. Перегрузиться

После этого всё должно замечательно работать. Как я понимаю проблема в том, что идёт обновление ядра, а система не понимает этого и использует бракованное ядро, занимаясь усиленным самокопанием.

Ещё возможно потребуется переустановить гостевые дополнения (кстати, для них рекомендуется включить Windows Update Services, иначе говорят что бывают проблемы), но это уже совсем другая история.

воскресенье, 12 сентября 2010 г.

Patterns & Practices Summit Russia

Уже буквально завтра буду на Patterns & Practices Summit Russia. На мой взгляд весьма странное мероприятие, стоит дороже Платформы, при этом докладов гораздо меньше.
Буду хоть надеяться, что уровень докладов будет высоким и я узнаю много нового и полезного. Правда осталось понять, как между собой связаны Pattern & Practices и облака.

А этот пост тут, так чтобы отметиться, а то давно не писал ничего, всё об ADD 2010 думаю