После установки Windows 7 ошибка: The computer restarted unexpectedly or encountered an unexpected error. Windows installation cannot proceed

После неудачной установки эксперементального Linux совместно с Windows 7, а также неудачной разметки разделов, перестали загружаться вообще все системы. Попытка восстановления Windows не дала результат. После этого начал чистую установку Windows 7. Из установщика удалил все старые разделы, разметил по новому и начал установку. Однако на завершающем этапе получил ошибку: «The computer restarted unexpectedly or encountered an unexpected error. Windows installation cannot proceed». Ошибка циклическая — то есть после перезагрузки, которую советовал сделать установщик, она появлялась вновь.

Решение, кстати, нашлось на официальном форуме Microsoft. Опишу вкратце что нужно сделать:

  1. Когда появилась указанная выше ошибка, нажимаем Shift+F10 — открывается командная строка — уже легче!
  2. Пишем команду regedit — запускается редактор реестра.
  3. Открываем ветку HKEY LOCAL MACHINE/SYSTEM/SETUP/STATUS/ChildCompletion. Справа выбираем параметр setup.exe и меняем его значение с 1 на 3. Жмем ОК.
  4. Реестр закрываем и теперь можно нажимать ОК в окне ошибки. Начинается перезагрузка.

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

Обмен файлами между Andriod и компьютером по Wi-Fi

Есть немало способов обмена файлами между Android-смартфоном (планшетом) и компьютером (ноутбуком). Конечно, данные можно передать классически, через кабель — однако это не всегда удобно и возможно. В последнее время дома практически всегда присутствует Wi-Fi, так почему бы не передавать файлы по нему. Как вариант можно использовать на Android полноценный Samba-сервер, и использовать «расшаренные» общие папки — и это определенно имеет свои преимущества. Однако есть способ проще, при котором настраивать вообще ничего не придется. Главное, чтобы сопрягаемые устройства были в одной сети Wi-Fi.

Для этого на Android устанавливаем бесплатную программку WiFi File Transfer. Запускаем и нажимаем кнопку «Старт». После чего видим на экране недвусмысленную инструкцию, как получить доступ к файлам на устройстве.

WiFi file transferWiFi file transfer

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

WiFi file transfer

Можно сказать, что метод кросс-платформенный, так как войти в Android-устройство можно как с компьютера c ОС Windows или Linux, так и с другого устройства Android или скажем Apple.

Недорогой HTPC или двухслотовая видеокарта в компактном Mini-ITX корпусе

Сегодня расскажу про то, как я собирал оптимальный  по соотношению цена-качество (на мой взгляд) HTPC, который позволил бы также поиграть в некоторые игры. Недостаточно производительные Atom и даже Zacate были отвергнуты. Некоторое время как вариант рассматривался Celeron 1027U, который позволил бы создать практически бесшумный компьютер. В этом случае, правда, пришлось бы довольствоваться более старыми играми. Однако практически за те же деньги можно собрать более мощное решение с возможностью установки дискретной видеокарты. И я остановился на бюджетном Celeron g1620 на ядре Ivi Bridge с сокетом 1155. Конечно, пришлось пожертвовать сверхнизким энергопотреблением, а шум в паре с процессорным кулером Zalman CNPS80F стал сопоставим со среднестатистическим ноутбуком — что в вполне комфортно. В конце концов это не сервер для работы в режиме 24/7.

В качестве корпуса был выбран недорогой, но добротный Winsys WI-05. Недостатком этого корпуса является слишком шумный вентилятор на блоке питания (как на 200, так и на 300-ваттном). В моем случае мощность БП была 300 Вт. Проблема решилась доработкой базовой системы охлаждения, а именно заменой вентилятора на 80 мм Zalman ZM-F1 FDB. Для этого, из-за более толстого вентилятора, пришлось на пол-сантиметра увеличить толщину корпуса БП, просверлив 4 отверстия для винтов с соответствующим смещением. Кабель кулера был выведен из корпуса БП для подключения к разъему на материнской плате. Старый кулер БП был отрезан, а провода заизолированы. Также стандартная решетка вентилятора была отрезана и заменена на решетку Evercool.

БП HTPC

Небольшой корпус определил выбор материнской платы с форм-фактором mini-ITX. Ей стала ASRock H61MV-ITX, имеющая слот расширения PCI-Express 16x для дискретной видеокарты. Однако, если установить все компоненты так как задумано производителем корпуса, для ее установки места практически нет.

HTPC

