Меню

Установка Windows на конвертированный из MBR в GPT диск без потери данных на несистемных разделах. Что выбрать – GPT или MBR? Объясняем чем отличаются стандарты Установить mbr на жестком диске

Сервисы

Ситуация следующая. Есть винт на 160Гб. На нем 2 раздела - 40Гб и 120Гб. С целью установки убунты как второй системы была произведена разбивка 120Гб -> 100+10+2+8.
Итоги
1. При загрузке системы выводится сообщение MBR helper not found;
2. fdisk показывает один большой 160Гб диск.

Дураку понятно, что это начало веселой ночи.
Далее, под катом, решения вопроса.

1. Восстановление таблицы разделов

1.1. Parted magic
Данный LiveCD\USB дистрибутив , размером в 100Мб несет в себе огромную кучу софта, для работы с дисками. От разбивки, до восстановления.
Из них всех, нам нужны будут gpart , testdisk , fdisk и ms-sys .
1.2. Gpart
gpart - это утилита, сканирующая по-секторно диск на наличие разделов, которые присутствуют на носителе, но отсутствуют в таблице. В своей работе, она игнорирует уже существующую таблицу (если присутствует). Программа разаботана немецким программистом Michail Brzitwa и больше им не поддерживается. Вялотекущая разработка ведется командами Fedora и Debian. Текущая версия - 0.1h.

Утилита позволяет наиболее быстро и легко восстановить таблицу разделов, но она несет в себе несколько недостатков. Во-первых, разработка была давно заброшена, во-вторых, она иногда не совсем корректно определяет разделы.

Gpart может работать в 2-х режимах. Это быстрый анализ и подробное сканирование. В некоторых случаях, первого режима достаточно. Мы же будем смотреть на второй.

Gpart -if /dev/sda

-i - интерактивный режим. На каждую найденную партицию будет задан вопрос, сохранять ее, либо пропустить.
-f - полный скан диска.

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

Begin scan...
Possible partition(DOS FAT), size(1907mb), offset(0mb)
Possible partition(SGI XFS filesystem), size(5730mb), offset(1907mb)
End scan.
Checking partitions...
Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary
Partition(Linux ext2 filesystem): primary
Ok.
Guessed primary partition table:
Primary partition(1)
type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
size: 1907mb #s(3906544) s(16-3906559)
chs: (0/1/1)-(1023/19/16)d (0/1/1)-(12207/19/16)r
Primary partition(2)
type: 131(0x83)(Linux ext2 filesystem)
size: 5730mb #s(11736000) s(3906560-15642559)
chs: (1023/19/16)-(1023/19/16)d (12208/0/1)-(48882/19/16)r
Primary partition(3)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)

Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Если все ОК, то соглашаемся на запись в таблицу разделов, скрещиваем пальцы и перезагружаемся.
В моем случае, программа определила разделы, которые были до разбивки (40 и 120), что не подходило и заставило искать альтернативные способы восстановления.

1.3. testdisk
Note: подробнее эта утилита описана в этом посте , здесь не буду повторяться.

Эта утилита аналогична предыдущей, но имеет ряд плюсов:
1. более свежая и активно поддерживается;
2. субъективно, работает намного быстрее;
3. функциональнее;
4. есть простой консольный интерфейс на базе ncurses.

Поехали!
1. в первом окне выбираем Create a new log file;
2. выбираем нужный диск (/dev/sda) -> Proceed;
3. отмечаем тип разделов как Intel;
4. выбираем Analyse current partition structure and search for lost partitions;
5. если найденные разделы верны, жмем Backup и переходим к пункту 6, есть возможность быстро пересканировать диск, если где-то ошибка (Quick search);
6. здесь уже виден зеленый список с разделами. Если ок, то записываем, иначе запускаем Deep search.;

В моем случае, результат был аналогичен результату gpart, что есть некорректен.
Запустив Deep search, выждав около 40 минут я получил ответ, от которого на душе так нехило отлегло.
Было найдено несколько партиций, которые накладывались одна на другую (это были изначальная (до манипуляций) 120Гб и новая, на 100Гб). Отметив ненужную, как удаленную, я записал таблицу на диск и перезагрузился. К счастью, все обошлось и компьютер вернулся к состоянию, который был изначально, а я мог с чистой совестью лечь спать.

