Исправляем неполадки Windows в Selectel Rescue
Мы уже писали о диагностике и устранении неполадок на сервере с помощью нашей консоли восстановления. Во всех публикациях на эту тему речь шла исключительно о неисправностях Linux-систем. Но пользователи OC Windows, которых среди наших клиентов немало, тоже часто сталкиваются с аварийными ситуациями: заражение вирусами, физические повреждения дисков, ошибки при обновлении системы. Штатные средства Windows в подобных случаях очень часто оказываются бессильными. Однако исправить неполадки можно и другим способом: привлечь на помощь Linux.
Мы уже писали о диагностике и устранении неполадок на сервере с помощью нашей консоли восстановления. Во всех публикациях на эту тему речь шла исключительно о неисправностях Linux-систем.
Но пользователи OC Windows, которых среди наших клиентов немало, тоже часто сталкиваются с аварийными ситуациями: заражение вирусами, физические повреждения дисков, ошибки при обновлении системы. Штатные средства Windows в подобных случаях очень часто оказываются бессильными. Однако исправить неполадки можно и другим способом: привлечь на помощь Linux.
Загрузиться в режиме восстановления (Rescue) прямо из панели управления может любой пользователь услуги «Выделенный сервер». В памяти сервера будет запущена Linux-система, из-под которой можно будет попытаться «вылечить» Windows. Все необходимые диагностические утилиты уже добавлены в Rescue, и вам даже ничего дополнительно устанавливать.
О путях устранения наиболее типичных неисправностей мы расскажем ниже. Надеемся, что материалы статьи будут полезными как нашим пользователям, так и начинающим системным администраторам и специалистам технической поддержки.
Работа с динамическими дисками: ldmtool
В серверах под управлением OC Windows часто используются так называемые динамические диски. По своим возможностям они близки к LVM томам в Linux. Технология динамических дисков позволяет объединять отдельные диски в единый том, разделять данные между несколькими дисками, а также дублировать данные на нескольких дисках для повышения уровня надёжности и отказоустойчивости (функциональность RAID0, RAID1, RAID5).
С помощью утилиты ldmtool можно управлять динамическими дисками из-под Linux-окружения.
Рассмотрим следующий практический кейс: сервер перестал загружаться, и нужно срочно получить доступ к хранимым на нём данным, чтобы избежать их потери.
Решить эту задачу с помощью утилиты ldmtool просто. Сначала загрузимся в rescue и сканируем систему на наличие динамических томов:
# ldmtool scan
Вывод этой команды будет содержать информацию об обнаруженных группах дисков, представленную в формате JSON:
[
"cc085e40-8ddd-11e5-80b9-003048db0adf"
]
Для просмотра более подробной информации используются следующие команды:
$ ldmtool show diskgroup cc085e40-8ddd-11e5-80b9-002048db0adf
{
"name" : "CS18298-Dg0",
"guid" : "cc085e40-8ddd-11e5-80b9-002048db0adf",
"volumes" : [
"Volume2",
"Volume1",
"Volume3"
],
"disks" : [
"Disk1",
"Disk2"
]
}
# ldmtool show volume cc085e40-8ddd-11e5-80b9-002048db0adf Volume2
{
"name" : "Volume2",
"type" : "mirrored",
"size" : 235536384,
"chunk-size" : 0,
"hint" : "C:",
"partitions" : [
"Disk1-02",
"Disk2-02"
]
}
# ldmtool show partition cc085e40-8ddd-11e5-80b9-002048db0adf Disk1-01
{
"name" : "Disk1-02",
"start" : 718785,
"size" : 235536384,
"disk" : "Disk1"
}
Теперь можно смонтировать нужный нам том:
#создаём device mapper
# ldmtool create cc085e40-8ddd-11e5-80b9-002048db0adf
После этого том будет доступен в /dev/mapper/ldm_vol_FOOBAR-Dg0_Volume1, и его можно будет смонтировать с помощью ntfs-3g.
Работа с файловой системой NTFS: ntfs-3g
Как было сказано выше, для монтирования разделов c NTFS используется ntfs-3g — свободная реализация «виндовой» файловой системы NTFS с поддержкой чтения и записи данных.
В состав пакета ntfs-3g входит набор утилит ntfsprogs. Он включает полезные инструменты для исправления повреждений NTFS, резервного копирования и восстановления данных.
Прежде чем начинать работу с NTFS, нужно примонтировать соответствующий раздел. Это можно сделать с помощью традиционной команды mount:
# mount -t ntfs /dev/mapper/ldm_vol_FOOBAR-Dg0_Volume1 /mnt/
Есть ещё один способ — обращение к ntfs-3g напрямую:
# ntfs-3g /dev/mapper/ldm_vol_FOOBAR-Dg0_Volume1 /mnt
После монтирования можно приступать к восстановлению данных. Здесь нам и пригодятся инструменты из набора ntfsprogs.
Для проверки файловой системы и исправления повреждений используется утилита ntfsfix. Приведём пример её использования:
# отмонтируем раздел с NTFS
# umount /dev/sda2
#запускаем ntfsfix
# ntfsfix /dev/sda2
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sda2 was processed successfully.
#снова монтируем раздел с NTFS
# mount /dev/sda2
Утилита ntfsclone создаёт образ файловой системы, который затем можно будет развернуть на другом сервере:
# ntfsclone -o win.img /dev/sda2
При подозрении на наличие физических повреждений диска можно воспользоваться опцией —rescue:
# ntfsclone --rescue -o win.img /dev/sda2
Сброс пароля: chntpw
Довольно частое происшествие: пользователь забыл пароль для входа в Windows и не может попасть на сервер. В такой ситуации можно привлечь на помощь Linux — и сбросить пароль. Специально для этого в нашем Rescue имеется утилита chntpw. Порядок действий таков: загружаемся в Rescue, монтируем раздел с папкой Windows, затем выполняем:
# cd /media/win/Windows/System32/config/
# chntpw SAM
Вот и всё. После сброса пароля мы снова можем войти на сервер.
Редактирование реестра: chntpw и registry-tools
Для устранения многих неисправностей Windows требуется редактировать реестр. Здесь нам тоже может помочь утилита chntpw.
Загружаемся в Rescue и монтируем раздел с NTFS так же, как в предыдущем пункте. Далее выполняем:
# chntpw -l /media/win/Windows/System32/config/software
Теперь мы можем вносить правки в реестр. Для перемещения по веткам используется команда cd, например:
cd Microsoft/Windows NT/CurrentVersion/Winlogon
Для просмотра ключей используется команда dir, а для редактирования — ed, например:
ed Shell
Отредактировать реестр можно также с помощью утилиты regshell из пакета registry-tools.
При запуске утилиты regshell будет открыта командная строка реестра. Для перемещения по ветками реестра используется команда ck (или cd). Удаление ключей и значений осуществляется с помощью команд rmkey и rmval соответственно. Создать новой ключ можно с помощью команды mkkey. Более подробно о командах regshell можно прочитать в официальном руководстве.
Заключение
В этой статье мы проделали обзор основных утилит для диагностики и исправления неполадок Windows из-под Linux-окружения. Если у вас есть опыт решения проблем, подобных описанных нами, было бы интересно ознакомиться. А если вы знаете какие-то полезные утилиты, которые в наш обзор не вошли — расскажите о них в комментариях.