Пришлось прибегнуть к нестандартной компоновке, в которой было пожертвовано возможностью установки оптического привода. Салазки для жестких дисков и привода были удалены, а на их место перенесен блок питания. Жесткий диск наоборот был размещен на старом месте БП. В итоге появилось место даже для двухслотовой, хотя конечно низкопрофильной, видеокарты. В моем случае установлена не сама мощная, но по соотношению цена/мощность/тепловыделение весьма оптимальная плата Asus GeForce GT630-SL-1GD3-L 1024MB 64bit GDDR3. В этой видеокарте используется обновленное ядро GK208 Kepler с техпроцессом 28 нм, которое несмотря на узкую 64-битную шину памяти, обладает большей производительностью, но более низким энергопотреблением и тепловыделением по сравнению со старым GT630 на базе ядра GF108 40 нм. Привожу фотографию того что получилось.

HTPC

Опишу еще ряд маленьких доработок, использованных при сборке:

  1. У БП есть скоба со стороны пучка проводов, с помощью которой он дополнительно крепится к днищу корпуса. Вобщем я её переставил на противоположный край, на сторону подключения кабеля питания. И таким образом закрепил БП к тому же самому креплению на дне корпуса. С другой стороны БП ничем не закреплен — но это и не нужно — он будет хорошо прижат верхней крышкой корпуса.
  2. Видеокарта и оперативная память отгорожена от массивного радиатора процессора небольшими кусочками бумаги, чтобы не повредить дорожки и элементы на печатных платах.
  3. Понижающий резистор, идущий в комплекте с кулером Zalman ZM-F1 FDB, установлен в цепь питания процессорного кулера. В итоге скорость вращения кулера БП, подключенного к разъему FAN1 на материнской плате, составляет около 2150 об/мин. А кулера CPU примерно 1850 об/мин. Если резистор снять с процессорного и подключить наоборот к кулеру БП, то будет чуть шумнее. Можно добавить 2-ой резистор, но я не стал этим заниматься, так как шум уже не мешает.
  4. Кабель питания стал несъемным, что не очень критично. Но для того чтобы горячий воздух, прогоняемый через БП, не возвращался в корпус, а выходил наружу через вентиляционные отверстия, был установлен простой картонный экран — его видно на фото.
  5. В качестве накопителя я использовал завалявшийся внешний USB жесткий диск WD 250Gb. После отсоединения от него SATA-USB контроллера он превратился в то, чем и являлся на самом деле — в ноутбучный 2,5-дюймовый внутренний SATA-накопитель WD2500BEVT. Впрочем корпус внешнего диска я оставил на месте, а к корпусу компьютера прикрепил его с помощью пластиковых хомутов (часто использующихся для стяжки проводов).
  6. У выбранной видеокарты по умолчанию пассивное охлаждение, и компьютер даже под длительной нагрузкой 3D-играми не вис. Но температура в пике мне не понравилась — насколько помню 82 градуса. Поэтому все же добавил, для надежности, имевшийся в наличии маленький кулер, который вообще не добавил шума. Закрепил его двухсторонним скотчем к пластиковому корпусу HDD. Теперь предельная температура GPU ниже примерно на 8-12 градусов. Так как под 3-ий вентилятор разъем на плате отсутствует, подключил его на 12 вольт через разъем питания флоппи-дисковода, имеющийся в пучке БП. Для этого из обычной канцелярской скрепки сделал два штырька и соединил ими соответствующие отверстия разъема питания и кулера. Штырьки лучше согнуть — так их легче подсоединить. Затем данную конструкцию заизолировал изолентой.
  7. Asus к видеокарте GT630-SL-1GD3-L к сожалению не кладет низкопрофильных планок крепления. Чтобы не терять гарантию, взял обычную планку от старой видеокарты (отверстие под DVI-D совпало) и с помощью кусачек и пассатижей превратил её в низкопрофильную. Кстати, мне также нужен был VGA-выход, присоединяемый с помощью шлейфа, потому закрепил его к освободившемуся от БП отверстию под крепежный винт. Держится достаточно жестко. Фото приведено ниже.

HTPC

Сейчас на этом HTPC установлено 3 системы — Windows 7, XBMCbuntu и сборка Ubuntu для Windows-программ и игр. Система комфортно тянет такие игры как GRID 2 (на высоких настройках около 50 fps) и Euro Track Simulator 2 (на разрешении FullHD на средних где-то 25-30 fps).

HTPC

Стоимость данного компьютера составила чуть больше 8000 руб. вместе с беспроводным адаптером TP-LINK TL-WN721N и беспроводным комплектом из компактной клавиатуры и мыши KREOLZ WMKM1. Правда жесткий диск здесь не учтен, так как он уже имелся в наличии.

