Device mapping table не загружается windows

Обновлено: 07.07.2024

Запорол свой планшет на Windows 8! Пытался отформатировать с него внешний HDD в FAT32 с помощью программы fat32format, что-то неаккуратно нажал, планшет ушёл в ребут и теперь Windows не загружается. При стандартной загрузке постоянно грузится EFI Shell со следующим текстом:

EFI Shell version 2.31.[4660.22136]
Current running mode 1.1.2
Device mapping table

Press ESC in 1 seconds to skip startup.nsh, any other key to continue.
Shell> _

В BIOS зайти можно, жесткий диск там отображается корректно.

Кто сможет помочь? Подъеду с планшетом в удобное для вас время, при положительном эффекте отблагодарю!

Помогите!

Запорол свой планшет на Windows 8! Пытался отформатировать с него внешний HDD в FAT32 с помощью программы fat32format, что-то неаккуратно нажал, планшет ушёл в ребут и теперь Windows не загружается. При стандартной загрузке постоянно грузится EFI Shell со следующим текстом:

EFI Shell version 2.31.[4660.22136]
Current running mode 1.1.2
Device mapping table

Press ESC in 1 seconds to skip startup.nsh, any other key to continue.
Shell> _

В BIOS зайти можно, жесткий диск там отображается корректно.

Кто сможет помочь? Подъеду с планшетом в удобное для вас время, при положительном эффекте отблагодарю!

Помогите!

Прежде чем начать установку Red Hat Enterprise Linux на платформе Itanium, вы должны получить общее представление об оболочке EFI Shell, понять, что она делает, и какую информацию она предоставляет.

Оболочка EFI представляет собой консольный интерфейс для запуска приложений (например, программы установки Red Hat Enterprise Linux), загрузки протоколов EFI и драйверов устройств и выполнения простых сценариев. Она похожа на консоль DOS и может работать только с носителями, отформатированными в системе FAT16 (VFAT).

Оболочка EFI также содержит стандартные утилиты, которые могут применяться в системном разделе EFI. В их число входят edit , type , cp , rm и mkdir . Список утилит и других команд можно получить, выполнив в приглашении оболочки EFI команду help .

Оболочка EFI содержит загрузчик ELILO. Дополнительную информацию об EFI можно найти по адресу:

С помощью команды map можно просмотреть список всех устройств и файловых систем, воспринимаемых оболочкой EFI. Когда на вашем компьютере Itanium загружается оболочка EFI, оборудование опрашивается в следующем порядке:

LS-120 привод (если он содержит носитель)

Жёсткие диски IDE на первичном IDE-контроллере

Жёсткие диски IDE на вторичном IDE-контроллере

Жёсткие диски SCSI на SCSI-контроллере

Приводы CD-ROM с интерфейсом IDE

Приводы CD-ROM с интерфейсом SCSI

Чтобы просмотреть результаты этого опроса оборудования, введите в приглашении оболочки EFI следующую команду:

Порядок результатов соответствует порядку опроса оборудования. В итоге, сначала идут все файловые системы FAT16, затем жёсткие диски IDE, затем жёсткие диски SCSI, затем IDE-приводы CD-ROM и, наконец, SCSI-приводы CD-ROM.

Например, результат команды map может выглядеть так:

Device mapping table fs0 : VenHw(Unknown Device:00)/HD(Part1,Sig00000000) fs1 : VenHw(Unknown Device:80)/HD(Part1,Sig00000000) fs2 : VenHw(Unknown Device:FF)/CDROM(Entry1)/HD(Part1,Sig00000000) blk0 : VenHw(Unknown Device:00) blk1 : VenHw(Unknown Device:00)/HD(Part1,Sig00000000) blk2 : VenHw(Unknown Device:80) blk3 : VenHw(Unknown Device:80)/HD(Part1,Sig00000000) blk4 : VenHw(Unknown Device:80)/HD(Part2,Sig00000000) blk5 : VenHw(Unknown Device:80)/HD(Part3,Sig00000000) blk6 : VenHw(Unknown Device:80)/HD(Part3,Sig00000000)/HD(Part1,Sig725F7772) blk7 : VenHw(Unknown Device:FF) blk8 : VenHw(Unknown Device:FF)/CDROM(Entry1) blk9 : VenHw(Unknown Device:FF)/CDROM(Entry1)/HD(Part1,Sig00000000)

