Использование командной строки для восстановления загрузчика Windows
В данной статье мы будим рассматривать, как можно восстановить загрузчик в Windows с помощью средства bootrec.exe в командной строке, для чего нужно это средство восстановления, может быть такое, что Windows перестала загружаться, поврежден сам загрузочный сектор, бывает и такое что может выйти ошибка No bootable device. Insert boot disk and press any key, но если мы уверены что с нашим жестким диском все в порядке, и в самом системном блоке все настроено и подключено правильно, то в нашем случае, может слететь сам загрузочный сектор в Windows, что в большинстве случаев это так и есть.
Средство для восстановления загрузчика в Windows через bootrec.exe
И так если у вас не включается Windows, то нам необходимо будет загрузиться с загрузочного диска, или с загрузочной usb флешки, как создавать загрузочную Windows, я писал в статье загрузочная флешка Windows. После загрузки диска или usb флшеки для восстановления, нужно выбрать пункт восстановить. Далее нужно выбрать командную строку.
Здесь в командной строке, нужно ввести команду bootrec.exe, как видите после ввода этой команды у нас появляются еще четыре команды с описаниями.
Восстановление загрузочной записи MBR
Здесь если мы хотим восстановить загрузочную запись, то нужно ввести команду bootrec.exe /FixMbr, данная команда, перезаписывает загрузчик MBR, этот параметр можно использовать при заражение вирусом (то есть, если при входе в саму систему Windows, вы видите сообщение, что Windows заблокирована), или стороннего вредоносного кода.
Восстановление загрузочного сектора
Здесь, если мы хотим восстановить загрузочный сектор в системном разделе, совместимый с вашей Windows, нужно будет ввести команду bootrec.exe /Fixboot, для чего нужно вводит этот параметр:
1. Если загрузочный сектор был заменен на не совместимый сектор или поврежден.
Восстановление загрузочной записи
|
| Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. |
Содержание
Немного теории [ править ]
DOS Partition Table [ править ]
Загрузчик ОС может находиться как в Master Boot Record (MBR), так и в boot record раздела. Если загрузчик находится в BR раздела, этот раздел должен быть помечен как активный, а в MBR должен находиться стандартный загрузчик, который находит активный раздел и запускает следующий загрузчик оттуда.
GPT [ править ]
надо описать отличия от DOS PT и, возможно, упомянуть отличия BIOS от UEFI, где команда fixmbr неприменима
Рекомендуемые средства [ править ]
Восстановление загрузки при повреждении MBR [ править ]
Если основной загрузчик располагался в BR и не был повреждён, а проблема только с MBR и/или сбиты настройки активного раздела, исправить это можно с помощью fixmbr или lilo. Если же повреждён основной загрузчик, можно переходить сразу к пункту «Восстановление основного загрузчика».
с помощью fixmbr [ править ]
Можно попробовать воспользоваться утилитой fixmbr из rescue-режима:
без параметров. В большинстве случаев этого достаточно — программа найдёт первый раздел, содержащий загрузчик, сделает его активным и восстановит MBR.
с помощью lilo [ править ]
Можно также воспользоваться lilo. Это не только загрузчик, но и утилита для манипулирования MBR и активными разделами. Допустим, мы знаем, что у нас загрузчик (не обязательно LILO) находится на разделе 2.
Восстанавливаем стандартный загрузчик в MBR (можно выбрать mbr или ext, последний допускает загрузку с логических разделов):
Убираем все метки активных разделов (если единственная метка переехала или если меток стало больше одной):
Делаем активным раздел 2:
Восстановление основного загрузчика [ править ]
Основной загрузчик чаще всего бывает повреждён на компьютерах с несколькими операционными системами, если он расположен в MBR. Это связано с тем, что некоторые ОС переписывают содержимое MBR при установке, что делает невозможным загрузку других ОС. Следует понимать, что возврат старого загрузчика, в свою очередь, может сделать недоступной установку той самой «другой ОС». Иной способ повредить загрузчик — передвинуть разделы. Например, lilo грузит ядро и initrd, ориентируясь на абсолютное расположение файлов на носителе, заданное посекторно при установке загрузчика.
Процесс состоит из двух этапов. Первый — это сбор дерева файловой системы в произвольной точке монтирования и выполнение команды chroot в эту точку. В результате этой операции получается рабочая (ранее недоступная) система. Надо заметить, что восстановление загрузчика — не единственное применение chroot. Второй этап — собственно работы по переустановке (с возможным переконфигурированием) нужного загрузчика, выполняемые во временно реанимированной посредством chroot системе.
Подготовка chroot [ править ]
Загрузитесь с установочного диска ALT Linux в режиме «Rescue». После загрузки мы получаем терминал с командной оболочкой от имени суперпользователя root.
В автоматическом режиме [ править ]
Воспользуйтесь утилитой mount-system, находящейся, как и fixmbr, в rescue-образе. Как и fixmbr, она запускается без параметров. В случае успешного выполнения достаточно будет выполнить chroot в указанную точку монтирования (для первой обнаруженной системы это может быть /mnt/system1 ). В противном случае потребуется сделать то же самое в ручном режиме.
В ручном режиме [ править ]
Ручная подготовка chroot состоит из следующих этапов:
Восстановление [ править ]
lilo [ править ]
Восстановление lilo, как правило, сводится к запуску команды lilo без параметров (иногда требуется предварительная правка файла /etc/lilo.conf ):
grub [ править ]
После того как проведены подготовительные действия и сделан сhroot, необходимо перегенерировать конфиг grub:
после чего, если используется обычный BIOS-режим, следует заново установить GRUB в MBR:
если же используется EFI-режим, может потребоваться восстановить загрузчик в ESP-разделе (EFI System Partition), который монтируется в /boot/efi :
Загрузчик grub обладает очень широкими возможностями. Вероятно, нелишним будет почитать про него предварительно.
Замечания [ править ]
Если изменилась таблица разделов [ править ]
Если проблемы с загрузчиком — результат перемещения/объединения разделов, то до непосредственного восстановления загрузчика потребуется скорректировать настройки загрузчика. Кроме этого, надо будет поправить /etc/fstab (для него порядок исправления неважен).
Пример для LILO (для GRUB смотреть в его описании).
Предположим, у вас был раздел sda3 с Windows, а стал раздел 1. В /etc/lilo.conf надо заменить
И соответственно убрать/поправить в /etc/fstab строчку вида
Если нужны изменения в initrd [ править ]
Непосредственно к восстановлению загрузочной записи это не относится, но может иметь отношение к процессу загрузки при замене контроллера HDD или иных проблемах, требующих изменений в initrd. В ALT Linux, начиная с дистрибутивов, основанных на ветках p5/5.1, используется утилита make-initrd. Вам следует узнать, какое ядро установлено по умолчанию (смотреть в конфигурации загрузчика), и пересобрать соответствующий initrd до выполнения пункта «Восстановление загрузчика». В большинстве случаев будет достаточно простого запуска make-initrd с указанием версии ядра, так как состав модулей будет определён автоматически исходя из загруженных на данный момент. Если это не поможет, придётся изучить make-initrd более подробно.
В примере видны наборы модулей для четырёх ядер. Допустим, по-умолчанию используется 3.16.6-un-def-alt1. Команда на пересборку будет выглядеть так:
В случае Lilo надо обновить конфигурацию загрузчика (просто запустить lilo), так как Lilo обращается к информации в initrd минуя файловую систему и должен знать о расположении данных на HDD, а при пересоздании файла его расположение практически всегда меняется.
Глава 7
Восстановление данных на жестких дисках
Восстановление логической структуры диска
ПРИМЕЧАНИЕ
Вам потребуется значительно меньше времени и терпения, если высумеете вспомнить хотя бы самые основные параметры диска: количество, порядок следования и размеры разделов, а также тип файловой системы на каждом из них.
Восстановление главной загрузочной записи
ПРИМЕЧАНИЕ ____________________
«Лечение» секторов необходимо производить только при условии отсутствия вируса в оперативной памяти. Если копия вируса в памяти не обезврежена, то вполне вероятно, что вирус повторно заразит гибкий диск или винчестер после удаления кода вируса.
ПРИМЕЧАНИЕ
Несмотря на появление все новых программных инструментов для «лечения» файловых систем, многие опытные пользователи предпочитают применять для исправления серьезных ошибок программу Norton DiskEdit. Объясняется это тем, что DiskEdit предоставляет удобные средства просмотра всех элементов структурыфайловой системыи, кроме того, способна предотвратить некорректные изменения этих элементов в процессе восстановления. По указанной причине мыбудем использовать в качестве иллюстраций к излагаемому материалу «снимки» структуры файловой системы, полученные с помощью DiskEdit. Это поможет вам одновременно осваивать возможности DiskEdit.
СОВЕТ ____________________
Если имеющаяся в вашем распоряжении версия DiskEdit записана на компакт-диске, следует иметь «стандартный» вариант загрузочного гибкого диска, обеспечивающий поддержку CD-привода. Если же предполагается запускать DiskEdit с гибкого диска, можно либо создать «усеченный» вариант загрузочного диска и записать на него файл DiskEdit.exe (он занимает около 700 Кбайт), либо подготовить отдельный гибкий диск с DiskEdit.
ПРИМЕЧАНИЕ
В дальнейшем для краткости будем использовать следующие обозначения: C номер цилиндра, Н – номер головки, S – номер сектора.
ВНИМАНИЕ
Если значение некоторого параметра занимает более одного байта, то в шестнадцате-ричном представлении параметра его старший байт расположен справа, а младший – слева. Например, сигнатура завершения таблицыразделов, АА55, в шестнадцатеричном представлении выглядит как 55 АА.
ВНИМАНИЕ
Будьте осторожныпри использовании FDISK /MBR, если повреждение MBR обусловлено воздействием вируса. Дело в том, что эта команда заново переписывает код программы-загрузчика системы и не изменяет таблицу разделов (Partition Table). Если вирус шифрует Partition Table или использует нестандартные способы заражения, FDISK /MBR может привести к полной потере информации на диске. Поэтому перед запуском FDISK /MBR убедитесь в корректности Partition Table. Для этого требуется загрузиться с незара-женного гибкого DOS-диска и проверить корректность этой таблицы(процедура проверки и восстановления PT описана в подразделе «Восстановление таблицыразделов»).
ПРИМЕЧАНИЕ
Для получения имени диска можно воспользоваться командой map, которая также доступна в среде Консоли восстановления (рис. 7.4).
ВНИМАНИЕ
Если параметр имя_устройства не указан, новая MBR будет записана на диск, с которого загружается основная ОС.
ВНИМАНИЕ
Запись новой MBR на диск с системным разделом может привести к повреждению таблиц разделов, в результате чего разделы могут стать недоступными.
Рис. 7.5. Представление таблицы разделов в текстовой форме
Столбцы таблицы, выводимой DiskEdit, означают следующее:
System (Система) – тип файловой системы или раздела; расширенный (дополнительный) раздел обозначается как EXTNDx; элемент дополнительной таблицы разделов, ссылающийся на следующий логический диск, имеет метку EXTEND;
Boot (Загрузка) – признак загрузочного раздела; если раздел является загрузочным, для него выводится значение Yes, в противном случае – No;
Starting Location (Начальное положение) – адрес первого сектора раздела, заданный номером головки, цилиндра и сектора;
Ending Location (Конечное положение) – адрес последнего сектора раздела, заданный номером головки, цилиндра и сектора;
Relative Sectors (Относительный сектор) – номер первого сектора раздела в соответствии с адресацией LBA (то есть при «сквозной» нумерации по головкам, цилиндрам и секторам);
Number of Sectors (Количество секторов) – размер раздела, измеренный в секторах (напомним, сектор имеет размер 512 байт).
Чтобы просмотреть цепочку ссылок на логические диски, размещенные внутри расширенного раздела, выполните следующие действия.
1. Переместите курсор в строку, соответствующую расширенному разделу.
2. В меню Link (Ссылка) выберите пункт Partition (Раздел).
3. Если в столбце System появился элемент-ссылка (с меткой EXTEND), повторите для него шаги1и2, чтобы перейти к следующему логическому диску (рис. 7.6).
Рис. 7.6. Просмотр дополнительныхтаблиц разделов в текстовой форме
Если отображаемые DiskEdit параметры PT говорят о наличии ошибок в ней и вам известна геометрия разделов жесткого диска, то можете отредактировать записи PT «вручную» (то есть с помощью DiskEdit), прямо в таблице.
Если же повреждения PT столь велики, что представленная в таблице информация вообще не поддается разумной интерпретации, можно попробовать другой метод анализа. Откройте PT в виде шестнадцатеричного кода (для этого выберите команду View as Hex) и сравните содержащиеся в PT данные с приведенными в табл. 7.2.
СОВЕТ
Достаточно обширный список наиболее распространенных кодов вы можете получить, если в программе ParagonPartitionManager вы берете для какого-либо раздела команду Изменить partition id (рис. 7.7).
Рис. 7.8. Стартовые окнаутилиты DiskDoctor
4. На запрос об устранении найденных в Partition Table ошибок ответьте согласием, щелкнув на кнопке Yes (рис. 7.9).
Рис. 7.9. Несмотря на грозное предупреждение DiskDoctor, соглашайтесь на все
5. После внесения исправлений в искусственно созданную вами таблицу разделов DiskDoctor предложит поиск возможных дополнительных DOS-разделов (то есть разделов с файловой системой семейства FAT). Дайте согласие на это, и если данные на диске не повреждены, дополнительный раздел будет найден и после вашего подтверждения восстановлен.
Как правило, после перезагрузки компьютера данные дополнительного раздела становятся доступны без дополнительных восстановительных операций.
Восстановление удаленных и «потерянных» разделов
Восстановление данных в файловой системе FAT32
Проверка и восстановление Boot Record
ПРИМЕЧАНИЕ ____________________
В действительности число, указанное в столбце Relative Sectors, – это размер (в секторах) предшествующего диска (раздела), и называть его относительным номером первого сектора следующего диска вынуждает лишь наименование этого столбца таблицы.
Рис. 7.11. Представление первого сектора логического диска в шестнадцатеричном коде
Чтобы получить текстовое представление только блока BPB, выполните следующие действия.
1. Выделите четвертый байт от начала сектора (первые три байта сектора занимает команда перехода на начало программы загрузки), как показано на рис. 7.11.
2. В меню View выберите пункт as Boot Record(32) (в виде загрузочной записи для FAT32).
Распределение пространства первого сектора логического диска представлено в табл. 7.3.
ПРИМЕЧАНИЕ
Поля BPB со смещением от начала сектора 44 байта и более на первом экране утилиты DiskEdit не умещаются. Чтобы ихувидеть, воспользуйтесь полосой прокрутки.
ПРИМЕЧАНИЕ ____________________
Восстановление загрузочной записи системного раздела необходимо производить, загрузив систему с помощью загрузочного гибкого диска. Для других разделов соблюдение этого требования не обязательно, но желательно.
Рис. 7.12. Переход к резервной копии загрузочного сектора
8. Чтобы убедиться в целостности резервного сектора, переключитесь в текстовый режим просмотра, и затем вернитесь к шестнадцатеричному представлению.
9. В меню Tools с помощью команды Configuration переведите DiskEdit в режим редактирования.
10. В меню Edit выберите команду Mark (Пометить) и затем с помощью клавиш управления курсором выделите содержимое всего сектора (если сектор был открыт правильно, DiskEdit не пустит вас за его пределы).
Рис. 7.14. Последний шаг в замене загрузочного сектора
Чтобы убедиться в успешности выполненной процедуры, откройте восстановленный загрузочный сектор в текстовом режиме и проверьте значения полей в соответствии с табл. 7.3.
Исследование корневого каталога
Рис. 7.16. Корневой каталог
Если DiskEdit по какой-то причине не смог самостоятельно обнаружить корневой каталог, попробуйте перейти к нему по относительному адресу его первого сектора. Номер этого сектора можно определить по значению поля First cluster of Root блока BPB. Кроме того, при поиске корневого каталога необходимо учитывать следующее.
Корневой каталог (как и любой другой каталог в FAT32) содержит 32-байтовые элементы – дескрипторы, описывающие файлы и вложенные каталоги.
Первый дескриптор корневого каталога содержит сведения о логическом диске (точнее говоря, о самом корневом каталоге), в том числе: метку тома, дату и время создания, атрибуты каталога как элемента файловой системы. Остальные дескрипторы, хранящиеся в корневом каталоге, содержат большее количество сведений о связанных с ними элементах данных. Все они не умещаются на одном экране DiskEdit. Для их пролистывания следует использовать команду More (Еще), расположенную в строке меню окна.
Мы ограничимся описанием лишь наиболее важных полей дескриптора, которые представлены на первом экране:
Name – имя элемента данных (файла или папки); если элемент данных отмечен как удаленный, то в качестве первого символа имени используется байт E5 (в текстовом формате DiskEdit заменяет его буквой х);
Ext – расширение файла (для папок это поле пусто);
ID – тип элемента данных; возможные значения:
Vol – том;
Dir – каталог;
LFN – аббревиатура от Long File Name, длинное имя файла (об LFN см. главу 3, раздел «Выбор имен папок и файлов»);
File – файл;
Erased – удален (указывается только для файлов);
Del LFN – удаленное длинное имя (признак устанавливается после переименования файла или папки);
Size – размер (в байтах);
Date – дата создания или изменения;
Time – время создания или изменения;
Cluster – номер первого кластера;
A, R, S, H, D, V – атрибуты элемента данных (архивный, только чтение, системный, скрытый, каталог, том); значения всех атрибутов хранятся в одном байте дескриптора.
Чтобы просмотреть содержимое какого-либо вложенного каталога, переместите курсор в соответствующую строку и нажмите клавишу Enter.
Если сведения о корневом (или вложенном) каталоге, представленные DiskEdit, кажутся вам «подозрительными», можно попробовать интерпретировать записанные в нем данные самостоятельно, переключившись в режим просмотра шестна-дцатеричного кода. Для этого в меню View выберите пункт as Hex. Формат дескриптора каталога представлен в табл. 7.4.
Анализируя полученную информацию, вы можете обнаружить подозрительные изменения в полях размера файла, даты и времени. При необходимости их можно исправить «вручную».
Исследование FAT
Рис. 7.17. Просмотр FAT
Если они не помогут, вновь вернитесь к работе с DiskEdit. Чтобы найти таблицу FAT не по адресу, а по ее содержимому, выполните следующее.
Выберите в меню Tools команду Find Object и затем строку FAT. Программа DiskEdit выполнит поиск первой копии таблицы FAT и отобразит ее дамп, выделив в нем первые три байта.
Если теперь сместить текстовый курсор вниз или нажать клавишу PgDn, а затем выбрать повторно в меню Tools команду Find Object FAT еще раз, будет найдена вторая копия таблицы FAT.
Если любая из копий таблицы FAT корректна, то для быстрого перехода к одной из них можно использовать имеющиеся в меню Object команды 1st FAT и 2nd FAT.
Восстановление данных в файловой системе NTFS
Восстановление элемента таблицы разделов
ПРИМЕЧАНИЕ
Утилита Norton Partition Table Editor (в дальнейшем для краткости будем называть ее PTEdit) состоит из единственного исполняемого файла – PTEDIT.exe. Ее особенность состоит в том, что она при запуске обеспечивает перевод системыв однозадачный режим (за счет загрузки собственной DOS). Однако для работыс NTFS-разделами ее лучше запускать либо из средыWindows 98, либо из среды «настоящей» MS DOS, например, с гибкого диска. Размер файла PTEDIT.exe – около 500 Кбайт.
Рис. 7.18. Стартовое окно утилиты Partition Table Editor
Чтобы просмотреть цепочку дополнительных таблиц расширенного раздела (EPBR), выполните следующие действия.
1. Переместите курсор в строку, соответствующую расширенному разделу (его код равен 0Fh).
2. Щелкните на кнопке Goto EPBR (Перейти на EPBR), расположенной под таблицей.
Если вы знаете, что восстанавливаемый NTFS-раздел находится на прежнем месте, но в соответствующей ему строке указан неверный тип раздела, вы можете попробовать установить корректное значение принудительно. Для этого щелкните на кнопке Set Type (установить тип) и в открывшемся окне выберите требуемое значение (рис. 7.19). Для раздела NTFS оно равно 07h.
Если вам известны корректные значения других параметров раздела и они отличаются от представленных в таблице, вы можете (предварительно запомнив или записав на бумаге текущие значения) ввести их в поля таблицы. Чтобы внесенные изменения были записаны на диск, щелкните на кнопке Save Change (Сохранить изменения).
СОВЕТ
Если восстанавливаемый раздел вообще опознается как пустой, можно попробовать создать на его месте новый, такого же типа, как у восстанавливаемого раздела, и (обязательно!) точно такого же размера. Для выполнения этой процедуры можно использовать либо Paragon Partition Manager, либо Norton PartitionMagic (о работе с ними рассказано в третьей главе).
Восстановление загрузочного сектора раздела NTFS
Рис. 7.20. Диалоговое окно NTFS Boot Record
Если повреждения незначительны, можно отредактировать значения полей непосредственно в окне NTFS Boot Record. После внесения изменений щелкните на кнопке Write (Записать), чтобы перенести их на диск.
Если загрузочный сектор поврежден существенно или вам неизвестны корректные значения полей, следует заменить загрузочный сектор его резервной копией. Для версии NTFS, используемой в Windows XP, копия загрузочного сектора хранится в самом последнем секторе логического диска.
Операцию копирования сектора можно выполнить либо с помощью Norton Disk-Edit, либо с помощью Paragon Partition Manager (точнее, с помощью входящей в него утилиты Просмотр секторов). Следует отметить, что в данном случае второй вариант даже предпочтительнее, поскольку Partition Manager «знаком» с NTFS лучше, чем Norton DiskEdit.
Итак, чтобы заменить загрузочный сектор NTFS его резервной копией с помощью утилиты Просмотр секторов, выполните следующие действия.
1. После загрузки Paragon Partition Manager щелкните правой клавишей мыши на изображении восстанавливаемого раздела и выберите в контекстном меню пункт Посмотреть сектора.
2. В окне утилиты Просмотр секторов (рис. 7.21) введите в редактируемом поле Абсолютный сектор|Наберите выражение для оценки: номер последнего сектора раздела (он отображается справа от раскрывающегося списка) и нажмите клавишу Enter.
3. Щелкните на кнопке Сохранить, расположенной в правой части окна утилиты, и в дополнительном окне укажите адрес и имя двоичного (.bin) файла, в который следует записать содержимое сектора.
4. Вернитесь к нулевому (загрузочному) сектору раздела, введя 0 в поле Абсолютный сектор|Наберите выражение для оценки:.
5. Щелкните на кнопке Настройки и в дополнительном окне установите флажок Разрешить запись. После того как вы закроете окно, станет доступна кнопка Восстановить.
6. Щелкните на кнопке Восстановить и в открывшемся окне укажите bin-файл, из которого следует считать содержимое сектора.
Рис. 7.21. Представление загрузочного сектора в окне утилиты Просмотр секторов
После двух подтверждений с вашей стороны о корректности замены будет выполнена запись на диск.
В том случае, если повреждена и резервная копия загрузочного сектора, остается только один выход: отредактировать содержимое загрузочного сектора вручную. Для выполнения этой операции также пригодна утилита Просмотр секторов, но можно использовать и Norton DiskEdit. Распределение пространства загрузочного сектора логического диска NTFS представлено в табл. 7.5.
