3. Восстановление MBR

Для этой задачи, у нас в арсенале есть тулза ms-sys.
Сперва узнаем, что с нашей MBR.

Ms-sys /dev/sda
/dev/sda has an x86 boot sector
it is unknown boot sector

Теперь видно, что на данном диске нет загрузочного сектора.
Утилита может работать с MBR различных операционных систем. Список можно получить, запустив программу без агрументов. В моем случае, необходим был от Windows 7.
Записываем MBR на диск:

Ms-sys -7 /dev/sda
Windows 7 master boot record successfully written to /dev/sda

Проверяем:

Ms-sys /dev/sda
it is Microsof 7 master boot record, like the one this
program creates with the switch -7 on a hard disk device.

Вот и все, нужная MBR установлена и можно перезагружаться.

3. Outro

Этот пост пример того, как на пустом месте можно создать себе проблему и полночи заниматься не тем, чем надо. Но это дало неоценимый опыт, который я постарался изложить здесь.
Возможно, кому-нибудь он пригодится. Ведь в такую ситуацию попасть очень не сложно, а детального мануала особо-то и нет.

MBR и GPT . Основные вопросы.

MBR и GPT – определение.

Windows предлагает нам 2 опции: Master Boot Record (MBR) – Главная Загрузочная Запись – и Globally Unique Identifier Partition Table (GPT) – Глобально Уникальный Идентификатор Таблицы Разделов. Последняя получила поддержку, начиная с версий Vista/Windows Server 2008 . Однако Windows XP 64-х битная тоже поддерживала этот формат.

MBR – она же Master Boot Record – это основная загрузочная запись на жёстком диске. Находится она в самом начале винчестера, то есть в первых секторах жёсткого диска. Его задача – выбрать раздел диска, в котором будет загружаться операционная система (собственно, главная загрузочная запись для этого и была создана). Это делается с помощью короткого исполняющего кода, который BIOS после самодиагностики, выгружает в . Далее исполняющий код в MBR берёт бразды правления в свои руки и загружает ОС в указанном разделе жёсткого диска (информация о разделах также содержится в загрузочной записи). Кстати, именно поэтому главную загрузочную запись нельзя создать на диске, который нельзя разделить на части и наоборот, её можно создать там, где возможно деление носителя данных на несколько дисковых, пусть и виртуальных, устройств.

Если MBR повреждён, операционная система не запустится никогда. Если повреждена не только запись MBR, но и сектор с главной загрузочной записью – диск можно использовать только как подставку для чашек или разломать на магнитики и дать поиграть ребёнку.

MBR и GPT . Почему уходят от MBR?

В силу давности разработок, MBR не понимает, что такое большое дисковое пространство. Для MBR «большое» начинается с величины объёма в 2,2 терабайта. MBR, повторюсь, такие объёмы не читает и отображать не в состоянии. Далее, MBR воспринимает существование только четырёх первичных разделов (primary partition) или три первичных раздела плюс один расширенный. Таким образом, если разделов необходимо больше, то пользователю необходимо будет создать вторичную структуру на дисковом пространстве. Пользователю ПК она известна как расширенный раздел (extended partition) – то есть специальный тип раздела диска, представляющий собой расширение первичного раздела. Содержит главную загрузочную запись (MBR) с собственной таблицей разделов, а это позволяет не обращать внимания на ограничение этой таблицы и позволяет иметь на диске более четырёх разделов. На жёстком диске может быть, как вы уже догадались, несколько расширенных разделов. И уже после создания расширенного раздела приходится создавать один или несколько разделов логических… Вобщем, правила разбиения на разделы для MBR сложны и ограничены. Поэтому в борьбе таблиц MBR и GPT на смену главной загрузочной записи повсеместно идёт GPT.

MBR и GPT . Что такое GPT?