В этом примере, в приводе LS-120 находится LS-120, также в приводе CD-ROM находится компакт-диск. Все строки, начинающиеся с fs , обозначают файловые системы FAT16, распознаваемые EFI. Все строки, начинающиеся с blk , описывают блочные устройства, распознаваемые EFI. И файловые системы, и блочные устройства перечислены в порядке их опроса. Таким образом, fs0 – системный раздел на диске LS-120, fs1 – системный раздел жёсткого диска, а fs2 – системный раздел компакт-диска.

Берете эту прошивку и разархивируете на диск C:.Берете эти драйвера и устанавливаете на ПК.

Затем устанавливаете прошивку в строгом соответствии с этой инструкцией, только вместо режима Droidboot как в инструкции

вы вводите планшет в режим Fastboot starting - на выключенном планшете зажать обе клавиши громкости

и затем зажать кнопку питания, все три держать до вибро затем питание отпустить клавиши громкости держать.

На черном экране появится надпись Fastboot starting. В этом состоянии и подключаете к ПК для прошивки.

Драйвера из инструкции ставить не нужно если поставите мои. Обратите внимание что устройство для прошивки должно

определяться в диспетчере устройств ПК как указанно на скрине в инструкции, если будет по другому то не прошьется.

И не забудьте Force sparsing выставить на 500MB.

что они там намутили?
если знаете, какой клавишей входить в BIOS ноутбука, начинайте КАК МОЖНО БЫСТРЕЕ клацать по ней,
после того, как нажали кнопку включения ноута.
Измените порядок запуска (выставьте там свою операционку как основную) 1. Набить "друзьям" морду. 2. При загрузке бука жмакать F11 или F12 . Должно открыться бут меню. Там выберешь uefi и попадёшь в биос. Теперь внимательно шарь где отключается uefi. Это может быть Security, далее в Secure Boot жмите Disabled
Выберите Boot, далее в Boot Mode жмите Legacy

Берете эту прошивку и разархивируете на диск C:.Берете эти драйвера и устанавливаете на ПК.

Затем устанавливаете прошивку в строгом соответствии с этой инструкцией, только вместо режима Droidboot как в инструкции

вы вводите планшет в режим Fastboot starting - на выключенном планшете зажать обе клавиши громкости

и затем зажать кнопку питания, все три держать до вибро затем питание отпустить клавиши громкости держать.

На черном экране появится надпись Fastboot starting. В этом состоянии и подключаете к ПК для прошивки.

Драйвера из инструкции ставить не нужно если поставите мои. Обратите внимание что устройство для прошивки должно

определяться в диспетчере устройств ПК как указанно на скрине в инструкции, если будет по другому то не прошьется.

Добрый день! В этой статье я расскажу о восстановлении UEFI запуска Windows 8/8.1/10, а так же о том что же такое UEFI. Поехали!

Вспомните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? Это были насколько помню 1990 годы. И все было неизменным, менялись только характеристики оборудования. Но развитие серверов и технологий толкнули Intel к разработке EFI.

Изначально EFI создавалась для первых систем Intel-HP Itanium в середине 1990-х годов. Ограничения PC-BIOS были, очевидно, недопустимы в больших серверных платформах, для использования в которых планировался Itanium. После того как Intel передала разработку UEFI Forum (альянс AMD, American Megatrends, ARM, Apple, Dell, Hewlett Packard Enterprise, HP Inc., IBM, Insyde Software, Intel, Lenovo, Microsoft, Phoenix Technologies). 7 января 2007 года была выпущена первая версия универсальной платформы UEFI 2.1. И впервые на смену пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