P.S. Кстати, при указанной компоновке, в данный корпус влезут даже некоторые уменьшенные материнские платы формата micro-ATX. Например ASRock H61M-VG3, согласно официальному сайту, имеет размеры 19,1 х 17 см. То есть по глубине как mini-ITX, а по ширине всего на 2,1 см. больше — это пожалуй одна из самых маленьких плат из старшего форм-фактора. Также могут поместится и более крупные варианты. Жесткий диск, по видимому, пришлось бы разместить вертикально. А для видеокарты, возможно, пришлось бы подтачивать корпус, чтобы он не мешал разъемам. Зато такая плата будет чуть функциональнее (там есть слот PCI-Express 1x), просторнее (видеокарта отодвинута дальше от процессора) и при этом еще и чуть дешевле, хотя и не намного.

Переход на PHP 5.4 и Fatal error: Call-time pass-by-reference has been removed in

Ошибка подобного вида может появится на сайте, если хостинг сам обновит PHP до версии 5.4. Особенно часто такие обновления «без спросу» делают бесплатные хостинги. На платных чаще всего самому пользователю предоставляется выбор версии PHP.

Как бы то ни было — вы сами обновили версию или это сделали без вашего ведома — некоторый несовместимый PHP-код нуждается в доработке.

Что требует PHP 5.4

Теперь указание знака амперсанда (&) перед переменной при вызове функции вызывает фатальную ошибку и, как следствие, остановку выполнения дальнейшего кода. В PHP 5.3 это вызывало лишь предупреждение, а сейчас стало все строже. Как вы наверное помните, амперсанд указывает на передачу аргумента по ссылке. Такая передача, естественно, возможна и в новой версии PHP, но указывать знак амперсанда теперь нужно только в определении функции. То есть, например, здесь все оставляем как было:

1
2
3
function userFunc(&$arg) {
  return $arg++;
}

А вот здесь амперсанд убираем:

1
userFunc(&$arg);

Должно быть только так:

1
userfunc($arg);

Очевидно, что это не все ограничения новой версии. Это лишь то, с чем я лично столкнулся.

Осторожнее с предупреждениями PHP!

Можно сделать вывод что предупреждения, которые выдает интерпретатор PHP, все же надо учитывать. Кто знает, что вызовет фатальную ошибку в следующей версии? Например в PHP 5.4 статический вызов функции класса, если в определении данной функции не указано слово static, вызывает предупреждение. Пример:

1
2
3
4
5
6
class userClass {
  public function userFunc(&$arg) {
    return $arg++;
  }
}
userClass::userFunc($arg);

Лучше доработать такой код сейчас, не дожидаясь фатальных ошибок в будущем. Добавляем ключевое слово static:

1
2
3
4
5
6
class userClass {
  public static function userFunc(&$arg) {
    return $arg++;
  }
}
userClass::userFunc($arg);

Так гораздо надежнее.

Сборка Ubuntu для Windows-игр и программ

Для Windows, что и говорить, существует масса программ и игр у которых нет альтернатив под другие операционные системы. Многих именно это останавливает от перехода на свободную ОС Linux. Еще одна причина — более высокая сложность освоения данного семейства систем. Что говорить, если уж с Windows у многих возникают трудности, где казалось бы все сделано «по умолчанию», то в Linux и подавно.

Вторая причина, правда, становится все менее заметной. Время идет и многочисленные дистрибутивы Linux, усилиями разработчиков, становятся все более дружественными к неосведомленным пользователям. Правда и сейчас нужно знать некоторые нюансы, чтобы не застопорится в самом начале. Но проще стало однозначно.

Много усилий было приложено чтобы победить и первую упомянутую проблему — пропасть между Linux и популярным программным обеспечением, ориентированным как сложилось, на Windows.

Всвязи с этим, хочется поделится своим опытом установки весьма дружественной на сегодняшний день альтернативной Linux-системы.

Чуть предыстории. Сначала попробовал очень известную в сети сборку [x64]Ubuntu Mint Mate rel21.6 для дома и для игр. Но по каким-то причинам она отказалась запускаться на моем компьютере (конфигурация, для интереса, внизу поста). Тем не менее, так как автор данной сборки предоставляет и отдельный, тщательно настроенный, префикс Wine (то есть специальной программы, транслирующей вызовы Windows-системы в вызовы Linux), решено было его и использовать. Ссылка на этот префикс приведена на соответствующем шаге ниже.

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

Шаг 1: Скачиваем Ubuntu

Я выбрал 32-битную версию Ubuntu 13.10 desktop (с 64-битной все тоже самое).

Шаг 2: Создаем загрузочную флешку

Сначала скачиваем Unetbootin. Эта программа предназначена для создания загрузочной флешки Ubuntu (а так же других ОС) из под Windows или Linux — приложение кроссплатформенное. Форматируем флешку с параметрами по умолчанию. Запускаем Unetbootin и выбрав скачанный образ начинаем процесс создания установочной флешки.