GPT – GUID (Globally Unique Identifier) Partition Table – таблица разделов глобально (статически) уникального идентификатора. Выражаясь технически, GPT использует более современную систему адресации логических блоков, что позволяет не просто преодолеть планку в 2,2 Тб, но и создавать и успешно обрабатывать диски объёмом чуть более 9 зеттабайт, то есть об ограничении по объёму для создаваемому разделу можно забыть. Кроме того, GPT более надежна, ибо оглавление и таблица разделов диска записаны и в начале, и в конце диска. Если один из них повреждён, второй восстанавливается по образу и подобию уцелевшего. Это отнимает определённое «жизненное» пространство у винчестера, а, следовательно, и у нас с вами, так что небольших объёмов диски вполне жизнеспособны одновременно с MBR и GPT . GPT имеет смысл целенаправленно ставить только на дисках с объёмом от 500 Гбайт (лучше ещё больше).
Далее, благодаря нововведениям, теперь и само количество разделов на винчестере неограниченно. 128 версий операционных систем Windows на одном компьютере не имеют, конечно, смысла, но в некоторых случаях установка сразу нескольких операционных систем разных поколений вполне оправдана. Хотя, говоря про разные поколения, я имею ввиду только последние версии Windows, начиная с Vista. Да, ОС до XP в 32-х битной версии включительно GPT не поддерживаются. И, конечно, не забудьте о проблеме порогового значения в 2 Тбайта, если вы являетесь счастливым обладателем таких объёмов информации. Вот здесь и начинает всплывать вопрос о конвертировании обратно в MBR, который я рассмотрю чуть позже. Единственное, о чём я упомяну сразу – что вопросы о таблице разметки винчестера (MBR и GPT) и установленном базовом программном обеспечении материнской платы (BIOS или UEFI) в процессе установки операционной системы стоят в неразрывной связи.

MBR и GPT . Сравнение.

А какая мне-то разница?

Если у вас не мультизагрузка, то почти никакой. Как вы уже поняли, современные операционные системы семейства Windows замечательно работают под управлением обеих файловых таблиц. Просто при установке операционных систем или рассмотрении варианта мультизагрузочной версии (вам понадобится MBR) компьютера пользователю нужно помнить несколько моментов:

  • GPT – более современная
  • GPT будет требовать от Windows, чтобы та загружалась только в режиме (про прежние загрузчики придётся забыть)
  • MBR требует от прежних поколений Windows загрузки в режиме BIOS (впрочем, 64-битные версии могут загружаться и режиме UEFI)

На этом теоретическую часть про MBR и GPT я предлагаю закончить и перейти к практическим вопросам установки операционных систем и конвертирования таблиц дисков:

Как узнать, какая версия таблицы у меня?

Проверить, как всегда, легко. Зажимаем клавиши Windows + R , вводим команду diskmgmt.msc . В окне консоли выберем слева Управление дисками . Выберите любой из разделов, щёлкните правой кнопкой мыши и нажмите Свойства (это же окно можно обнаружить прямо из Проводника системы со списком локальных дисков):

В окне из присутствующих дисков (там все) выберите интересующий жёсткий и снова дважды по нему щёлкните. Появится окно свойств для конкретного диска, где вы найдёте вкладку Тома . В ней найдём кнопку Заполнить :

Можно зайти с другой стороны. Утилита от Windows

В консоли набираем последовательно команды:

Diskpart list disk

И что видим? Под идентификатором GPT ничего нет, значит этот стиль раздела отношения к данному диска никакого не имеет:

Успехов нам всем

Прочитано: 283

Привет друзья! В последней версии Windows 10 появилась (GPT в MBR утилита не конвертирует), но конвертировать можно только жёсткие диски с установленной операционной системой. Если установлена Windows 10 , то можно конвертировать в онлайне и offline. Windows 7 и Win 8 только в offline, Висту конвертировать не пробовал. Но если есть нужда конвертировать жёсткий диск без операционной системы, то это можно сделать так.

В Управлении дисками видно, что у меня 3 физических диска. Два имеют разметку GPT. Один разметку MBR.

На диск c разметкой MBR я решил установить операционную систему Windows 8.1 и для этого освободил на нём место.