Терминология

MBR («Master Boot Record» — основная загрузочная запись) использует 32-битные идентификаторы для разделов, которые размещаются в очень маленьком кусочке пространства (64 байта) в самом начале диска (в конце первого сектора диска). Из-за такого маленького объёма поддерживаются только четыре первичных раздела. Поскольку используется 32-битная адресация, то каждый раздел может быть не более 2,2 ТБ. Кроме того, загрузочная запись не имеет никакой запасной MBR, так что если приложение перезапишет основную загрузочную запись, то вся информация о разделах будет потеряна.

GPT («GUID Partition table» — таблица разделов GUID) использует уже 64-битные идентификаторы для разделов, поэтому кусочек пространства, в котором сохраняется информация о разделах, уже больше чем 512 байт, кроме того, не существует ограничения на количество разделов. Заметьте, ограничение на размер раздела в этом случае почти 9,4 ЗБ (да-да, вы всё прочитали правильно — зеттабайт, единичка с двадцатью одним нулём!). А в конце диска имеется копия GPT, которая может использоваться для восстановления повреждённой основной таблицы разделов в начале диска.

Как происходит загрузка в UEFI?

С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию загружается и запускается файл \efi\boot\boot[название архитектуры].efi, например: \efi\boot\bootx64.efi.
То есть чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней активный FAT32-раздел и скопировать все файлы с компакт-диска с дистрибутивом операционной системы
Пример создания GPT диска в Linux:

  • gdisk: создать раздел, указав тип EFI System (EFI System в fdisk или ef00 в gdisk). Затем отформатировать его в файловую систему FAT32 командой mkfs.fat -F32 /dev/<раздел диска>;
  • GNU Parted: создать раздел FAT32 и затем установить (активировать) загрузочный флаг (но не флаг legacy_boot) на этот раздел.

Также в большинстве реализаций UEFI возможна загрузка в режиме совместимости с диска с разметкой MBR.

Менеджер загрузки

Менеджер загрузки EFI используется для выбора и загрузки ОС, исключая потребность в специализированном механизме загрузки (загрузчик ОС является приложением EFI). То есть сам загрузчик к которому мы так сильно привыкли, ни куда не делся. Он теперь универсальный для всех операционных систем и находится в ПЗУ основной прошивки системной платы (где раньше был BIOS). И для того что бы загрузить нужную нам операционную систему, нужно всего лишь загрузочный файл с расширением .efi на загрузочном разделе. Теперь нет надобности в загрузочной записи в MBR, вот и все!

Восстанавливаем запуск

Чтобы восстановить конфигурацию загрузчика (BCD), необходимо загрузится с оригинального установочного DVD диска с Windows 8
(или диска восстановления, или специально подготовленной загрузочной флешки)
и открыть окно командной строки: выбрав Восстановление системы -> Диагностика -> Командная строка (System Restore – > Troubleshoot-> Command Prompt ),
или нажав комбинацию клавиш Shift + F10 .

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

diskpart


list volume


Выберите загрузочный раздел (100mb, и файловая система у него FAT32)

select volume 3


format fs=fat32 (форматируем загрузочный раздел, перед копированием новых загрузочных файлов).

assign letter=Z (присваиваем букву Z этому разделу).


exit (выходим из Diskpart)


Если у вас несколько OC Windows , повторите команду для второй копии (с новым расположением файлов).

diskpart

list volume

select volume N (номер скрытого раздела, которому мы присваивали букву)

remove letter=Z (удаляем букву, чтобы том не отображался в системе, когда мы перезагрузимся).

exit (выходим из diskpart).

Перезагружаемся, извлекаем все носители. И грузимся в обычном режиме. Если все сделано правильно, система начнет загрузку.

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?

