Восстанавливаем SSD после BAD_CTX error
18/06/19 09:06
Восстанавливаем SSD после ошибки BAD_CTX
Тема восстановления SSD и другой flash памяти, как отказалось, не нова. Для SSD серии 320 в интернете существует много рекомендаций по восстановлению прошивки и обновлению. Но когда такая ситуация случается и летит система, то разбираться всегда сложно. Поэтому создаю эту памятку для быстрого восстановления в памяти особенностей возможного восстановления диска.
Сразу предупреждаю - представленный метод УНИЧТОЖАЕТ ВСЮ ИНФОРМАЦИЮ НА ДИСКЕ. Однако, тема создания резервных копий и сохранения информации.
Отдельная благодарность авторам следующих публикаций:
How to: Fix an unbootable Intel SSD suffering from the 8MB bug
Восстанавливаем запоротый SSD
Secure Erase SSDs
Суть проблемы: по разным причинам SSD disk, Flash накопитель или карта памяти становится размером 8 Мб. И попытки отформатировать, обнулить и т.п. стандартными методами системы безрезультатны.
С данными, как я уже говорил, я сразу попрощался. Так как, во-первых, у меня был настроен Fusion Drive, а, во-вторых, замечательная функция для экосистемы OS X, автоматическое резервное копирование, всегда спасает при потере информации.
В сети существует много рекомендаций по решению данной проблемы. Особенно рекомендуют провести безопасное стирание диска с помощью хорошо известной программы MHDD. Однако, MHDD программа под ОС DOS и даже создание загрузочного диска с MS DOS (PC DOS) не позволяет загрузить компьютер Mac. Можно вытащить диск из компьютера, для проведения всех операций на машине под управлением MS DOS, можно, но достаточно сложно и хлопотно (с учетом сложной конструкции компьютеров Mac).
Поэтому ищем другие пути решения проблемы. И как всегда более простое решение нашлось в "зоопарке" ОС Linux.
После использования множества Live CD (Live DVD), останавливаемся на Pappy Linux. Преимущества. Puppy Linux для решения нашей задачи:
- легковесный дистрибутив, который полноценно работает как с DVD, так и с USB;
- уже установлены базовые системные утилиты для работы с жестким диском (пакет hdparm);
- поддержка репозитория ubuntu и debian для установки некоторых нестандартных, но необходимых, утилит.
Процесс создания загрузочного Live DVD или Live USD не описываем, так как много стандартных рекомендаций есть в интернете.
Для восстановления диска необходимо установить еще пакет
pm-utils.
Пакет необходим для переведения компьютера в режим сна. Это в дальнейшем потребуется для разблокировки функций низкоуровневого стирания диска.
Процесс диагностики и стирания диска с ошибкой BAD_CTX.
Предположим, что восстановлению подлежит первый диск в системе, а именно, /dev/sda для предотвращения ошибки будем в дальнейшем использовать /dev/sdX.
Для утончения точного названия диска, можно выполнить команду:
sudo disk -l
Для проверки состояния диска запускаем:
sudo hdparm -I /dev/sda
Если в состоянии диска присутствует флаг "frozen" (а он скорее всего присутствует).
Сбрасываем данную блокировку с помощью утилиты
pm-suspend
Компьютер переходит в режим сна, а после выходы из режима сна - флаг "frozen" сбрасывается.
Продолжаем восстановление.
ЕЩЕ РАЗ ПРОВЕРЬТЕ НАЗВАНИЕ ДИСКА!!!
Продолжаем восстановление.
Последовательно выполняем команды:
sudo hdparm --user-master user --security-set-pass abc /dev/sdXsudo time hdparm --user-master user --security-erase abc /dev/sdXsudo time hdparm --user-master user --security-erase-enhanced abc /dev/sdXsudo hdparm --dco-restore /dev/sdXsudo hdparm --yes-i-know-what-i-am-doing /dev/sdXsudo hdparm -I /dev/sda
В результате выполнения последней команды можно убедиться, что количество секторов на диске увеличилось, а его объем превышает ошибочные 8 гб.
Проводим операцию создания таблицы разделов и форматирование диска.
Разбить на разделы и отформатировать можно и даже лучше под OSX, однако для проверки все же можно провести данную операцию в Puppy Linux.
PS:
К сожалению, после таких операций восстановления SSD диск долго не прожил. Всего 2 года. Однако, 2 года тоже значительный срок, за который можно накопить на новый SSD :)Ubuntu Server в сети MacOS (часть 10)
06/04/14 12:58
Ubuntu Server в сети MacOS (часть 10) - Установка VirtualBox на Ubuntu server или как установить Windows 8 на iPad.
Следуя логике («после части 1 всегда идет часть 10» ;), рассмотрим особенности установки, настройки VirtualBox под Ubuntu Server. Данная задача особенно актуальна для пользоватлей iOS, MacOS. Так как использование программ виртуализации под MacOS (VMWare Fusion, Parallels) достаточно дорогое удовольствие, а также они отхватывают значительную часть ресурсов самого MacOS. С другой стороны попробовать все преимущества Windows 8, 8.1) как операционную систему для планшетов при этом «не изменяя» iOS можно только в режиме сетевой виртуализации. Ну и конечно пользователей легальных программных продуктов порадует возможность использовать одну копию ПО (Win Pro, Office и т.п.) на VirtualBox машине с удаленным управлением (в том числе и через Интернет).
1. Виртуальные машины на основе VirtualBox и особенности их использования в Ubuntu Server.
Немного теории (как без нее)…2. Установка VirtualBox на Ubuntu Server 12.04.04.
2.1. Официальный сайт проекта в VirtualBox в интернете - https://www.virtualbox.org. На данной странице присутствуют два важных пунтка:
- ссылка на «phpVirtualBox AJAX web interface» (сейчас это project site)
- вкладка Downloads - https://www.virtualbox.org/wiki/Downloads
Начнем со второй ссылки.
By downloading, you agree to the terms and conditions of the respective license.
- VirtualBox platform packages. The binaries are released under the terms of the GPL version 2.
- VirtualBox 4.3.10 for Windows hosts x86/amd64
- VirtualBox 4.3.10 for OS X hosts x86/amd64
- VirtualBox 4.3.10 for Linux hosts
- VirtualBox 4.3.10 for Solaris hosts x86/amd64
Выбираем подпункт VirtualBox 4.3.10 for Linux hosts. В нем представлено краткое описание ссылок, версий, репозитариев для установки пакета.
Перед началом работы не забываем зайти в режим терминала и получить доступ к серверу через ssh%
ssh user@UNAS.local
2.2. В моем случае установлена базовая операционная система Ubuntu Server 12.04.04, значит репозитарий:
deb http://download.virtualbox.org/virtualbox/debian precise contrib
Для других версий системы (смотри ссылку во вкладке Downloads)
Для добавления данного репозитария существует два способа:
Открываем файл-источников
- sudo nano /etc/apt/sources.list
- deb http://download.virtualbox.org/virtualbox/debian precise contrib
Второй, через команду
- sudo add-apt-repository 'deb http://download.virtualbox.org/virtualbox/debian precise contrib'
Не забываем выполнить комманды (есть на сайте https://www.virtualbox.org/wiki/Linux_Downloads):
- sudo apt-key add oracle_vbox.asc
- wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
- sudo apt-get update
Теперь непосредственно устанавливаем пакет VirtualBox на сервер (в данном случае версию VirtualBox 4.2 (так как версия 4.3 не совместима с версией phpVirtualBox AJAX web interface 4.2)
- sudo apt-get install virtualbox-4.2
Первый этап установки завершен. VirtualBox установлена на сервер. Однако это только половина процесса установки на сервер. Необходимо еще установить подсистему управления вирутальными машинами. В частности удаленного управления через http-протокол - phpVirtualBox AJAX web interface
2.3. Официапльный сайт проекта phpVirtualBox AJAX web interface - https://code.google.com/p/phpvirtualbox/. На данной странице указана ссылка на соответствующий файл на странице sourceforge.net/projects/phpvirtualbox/. В моем случае это:
http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.2-8.zip (ссылку можно скопировать перед открытием) - это версия 4.2-8.
Слудем дальнейшим инструкциям.
2.3.1. Подготавливаем работу утилиты:
- sudo apt-get install apache2 php5 libapache2-mod-php5
- sudo service apache2 restart
2.3.2. Содаем пользователя и группу
- sudo adduser --ingroup vboxusers vbox
(придумываем и вводим пароль)
2.3.3. Качаем файл
- wget 'http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.2-8.zip' -O phpvirtualbox.zip
2.3.4. Распаковываем файл в папку для дальнейшей работы с www-сервисом
- sudo unzip phpvirtualbox.zip -d /var/www/phpvirtualbox
2.3.5. Создаем и редактируем файл конфигурации
- cd /var/www/phpvirtualbox
- sudo mv config.php-example config.php
- sudo nano config.php
Изменяем:
- $username=vbox
- $password=PWD - ваш пароль
Добавляем строчку (снимаем комментарий) - отменяет необходимость авторизации при подключении к серверу настроек VirtualBox:
- var $noAuth = true;
2.3.4. Создаем файл
- sudo nano /etc/default/virtualbox
И добавляем в него следующую строчку:
- VBOXWEB_USER=vbox
2.3.5. Перезапускаем сервер:
- sudo /etc/init.d/vboxweb-service start
2.3.6. В браузере заходим на страничку сервиса
- http://your-server/phpvirtualbox
где your-server - адрес или псевдоним сервера (например, 192.168.1.2)
Все должно работать !!!!
Теперь у нас есть возможность создавать и управлять виртуальными машинами. Но это еще не все.
3. Настройка VirtualBox
Теперь необходимо обеспечить доступ к вирутальным машинам (обычно по протоколу RDP).
Remote Desktop Protocol - это стандартный протокол по удаленному доступу к Windows удаленному столу, также используется по умолчанию в VirtualBox.
3.1. Вначале установим расширения VirtualBox (без него не будет работать расширение RDP и некоторые другие настройки)
- wget http://download.virtualbox.org/virtualbox/4.2.20/Oracle_VM_VirtualBox_Extension_Pack-4.2.24-92790.vbox-extpack
имя файла уточняем на странице https://www.virtualbox.org/wiki/Downloads
- sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2*.vbox-extpack
- sudo /etc/init.d/vboxweb-service stop
- sudo /etc/init.d/vboxweb-service start
3.2. Устанавливаем RDP-client
В MacOS RDP-client наиболее удобный - это Microsoft Remote Desktop. Платная альтернатива (универсальная RDP и VNC протоколы) - Jump Desktop.
Однако, Microsoft Remote Desktop - бесплатный клиент и дает возможность насладиться в польной мере преимуществами Windows 8.1 Pro удаленного дисплея.
Для iOS и MacOS программа RDP и Jump DeskTop есть в магазине приложений!!!
Ubuntu Server в сети MacOS (часть 1)
05/02/14 08:39
Ubuntu Server в сети MacOS (часть 1) - Подготовка к установке.
Продолжительный период использования техники Apple и совместимых аксессуаров привело к образованию значительного запаса ненужного оборудования. Например, внешние firewire диски в новом поколении iMac подключать стало сложно, TimeCapsule первых поколений при замене дисков на более емкие значительно замедляют работу сети. При этом бюджетные NAS системы имеют обычно низкую скорость. В общем, возникла возможность и желание собрать NAS или даже минисервер, максимально используя имеющееся железо и с минимальными затратами.
Начем с самого начала. Выбор оборудования и определение затрат на создание NAS сервера, а также медиа-сервера и многое другое
1. Оборудование для NAS сервера (для тех у кого уже есть собранный ПК можно пропустить).
Первое и самое важно - корпус. Именно на него будем смотреть все время. Более того, я как параноик тишины, хочу, что бы корпус еще был тихий. Поэтому задача выбора корпуса стала самой сложной. В данном случае подойдут все модели формфактора MiniITX, но чем больше и дороже корпус, тем он обычно тише и дороже. Ищем золотую середину. В своих поисках остановился на двух моделях (без блоков питания - все цены указаны на начало 2014 года):
- Бюджетный - Morex 6610 PC Case (70 usd) - есть возможность подключения до 4х дисков 3,5 дюйма, и даже DVD-ROM (что для мультимедиа сервера не маловажно);
- Стильный - Fractal Design Node 304 (100 usd) - красивый, стильный, добротный, дорогой. Зато вмещает аж 6-ть дисков 3,5 дюйма (но без возможности установки DVD), 14 сантиметровый кулер + 2 дисковых (все с регулировкой скорости вращения с помощью переключателя «низко»-«средне»-«высоко»).
Второй этап - выбор блока питания (Опять же тихого и надежного. Мощность в данном случае не так важна). Получилось подобрать два варианта:
- С 12 мм. вентилятором бюджетный Zalman ZM400-LE 400W. В дальнейшем можно скрутить защитную решетку, что тоже немного уменьшает шум (ориентир 30 usd);
- Безвентиляторный (безбожно дорогой) Chieftec GPS-500C 80Plus Platinum 500W. Цена в пределах 150 USD.
- наличие достаточного количества SATA шлейфов питания (желательно аппаратный RAID, хотя и не обязательно. А для дальнейшей совместимости hard RAID даже противопоказан);
- память формата SO-DIMM (Очень актуально для пользователей, которые провели upgrade своей Apple техники. Многие не знают куда девать освободившиеся планки ;))
- низкое энергопотребление системы в целом.
- все варианты с интегрированным CPU - хороши, но мало встроенных SATA портов (например, ASRock AD2550-ITX или Asus C8HM70-I/HDMI intCPU) - ориентир 90 USD. То есть надо еще докупать доп. контролер (30-50 USD). Итого: 120-150 USD.
- Intel Base система. Большой выбор материснких плат на которых интегрированно по 4-е SATA разъема, а в отдельных системах присутствуют две Ethernet карты (на любителя), например, Gigabyte GA-H87TN s1150 mITX (ориентир 110 USD) или с двумя Ethernet, Hard Raid, miniPCI (для подключения SSD диска) - Asus Q87T s1150, Intel Q87, PCI-E 3.0x16 (Ориентир 160 USD). Процессор с минимальным энергопотреблением - Intel Core i3-4130T 2.9GHz/3MB/5GT/s (120 USD). Итого 230-270 USD.
- AMD система (компромисс цена/качество). Материанская плата с 7-ю SATA разъемами: ASRock FM2A85X-ITX (95 USD). К ней нужна и память DDR3 стандартного размера - ориентир 50 USD . Процессор с низким энергопотреблением: AMD Richland A8-6500T 2.1GHz/3100MHz/4MB (100 USD). Итого: 245 USD.
Жесткие диски - САМОЕ ВАЖНО, но их выбор это тема целого исследования. Поэтому, уточню только основные особенности при выборе современных жестких дисков:
1. Не покупайте диски Desktop-класса, особенно WD Green (очень плохо работают в RAID массивах и вообще в NAS системах). При значительной нагрузке (круглосуточной работе) выходят из строя за год, а то и менее. При этом обязательный в данном случае RAID1 (минимум 2-а диска) получается дороже покупки одного более дорого диска.
2. Сегодня появились на рынке диски с маркировкой NAS. Из названия понятно, что ориентирвоаны на рассматриваемые системы. Они характеризуются длительным периодом эксплуатации и сравнительно низкой старостью вращения шпинделя (5400-5900 оборотов). В целом данные диски - оптимальный выбор. Очень рекомендую покупать сразу минимум 3и диска для формирования RAID5 массива.
3. Дорогие диски - специально для сервера (корпоративного класса). Характеризуются высокой скоростью и повышенной надежностью. Обычно в 2 раза дороже обычных дисков (Desktop и NAS уровня). Для домашнего сервера - эти диски на любителя. Хотя можно рассмотреть покупку именно даного диска для установки операционной системы, формирования надежного RAID массива и т.п.
Общие замечания - чем дешевле диск (с поправкой на емкость) - тем ниже его надежность и/или скоростные характеристики.
2. Установка и первичная настройка программного обеспечения на сервер.
Переходим к главному этапу - установка и первичная настройка ПО.
По различным причинам выбор пал именно на Ubuntu Server, так как данное решение
- бесплатное и достаточно стабильное
- практически не возникает проблем с поддерживаемым оборудование (не в пример с VMWare, тоже бесплатным, но очень капризным по отношению к оборудованию)
- огромное число приложений и частных решений (от стандартного набора SMB, VPN, UPNP до специфического для MacOS - AFP (Netatalk) протокола, HFS+ файловых систем и т.п.)
- имеет широкое распространение (официальная поддержка и значительное число решений в рамках сообщества).
Кстати на счет выбора 32 или 64 битной Ubuntu server версии однозначного ответа не дам. Должно быть лучше AMD (x64) версия. однако, с ней связана определенная несовместимость старых программ, что тоже решается и будет дополнительно описано при рассмотрении процесса установки UPNP сервера.
В данном примере выбрава Ubuntu Server 12.04.4 AMD версия.
Подготовка загрузочного диска
Исходный файл дистрибутива можно скачать с официального сайта Ubuntu в по torrent или http протоколу - http://ubuntu.ru/get
Что делать с полученным файлом? Проще всего записать на CD-диск и провести установки с внешнего диска. Но поскольку эра CD ужа безвозвратно уходит в прошлое, большинству пользователей данный вариант недоступен. Поэтому необходимо записать загрузочный falsh-диск. В Windows для этого можно использовать программу UltraISO (на подробностях не буду останавливаться, так как настоящие «герои» всегда идут в обход ;)).
Запись iso-дистрибутива на flash в MacOS (в Ubuntu поступаем аналогично, только немного меняется синтаксис команд). Все команды выполняем в режиме терминала
1. Вначале для записи iso-файл образа диска установки на загрузочную flash-ку необходимо провести его конвертацию в формат .dmg с помощью системной утилиты hdiutil. Синтаксис смотри ниже.
hdiutil convert -format UDRW -o /Volumes/data/ubuntu-12.04.3-server-i386 /Volumes/data/ubuntu-12.04.3-server-i386.iso
где
/Volumes/data/ubuntu-12.04.4-server-amd64 - путь и имя файла .dmg
Volumes/data/ubuntu-12.04.4-server-amd64.iso - путь и имя исходного .iso файла
В операционной системе Ubuntu конвертировать .iso файл образа не надо.
2. Уточнение параметром компьютера и имя диска носителя flash.
Созданный файл (ubuntu-12.04.4-server-amd64.dmg)необходимо записать на Flash. Что бы определить какой именно диск является flash носителем используем утилиту diskutil.
diskutil list
У меня данная команда выводит следующий результат:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 999.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk1
1: EFI EFI 314.6 MB disk1s1
2: Apple_HFS MyBook09 3.0 TB disk1s2
3: Apple_Boot Recovery HD 650.0 MB disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *7.8 GB disk2
1: DOS_FAT_32 DATA 7.8 GB disk2s1
ТУТ ВНИМАТЕЛЬНО!!!
Исходя из полученного листинга доступных дисков видно, что к компьютеру подключены 3 диска (/dev/disk0, /dev/disk1, dev/disk2). Никогда не используйте /dev/disk0 (это практически всегда системный диск). Я знаю, что моя flash на 8 Gb. Смотрим на листинг комманды diskutil. Есть диск размеров 7,8 Gb. Значит, сорее всего, подходит.
В приведенном примере диск flash - это /dev/disk2
В ubuntu для вывода списка дисков используем fdisk -l
3. Обязательно демонтируем диск /dev/disk2
diskutil unmountDisk /dev/disk2
Если данную операцию не произвести, получим ошибку «Диск занят» (не забываем демонтируем именно выбранный диск Flash).
В ubuntu для данных целей применяет стандартную команду
sudo umount /dev/sdc2 (для disk2)
4. Запись образа (АККУРАТНО С СИНТАКСИСОМ ИМЕНИ ДИСКА - можно удалить информацию на системном носителе)
Запись образа производиться по аналогии со всеми unix-подобными системами (OSX, Ubuntu и т.п.) командной dd (посекторная запись данных):
sudo dd if=/Volumes/data/ubuntu-12.04.4-server-amd64.dmg of=/dev/rdisk2 bs=1m
где
ubuntu-12.04.4-server-amd64.dmg - файл диска образа системы
of=/dev/rdisk2 - обозначение диска Flash (того самого /dev/disk2. Для диска /dev/disk3 данный параметр будет of=/dev/rdisk3 и т.п.)
Загрузочный flash готов.
Не забываем извлечь диск командой diskutil
diskutil eject /dev/disk2