У меня есть три варианта установки. Установить OS со своим загрузчиком на диске MBR , но тогда установленная OS будет загружаться в режиме Legacy. Мне это не совсем удобно, так как у меня уже установлены OS на диски GPT и загружаются они в режиме UEFI.

Второй вариант, установить OS на диск MBR , а загрузчик создать на разделе EFI. В этом случае у меня не будет независимого (отдельного) загрузчика. Я Выбрал третий вариант установки. В Windows 10 (в которой я сейчас работаю) в версии 1703 появилась утилита MBR2GPT, которая умеет конвертировать диски MBR в GPT. Конвертировать можно только жёсткие диски с установленной OS и загрузчиком на этом диске. Windows 10 можно конвертировать в режиме online и offline. Windows 7 и Win 8 можно конвертировать только в режиме offline. Windows 8.1, которую я собираюсь установить, будет в offline, что без проблем позволит мне конвертировать диск MBR в GPT.

Начнём с того, что создадим раздел, присвоим букву и создадим метку.

Щёлкаем правой мышью на нераспределённом пространстве и выбираем "Создать простой том".

Назначаем букву диска (S:).

Присваиваем метку тома - OS.

Теперь нам нужно сделать раздел активным, но в Управлении дисками сделать это не получилось.

Сделаем это в командной строке с помощью diskpart.

Теперь нужно распаковать (развернуть) архив операционной системы, находящийся в дистрибутиве windows в файле install.wim(esd), на созданный раздел и создать загрузчик. Обычно я использую для этого средства windows утилиты dism и bcdboot, но эти утилиты не имеют графического интерфейса и для того, чтобы лучше показать последовательность действий использую утилиту WinNTSetup, которая имеет графический интерфейс. Сначала монтирую в виртуальный привод (F:) ISO c дистрибутивом Windows 8.1.

После этого запускаю утилиту WinNTSetup.

В появившемся окне выбираю путь к установочным файлам Windows 8.1. Установочные файлы, это архив OS Install.wim. В моём случае install.wim находится в виртуальном приводе (F:) в папке sources.

По умолчанию WinNTSetup для загрузчика выбирает локальный диск (том, раздел) с загрузчиком работающей системы, но мне нужен загрузчик на другом жёстком диске. На MBR дисках загрузчик можно создать только на активном разделе. Активным я сделал раздел (S:) метка OS. Выбираю этот раздел.

Почему WinNTSetup не понравился активный раздел не понял.

Теперь нужно указать раздел, в который будет установлена OS. В моём случае это раздел (S:).

Нажимаем "Установка" и выбираем загрузчик MBR (пункт BIOS).

Начнётся распаковка файлов и создание загрузчика,

затем предложение перезагрузить компьютер для продолжения установки. Продолжать установку в режиме Legacy я не хочу и нажимаю "Отмена".

Продолжить установку я решил в режиме UEFI. С помощью утилиты MBR2GPT проверяю всё ли я сделал правильно. Команда

mbr2gpt /disk:1 /validate /allowFullOS

Перезапись основной загрузочной записи (Master Boot Record ) позволяет не только восстановить её (при необходимости), но и расправиться с .

Восстановление (перезапись) основной загрузочной записи (Master Boot Record ) в автоматическом режиме

– установите в лоток привода загрузочный диск (или );

– нажмите Ctrl+Alt+Del ;

Delete для входа в CMOS Setup Utility ;

– установите загрузку с CD /DVD-ROM , нажмите F10 , санкционируйте сделанные изменения, начнется перезагрузка;

, нажмите любую клавишу;

– в окне Windows Boot Manager выберите Windows Setup /Установка Windows –> нажмите Enter ;

US ), нажмите Next ;

их установлено 2 или более);

– установите переключатель Use recovery tools that can help fix problems starting Windows –> Next ;

– в следующем окне – System Recovery Options (Параметры восстановления системы ) – доступны опции:

· Startup Repair (Automatically fix problems that are preventing Windows from starting );

· System Restore (Restore Windows to an earlier point in time );

· System Image Recovery (Recover your computer using a system image you created earlier );

· Windows Memory Diagnostic (Check your computer for memory hardware errors );

· Command Prompt (Open a command prompt window );

– выберите Startup Repair ;

– средство восстановления запуска Startup Repair проведёт диагностику и устранение неполадок;

– (если проблемы не будут выявлены, появится сообщение «Startup Repair could not detect a problem» );

– нажмите Finish –> Restart ;

– во время перезагрузки нажмите Delete для входа в CMOS Setup Utility ;

– установите загрузку с жёсткого диска, нажмите F10 ;

Восстановление (перезапись) основной загрузочной записи (Master Boot Record ) с помощью

установите в лоток привода загрузочный диск (или );

– нажмите Ctrl+Alt+Del ;

– во время перезагрузки нажмите Delete для входа в CMOS Setup Utility ;

– установите загрузку с CD /DVD-ROM , нажмите F10 , санкционируйте сделанные изменения, начнётся перезагрузка;

– после перезагрузки, если появится сообщение «Press any key to boot from CD or DVD…» , нажмите любую клавишу;

– в окне Windows Boot Manager выберите Windows Setup /Установка Windows –> нажмите Enter ;

– когда программа установки загрузит установочные файлы в оперативную память, появится окно выбора раскладки клавиатуры (можете выбрать русскую, а можете оставить US ), нажмите Next ;

– в следующем окне выберите операционную систему (если на вашем их установлено 2 или более);

– установите переключатель Use recovery tools that can help fix problems starting Windows –> Next ;

– в окне System Recovery Options (Параметры восстановления системы ) выберите Command Prompt ;

Форматирование жестких дисков выполняется в три этапа:

    низкоуровневое форматирование (физическая разметка диска на цилиндры, дорожки, секторы);

    разбиение диска на разделы (логические устройства):

    высокоуровневое (логическое) форматирование каждого раздела.

На этапе низкоуровневого форматирования процессор, выполняя программу форматирования, поочередно передает в контроллер жесткого диска сначала команду "Поиск" для установки головок накопителя на нужный цилиндр, а затем посылает команду "Форматировать дорожку". Выполняя команду "Форматировать дорожку" контроллер жесткого диска, получив из накопителя импульс "Индекс" (начало дорожки), производит запись служебного формата дорожки, который разбивает ее на секторы. Каждый сектор содержит в себе блок данных (512 байт), обрамленный служебным форматом сектора (содержание к размер служебного формата определяется конкретной фирмой-разработчиком данного устройства). Служебный формат дорожки и секторов необходим контроллеру жесткого диска при выполнении команд. Читая и расшифровывая поля служебного формата, контроллер находит на диске нужный цилиндр, поверхность, сектор и блок данных внутри сектора. На следующих этапах форматирования в блоки данных ряда секторов записывается системная информация, которая обеспечивает организацию разделов на диске, автоматическую загрузку операционной системы и поддержку файловой системы на диске.

На этапе разбиения диска на разделы в блоке данных первого физического сектора диска (0 цилиндр, 0 поверхность, 1 сектор) с адреса 1BEh формируется таблица разделов (Partition table), состоящая из 4-х шестнадцатибайтных строк. Обычно системную информацию, записанную в блок данных этого сектора в процессе форматирования, называют Master Boot Record (MBR).