ubuntu-for-windows-games-p1

Шаг 3: Загрузка компьютера с flash-накопителя, установка Ubuntu

Вставляем в компьютер флешку (или не вынимаем). После включения сразу идем в BIOS (удерживая Del или F1, или что там у вас) и выбираем загрузку с данного накопителя. Установку подробно описывать не буду — она не намного сложнее установки Windows. Разве что, если вы хотите сохранить Windows, вручную придется распределить разделы под систему Ubuntu и файл подкачки (swap).

Но есть важный момент, касающийся будущего Wine — имя пользователя при установке системы должно быть: user. Почему именно так? Дело в том, что префикс Wine настроен под пользователя с таким именем. И если не хочется потом править реестр и тому подобное, то лучше сделать так.

Шаг 4: Устанавливаем драйвера видеокарты

Когда я устанавливал систему у меня было только интегрированное видео Intel HD Graphics 2500 (встроено в процессор на ядре Ivi Bridge). И установка драйверов не понадобилась — все работало из коробки. Однако потом я добавил видеокарту Nvidia Geforce GT 630. И для установки мне потребовалось выполнить несколько команд в терминале. Для запуска терминала (один из способов) нажимаем кнопку Win на клавиатуре и вводим в поиске: терминал. Запускаем. Интернет должен быть включен в данный момент. Копируем строки по очереди прямо отсюда. После каждой вставки нажимаем Enter. Для вставки в терминал сочетание клавиш Ctrl+v не работает, поэтому вставляем с помощью Ctrl+Shift+v.

sudo apt-get update
sudo apt-get install nvidia-319-updates nvidia-settings-319-updates
sudo nvidia-xconfig

Перезагружаемся и проверяем драйвер видеокарты с помощью следующей команды в терминале:

lspci -k | grep VGA -A2

Если все нормально, то увидим в ответе на команду упоминание своей видеокарты.

Шаг 5: Установка Wine

Выполнение приведенных ниже команд приведет к установке Wine 1.6, который полностью совместим с настроенным префиксом. Хотя уже есть версии Wine 1.7.x — их я пока не пробовал. Итак вводим в терминале следующее:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine

Шаг 6: Замена префикса Wine на специально адаптированный для запуска многих программ и игр

Перед этим шагом желательно сделать резервную копию префикса Wine. Для этого идем в домашнюю папку в диспетчере файлов и нажимаем Ctrl+h, что позволяет увидеть скрытые папки. Теперь копируем папку .wine в какое нибудь место. Все — резервная копия сделана.

Теперь скачиваем подготовленный префикс. Ссылка на него есть и с вышеупомянутой статьи о дистрибутиве [x64]Ubuntu Mint Mate rel21.6 для дома и для игр. Распаковываем скачанный архив куда нибудь. Теперь опять идем в домашнюю папку, затем в .wine/drive_c/. Удаляем там все, кроме папки users. Затем из распакованного архива с префиксом из вложенной папки rel21.5-wine-BASE копируем все (с заменой файлов) в каталог .wine в домашней папке. После замены файлов префикса нужно в терминале выполнить команду:

wineboot --update

После этого можно пробовать устанавливать любые Windows-программы и игры. Для этого кликаем правой кнопкой мыши на установочном exe-файле и выбираем «запустить с помощью wine». После установки запускаем программы как в Windows. Очень многое заработает сразу, без каких либо дополнительных действий. Например, я сходу установил демо версию Euro Track Simulator 2 для Windows — и все заработало так же как в родной ОС (потеряв в fps совсем немного — все таки это OpenGL-игра). С Direct3D-играми потери производительности могут быть больше, из-за трансляции инструкций в OpenGL.

К слову, то что работает без проблем можно найти на сайте www.winehq.org. Просто введите в поиске интересующее вас приложение. Если в описании к нему написано Platinum или Gold — значит должно работать нормально.

Конфигурация компьютера, на который производилась установка системы

  • Корпус Winsis WI-05  (БП Winsis WMT-300TFX)
  • Материнская плата ASRock H61MV-ITX
  • Процессор INTEL Celeron G1620 Ivy Bridge
  • Вентилятор ZALMAN CNPS80F
  • Вентилятор для корпуса ZALMAN ZM-F1 FDB (использовался с некоторой переделкой, для замены слишком шумного вентилятора в БП)
  • Модуль памяти Patriot DDR3 2GB PC3-10600 1333MHz
  • Беспроводной USB адаптер TP-LINK TL-WN721N
  • Видеокарта PCI-E Asus GeForce GT630-SL-1GD3-L 1024MB 64bit GDDR3 (при стандартной компоновке эта видеокарта в указанный корпус не влезет — о том, как удалось ее установить, читайте в посте про HTPC)