Я обещал "самое краткое руководство". Вот оно:

  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Как делать не надо

Есть, на самом-то деле, несколько способов настроить UEFI-загрузку. Я начну с описания других вариантов — чтобы было понятно, как (и почему) делать не надо. Если вы пришли за руководством — мотайте в самый низ.

Не надо лезть в NVRAM и трогать efivars

Наиболее "популярная" процедура установки загрузчика в систему такова: установщик ОС создаёт специальный раздел, на нём — структуру каталогов и размещает файлы загрузчика. После этого он с помощью особой утилиты (efibootmgr в linux, bcdedit в windows) взаимодействует с прошивкой UEFI-чипа, добавляя в неё загрузочную запись. В этой записи указывается путь к файлу загрузчика (начиная от корня файловой системы) и при необходимости — параметры. После этого в загрузочном меню компьютера появляется опция загрузки ОС. Для linux существует возможность вообще обойтись без загрузчика. В загрузочной записи указывается путь сразу к ядру вместе со всеми параметрами. Ядро должно быть скомпилировано с опцией EFISTUB (что давно является стандартом для большинства дистрибутивов), в этом случае оно содержит в себе заголовок "исполняемого файла EFI", позволяющий прошивке его запускать без внешнего загрузчика.

При старте системы, когда пользователь выбирает нужную ему загрузочную запись, прошивка UEFI сперва ищет на прописанном в этой записи диске особый EFI-раздел, обращается к файловой системе на этом разделе (обязательно FAT или FAT32), и запускает загрузчик. Загрузчик считывает из файла настроек свой конфиг, и либо грузит ОС, либо предоставляет загрузочное меню. Ничего не замечаете? Да, у нас два загрузочных меню — одно на уровне прошивки чипа UEFI, другое — на уровне загрузчика. В реальности о существовании второго пользователи могут даже не догадываться — если в меню всего один пункт, загрузчик Windows начинает его грузить без лишних вопросов. Увидеть экран с этим меню можно, если поставить вторую копию Windows или просто криво её переустановить.

Обычно для управления загрузочными записями руководства в интернете предлагают взаимодействовать с прошивкой UEFI. Есть аж пять основных вариантов, как это можно сделать: efibootmgr под linux, bcdedit в windows, какая-то софтина на "Маках", команда bcfg утилиты uefi shell (запускается из-под UEFI, "на голом железе" и без ОС, поскольку скомпилирована в том самом особом формате) и для особо качественных прошивок — графическими средствами UEFI (говоря популярным языком, "в настройках BIOS").

За всеми вышенаписанными "многобуков" вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате. Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще. По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля. Я лично в процессе экспериментов неоднократно (к счастью, обратимо) "кирпичил" свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию "зайти в настройки".

Работа с загрузочными записями UEFI — тоже не сахар. К примеру, утилита efibootmgr не имеет опции "редактировать существующую запись". Если ты хочешь немного изменить параметр ядра — ты удаляешь запись целиком и добавляешь её снова, уже измененную. При этом строка содержит в себе двойные и одинарные кавычки, а также прямые и обратные слеши в не особо очевидном порядке. Когда я наконец заставил эту магию работать — я сохранил её в виде bash-скриптов, которые до сих пор валяются у меня в корневой ФС:

Не надо использовать GRUB

Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию

Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой

Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.

"Самое краткое руководство" — чуть более подробно

Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI

Что такое "EFI-раздел"? В теории, он должен иметь особый тип "EFI System" (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).

Пункт 3: "Скачиваем из интернета любой UEFI-загрузчик". Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг. К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian. Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.

Пункт 4: "Настроить конфиг". Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог "loader", а в нём файл "loader.conf" с тремя строчками (привожу свои):

Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.

Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:

Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.

Другие загрузчики

systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.

Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.

Различные неочевидные последствия

Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.

Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.

Читайте также: