Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Главное – не впадайте в панику и не совершайте скоропалительных действий. От того, броситесь вы восстанавливать разделы сразу же после возникновения проблемы или спустя неделю, ничего не изменится. А вот последствия ошибок могут быть весьма плачевными. Поэтому сначала попытайтесь «вычислить», что же произошло, и на основании этого составьте план восстановительных мероприятий. Постарайтесь предугадать возможные проблемы, а также подготовьте «точки отката» для каждого шага (например, сохраняя образ текущего MBR, хоть он и может выглядеть совершенно бесполезным). Только после этого приступайте к спасению своих данных.
Удачи вам и крепких нервов!
Приложение
Соглашение о терминах
Если говорить о процессе загрузки, то английский язык оказывается здесь несколько богаче русского. В нем есть два термина – booting и loading, описывающих разные этапы загрузки ОС. Мы же вынуждены «плясать» вокруг одного слова – «загрузка», поэтому приведу небольшой словарик, которого будем придерживаться в этой статье (в скобках указаны синонимы):
n Первичный загрузчик (MBR-код) – загрузочный код, размещаемый в MBR.
n Вторичный загрузчик (boot-код) – загрузочный код, размещаемый в boot-секторе раздела.
n Загрузчик ядра (loader) – программа, загружающая ядро ОС.
Термин «загрузчик» в зависимости от контекста может обозначать либо один из указанных кодов, либо весь набор программ, отвечающих за загрузку системы (например, BSD-загрузчик).
Сказание о 1024 цилиндре
С давних времен умудренные опытом системные администраторы передают своим молодым коллегам наказ – не ставить операционную систему за пределами 1024 цилиндра. Что же это за магический цилиндр и насколько проблема актуальна в наши дни?
Если посмотреть на структуру таблицы разделов (таблица 2), то будет видно, что при CHS-адресации там отводится 6 бит для номера сектора, 8 – для головки и 10 – для цилиндра. В результате мы получаем естественное (для BIOS) ограничение на адресуемое пространство: 63 сектора * 256 головок * 1024 цилиндра (те самые) * 512 байт в секторе = 8 455 716 864 байт (диск около 8,4 Гб (как правило, производители винчестеров используют «математику» 1 Кб = 1000 байт (а не 1024), что, безусловно, более выгодно по маркетинговым соображениям)). Код первичного загрузчика, если он для работы с диском использует функцию BIOS INT13 (которая как раз и руководствуется CHS-адресацией), просто не сможет «дотянуться» до раздела, размещенного за указанным пределом.
В современных BIOS используется, как правило, расширенное прерывание INT13, позволяющее обойти это ограничение. В этом случае для доступа к разделу используется преобразование геометрии «на лету» (например, для цилиндра 1800 и головки 16 возвращается «законный» номер цилиндра 900 и головка 32). Кроме того, некоторые менеджеры загрузки способны самостоятельно рассчитывать местоположение разделов, основываясь на «линейных» координатах, именуемых также LBA – Linear Block Addressing (для указания первого сектора раздела в DPT отводится 4 байта, что позволяет адресовать порядка 2 Тб данных: 232 сектора * 512 байт). Например, так ведет себя LILO в случае использования опции linear в файле lilo.conf.