С самого начала блока данных этого сектора располагается программа (IPL 1). Переход на программу IPL 1 процессор осуществляет после успешного завершения POST и программы "Начального загрузчика", выполняя которую процессор загружает с диска в память MBR, и передает управление на начало MBR (на программу IPL 1), продолжая действия ведущие к загрузке операционной системы. Программа IPL 1 (загрузчик), находящаяся в MBR просматривает строки таблицы разделов в поисках активного раздела с которого возможна загрузка операционной системы. Если в таблице разделов нет активного раздела, выдается сообщение об ошибке. Если хотя бы один раздел содержит неправильную метку, либо несколько разделов помечены как активные, выдается сообщение об ошибке Invalid partition table, и процесс загрузки останавливается. Если активный раздел обнаружен, то анализируется загрузочный сектор этого раздела. Если найден только один активный раздел, то содержимое блока данных его загрузочного сектора (BOOT) читается в память по адресу 0000:7С00 и управление передается по этому адресу, если загрузочный сектор активного раздела не читается за пять попыток, выдается сообщение об ошибке: Error loading operating system и система останавливается; проверяется сигнатура считанного загрузочного сектора активного раздела и если последних два его байта не соответствуют сигнатуре 55AAh, выдается сообщение об ошибке: Missing operating system и система останавливается). Процессор читает по адресу 0000:7С00 команду JMP, выполняя ее, передает управление на начало программы IPL 2, которая осуществляет проверку, действительно ли раздел активный: IPL 2 проверяет имена и расширения двух файлов в корневом каталоге - это должны быть файлы IO.SYS и MSDOS.SYS (NTLDR для Windows NT), загружает их и. т. д.

Система Windows 9x во многом основана на тех же концепциях, что и DOS, но в ней эти концепции получили дальнейшее логическое развитие. Те же два системных файла IO.SYS и MSDOS.SYS, но теперь вся системная программа находится в IO.SYS , а второй файл MSDOS.SYS содержит ASCII-текст с установками, управляющими поведением системы при загрузке. Эквиваленты программ Himem.sys. Ifshlp.sys и Setver.exe автоматически загружаются программой IO.SYS при запуске системы. Как и прежде, для загрузки в память драйверов и резидентных программ можно использовать файлы Config.sys и Autoexec.bat, но загрузку 32-разрядных драйверов устройств, которые разработаны специально для Windows 9x, теперь обеспечивают записи в системном реестре. Когда вся предварительная работа выполнена, запускается файл Win.com, и Windows 9x загружается и предоставляет свои возможности через графическое меню.

Системный реестр является базой данных, в которой Windows 9x хранит информацию обо всех настройках, конфигурационных установках и параметрах, необходимых для работы ее собственных модулей и отдельных приложений. Системный реестр как бы выполняет функции Config.sys, Autoexec.bat и ini-файлов Windows 3.1 вместе взятых. На диске компьютера реестр хранится в виде двух отдельных файлов: System.dat и User.dat. В первом из них содержатся всевозможные аппаратные установки, а во втором - данные о работающих в системе пользователях и используемых ими конфигурациях. Каждый пользователь может иметь свой файл User.dat, т.е. собственную рабочую среду, которую он настраивает по своему вкусу и потребностям. Системный реестр можно импортировать, экспортировать, а также создавать его резервные копии и, используя их, восстанавливать сохраненные данные - одним словом, это довольно мощный механизм управления системными параметрами и их защиты от потерь и повреждений.

Таблица 3. Компоненты MBR

Область

Описание

Программа IPL 1 (программа загрузчика занимает зону от адреса 00h до 1BEh)

Код программы Сообщения об ошибках (Error Messages):

    Invalid Partition Table (неправильная таблица разделов).

    Error loading operating system (ошибка при загрузке операционной системы)

    Missing operating system (операционная система отсутствует).

Таблица разделения физического диска на логические устройства (Partition Tables) (4 строки по 16 байт = 64 байта) занимает зону с адреса 1BEh до 1FDh

1 строка (16 байт):

    Флаг загрузки (80h - активный / 00h -обычный раздел) - 1 байт

    Начальный физический сектор раздела (головка, сектор и цилиндр) - 3 байта

    Тип раздела -1 байт

    Конечный физический сектор раздела (головка, сектор и цилиндр) - 3 байта

    Число секторов предшествующих разделу - 4 байта

    Общее количество секторов в данном разделе - 4 байта

2 последних байта в блоке данных сектора с адреса 1FE по 1FF- концевая сигнатура (Ending Signature)

55АА - отмечает конец MBR. Проверяется программой начального загрузчика

Область MBR, изменившаяся в FAT32 - это Partition Table. Она, как и прежде, состоит из четырех 16-байтных записей. Каждая запись определяет раздел. В FAT32 введено 2 новых типа разделов DOS32 (0В) и DOS32X (ОС).