Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


пятница, 23 мая 2014 г.

0xc000000e. The boot selection failed because a required device is inaccessible - Загрузка windows невозможна, недоступно устройство.

abstract: original article in english is here: http://techontip.wordpress.com/2011/10/19/windows-failed-to-start-error-0xc000000e-the-boot-selection-failed-because-a-required-device-is-inaccessible/

screenshots were extracted from original article. all rights reserved for their author Brajesh Panda

По сути, это перевод статьи отсюда на случай, если она исчезнет. Но прочесть ее сподвигла меня аналогичная ситуация.

Понадобилось мне уменьшить размер диска, выделенного виртуальной машине на ESXi. Увы и ах, но не получилось. Может и есть штатные средства, но я их не нашел, поэтому пошел более примитивным путём: создал виртуальный винчестер нужного размера и скопировал на него разделы с большого диска.
Установил на нужном разделе флаг bootable, отключил большой диск от виртуалки, на его место подключил маленький и отловил именно такую ошибку. Пришлось думать, как же ее вылечить.
Решение нашлось в вышеупомянутой статье.

1. вот как может выглядеть BCD (boot-чего-то там данные) на исправной машине:


2. загрузитесь с установочного диска винды в режиме восстановления компьютера и запустите командную строку. В ней выполните bcdedit.exe. Вот как могут выглядеть лёгкие курильщика данные поврежденной машины:


3. как видно из скриншота выше, по части загрузки нам ничего хорошего не светит...

Для восстановления загрузочной информации запускаем “STARTREP.EXE” из каталога X:\sources\recovery:



Эта программа поправит, если сможет, найденные ошибки в загрузочном разделе, и будет вам щастте. Мне, во всяком случае, помогло.

Автор оригинального текста упоминает еще некую "многообещающую" команду“bootrec.exe”. http://support.microsoft.com/kb/927392
Но лично я ее не проверял.

 

вторник, 20 мая 2014 г.

WC в windows

А вот хрен вы угадали! Речь не о сортире, а о куда более полезной для управления компьютером штуке - word count. В линуксе это стандартная утилита, а в некоторых оболочках даже встроенная команда. Командная же строка windows в этом плане беднее с самого рождения.
Впрочем, Microsoft поняла, что тупо проигрывает никсам именно в плане администрирования: GUI хорош, но только для интерактивной работы. Для обработки автоматизированной, под которую заточено абсолютное большинство CLI-утилит никсов, GUI не подходит никак. И гора родила мышь Microsoft разработала powershell.
Было приятно увидеть в ней знакомые команды: man, ls... И пофиг, что это просто алиасы для стандартных help и dir.

Ладно, лирику закончим. Теперь о реальном.
Есть у меня ADDS. В ней создано некоторое количество групп пользователей. Задача: подсчитать их количество.

В линуксе я бы сделал просто:

getent group|grep нужное|wc -l

Но вот ни в cmd, ни в ps такой команды нет. Это расстроило не только меня, и нашелся коммандлет Measure-Object, умеющий считать символы, слова и строки.

Команда немного изменилась:

dsquery group -name нужное|Measure-Object -line

результатом я доволен. Чего и вам желаю.

вторник, 6 мая 2014 г.

Broadcom 43xxx bluetooth (105b:e065)


Купил для супруги бюджетный ноут Lenovo b590.
Обычная средненькая по нынешним меркам машина. Поставляется с минимально установленной FreeDOS - только чтобы загрузить и убедиться, что оно грузится.
Накатил на нее Ubuntu Trusty (14.04)/64. Выяснилось две проблемы:

1. не работает wi-fi
2. не работает bluetooth

Первое решилось довольно быстро установкой проприетарного драйвера из штатного пакета bcmwl-kernel-source. Если подключать этот драйвер с liveCD, он подключается нормально. При установке на бук - тоже установился нормально. Но моя загрузочная флешка, сделанная нестандартно - как полноценный диск ради эксперимента, отказалась его ставить. Пришлось явно устанавливать этот пакет.
Ну, заработало и заработало, замечательно.

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

$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 105b:e065 
Bus 001 Device 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 003: ID 5986:0295 Acer, Inc
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Нету устройства от Broadcom, однако? Погуглил по единственному анонимному устройству 105b:e065 и угадал - это оно.

Выяснилось, что firmware для этих модулей не включают в ядро, ибо проприетарщина и нет желания возиться с лицензиями. Можно выдернуть некий .hex файл из виндовых драйверов, скачанных отсюда http://support.lenovo.com/ru_RU/downloads/detail.page?DocID=DS032618. По опыту знаю, что файлы прошивок обычно крошечные, и качать 200+ мегабайт барахла ради одного файлика нет смысла. К тому же, его надо конвертировать из какого-то формата в какой-то другой, для чего нужно поставить конвертер и т.д. Не интересно.

Не буду долго и нудно расписывать, что и как искал, в конце концов поиски привели меня на эту страницу https://bugzilla.kernel.org/show_bug.cgi?id=73411. Там попалась прелестная ссылка:

This device needs firmware. I saved my firmware in hex and in hcd:
http://ubuntuone.com/6Ot6DpIq2NxVaNNX41kjxX
http://ubuntuone.com/4Hwjcc5kfG2ggIPumdCSFI


По ней и скачал уже готовый .hcd файл, который сначала скопировал в /lib/firmware/brcom и переустановил модуль btusb:

#modprobe -r btusb
#modprobe btusb


Однако, не помогло. Причем - справедливо, поскольку везде упоминалось, что класть надо просто в /lib/firmware. Переложил, снова переустановил модуль. Заработало.

update 20140614: не знаю, поможет это или нет, но файл в /lib/firmware я переименовал по рекомендации оттуда же, и забыл об этом:

$ ls -la `locate hcd|grep firmware`
-rw-r--r-- 1 root root 28681 мая    6 15:13 /lib/firmware/brcm/BCM43142A0_001.001.011.0161.0172.hcd
-rw-r--r-- 1 root root 28681 мая    6 15:17 /lib/firmware/fw-105b_e065.hcd


Поскольку U1 скоро закрывается, то я скопировал эти файлы в свой гуглодиск, вдруг пригодятся...

https://drive.google.com/folderview?id=0B96njm8lw0yTNVBUNmJueXNMdGc&usp=sharing

Там берем файл BCM43142A0_001.001.011.0161.0172.hcd и будет нам щастте.