- Немного про UEFI и Secure Boot
- Secure Boot
- Устраняем синий экран с ошибкой UNMOUNTABLE BOOT VOLUME в Windows
- Что значит ошибка UNMOUNTABLE BOOT VOLUME в Windows?
- Как исправить UNMOUNTABLE BOOT VOLUME?
- Способ 1: сканирование жесткого диска и системы на ошибки
- Способ 2: восстановление загрузчика
- Способ 3: проверка оперативной памяти
- Способ 4: откат обновления Windows
- Способ 5: переустановка Windows
- Способ 6: проверка работоспособности диска и памяти
Немного про UEFI и Secure Boot
UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.
Основные отличия UEFI от BIOS:
- Поддержка GPT (GUID Partition Table)
GPT — новый способ разметки, замена MBR. В отличие от MBR, GPT поддерживает диски размером более 2ТБ и неограниченное количество разделов, в то время как MBR поддерживает без костылей только 4. UEFI по умолчанию поддерживает FAT32 с GPT-разделов. MBR сам UEFI не поддерживает, поддержка и загрузка с MBR осуществляется расширением CSM (Compatibility Support Module).
- Поддержка сервисов
В UEFI есть два типа сервисов: boot services и runtime services. Первые работают только до загрузки ОС и обеспечивают взаимодействие с графическими и текстовыми терминалами, шинами, блочными устройствами и т.д., а runtime services может использовать ОС. Один из примеров runtime services — variable service, который хранит значения в NVRAM. ОС Linux использует variable service для хранения креш дампов, которые можно вытащить после перезагрузки компьютера.
- Модульная архитектура
Вы можете использовать свои приложения в UEFI. Вы можете загружать свои драйверы в UEFI. Нет, правда! Есть такая штука, как UEFI Shell. Некоторые производители включают его в свой UEFI, но на моем лаптопе (Lenovo Thinkpad X220) его нет. Но можно его просто скачать из интернета и поставить на флешку или жесткий диск. Также существуют драйверы для ReiserFS, ext2/3/4 и, возможно, еще какие-то, я слишком не углублялся. Их можно загрузить из UEFI Shell и гулять по просторам своей файловой системы прямо из UEFI.
Еще UEFI поддерживает сеть, так что если найдете UEFI-драйвер к своей сетевой карте, или если он включен производителем материнской платы, то можете попинговать 8.8.8.8 из Shell.
Вообще, спецификация UEFI предусматривает взаимодействия драйверов UEFI из ОС, т.е. если у вас в ОС нет драйвера на сетевую карту, а в UEFI он загружен, то ОС сможет использовать сетевую карту через UEFI, однако таких реализаций я не встречал.
- Встроенный менеджер загрузки
В общем случае, для UEFI не требуется ставить загрузчик, если вы хотите мультизагрузку. Можно добавлять свои пункты меню, и они появятся в загрузочном меню UEFI, прямо рядом с дисками и флешками. Это очень удобно и позволяет грузить Linux вообще без загрузчика, а сразу ядро. Таким образом, можно установить Windows и Linux без сторонних загрузчиков.
Как происходит загрузка в UEFI?
С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.
Secure Boot
«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»
Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!
Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.
В Secure Boot есть 2 режима: Setup и User. Первый режим служит для настройки, из него вы можете заменить PK (Platform Key, по умолчанию стоит от OEM), KEK (Key Exchange Keys), db (база разрешенных ключей) и dbx (база отозванных ключей). KEK может и не быть, и все может быть подписано PK, но так никто не делает, вроде как. PK — это главный ключ, которым подписан KEK, в свою очередь ключами из KEK (их может быть несколько) подписываются db и dbx. Чтобы можно было запустить какой-то подписанный .efi-файл из-под User-режима, он должен быть подписан ключом, который в db, и не в dbx.
Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.
Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!
Источник
Устраняем синий экран с ошибкой UNMOUNTABLE BOOT VOLUME в Windows
Одной из очень распространенных ошибок, с которой может столкнуться каждый пользователь Windows, является синий экран с текстом «UNMOUNTABLE BOOT VOLUME». Синие экраны «смерти», как их называют в народе, никогда не приводят к чему-то хорошему. Если перевести именно эту ошибку, то система сообщает пользователю о том, что она не смогла смонтировать загрузочный том для дальнейшей обработки операционной системы. При возникновении такой ошибки на постоянной основе, можно прибегнуть к самостоятельным попыткам решить проблему.
Что значит ошибка UNMOUNTABLE BOOT VOLUME в Windows?
Каждый раз, когда пользователь нажимает кнопку питания и включает компьютер или ноутбук, система создает загрузочный том, который и является основой запуска ОС. Это означает, что предзагрузочная система BIOS инициирует формирование определенной файловой системы, которая уже является причиной дальнейшего запуска операционной системы и ее работы. Если монтаж загрузочной раздела не происходит, то и Windows работать не будет. Как правило, причиной ошибки UNMOUNTABLE BOOT VOLUME в Windows является повреждение файловой системы или загрузчика Windows. Но также проблема может быть с разделами самого жесткого диска, его физической неисправности или она заключается в повреждении некоторых системных файлов.
Как исправить UNMOUNTABLE BOOT VOLUME?
С данной проблемой можно обращаться к профессионалам и производить ремонтные процедуры через сервисный центр. Но можно попытаться все решить самостоятельно, есть несколько способов исправить эту проблему без специалистов. Все они требуют определенных навыков в работе с файловыми системами компьютера, но используя наши инструкции во всем может разобраться даже новичок.
Способ 1: сканирование жесткого диска и системы на ошибки
Так как загрузить операционную систему пользователь не может, то ему необходимо идти другим путем. В Windows есть специальная область для восстановления исходных параметров, через нее можно войти в командную строку, а там уже инициировать запуск проверки жесткого диска и системы на предмет ошибок. Для этого нужно выполнить следующие действия:
- Подключить к компьютеру загрузочную флешку Windows.
- На экране установки ОС зажать сочетание клавиш Shift+F10 чтобы открыть командную строку.
- В строке нужно ввести команду diskpart, а после этого команду list volume, чтобы отобразить все системные диски. Необходимо выбрать тот диск, который является системным, как правило, это диск С:, но буква может быть другой.
- Далее вводим команду chkdsk C: /F /R и нажимаем Enter, чтобы начать проверку диски на ошибки и исправить их автоматически.
- Необходимо дождаться полной проверки жесткого диска и файловой системы, это может потребовать немного времени.
После того как проверка будет закончена, можно перезагружать компьютер стандартным образом и вынимать загрузочную флешку. Если система загрузилась без синего экрана, то проблема была именно в ошибках файловой системы. Если сбой продолжает появляться, необходимо переходить к следующему способу решения проблемы.
Способ 2: восстановление загрузчика
Загрузчик Windows имеет отдельный раздел на жестком диске, где хранятся скрытые от пользователя файлы. Именно из них формируется загрузочный том и именно из-за них система может стартовать. В случае повреждения загрузчика система не будет запущена, а пользователь увидит на экране ту самую ошибку на синем фоне. Чтобы решить эту проблему, необходимо восстановить загрузочную область. Для этого следует проделать такие процедуры:
- Подключить к компьютеру загрузочную флешку Windows.
- На экране установки ОС нажмите «Восстановление системы».
- Выберите пункт «Поиск и устранение неисправностей».
- Выберите пункт «Восстановление при загрузке».
- Дождитесь автоматического восстановления загрузчика.
Если все прошло успешно, и вы увидели сообщение о том, что восстановление удачное, можно перезагружать систему в стандартном режиме. В случае, когда Windows запустилась, можно сделать вывод, что проблема была именно в загрузчике. В противном случае, необходимо переходить к следующему способу решения проблемы.
Способ 3: проверка оперативной памяти
Проблемы с оперативной памятью являются очень частой причиной возникновения данной ошибки, поэтому резонно проверить ее состояние. Это можно сделать штатными средствами операционной системы. Так как в саму Windows пользователь зайти не может, необходимо использовать все тот же загрузочный диск или флешку. Чтобы проверить оперативную память, выполните следующие действия:
- Подключить к компьютеру загрузочную флешку Windows.
- На экране установки ОС зажать сочетание клавиш Shift+F10 чтобы открыть командную строку.
- В командной строке введите команду mdsched и выберите «Выполнить проверку и перезагрузиться».
- Перед перезагрузкой вытяните загрузочный диск или флешку, чтобы загрузка произошла с системного носителя.
- Дождитесь окончания проверки.
Если проверка прошла и в отчете пользователь видит наличие ошибок, то ОЗУ придется менять. Если же проверка прошла и на экране есть сообщение о том, что проблем не обнаружено, то следует переходить к следующему способу решения проблемы.
Способ 4: откат обновления Windows
Одной из распространенных причин появления данной проблемы является неудачное обновление операционной системы Windows. Возможно, оно прошло неудачно, пропал интернет или электричество. В результате были повреждены некоторые системные файлы, а это уже и стало причиной того, что загрузочный том не может сформироваться. В этом случае необходимо откатить обновления Windows. Чтобы сделать это, выполните следующие действия:
- Подключить к компьютеру загрузочную флешку Windows.
- На экране установки ОС зажать сочетание клавиш Shift+F10 чтобы открыть командную строку.
- Ввести команду wmicqfelistbrief/format:table чтобы отобразить все обновления, которые есть в системе.
- Удалите выбранное обновление командой wusa /uninstall /kb:4578846, где в конце будет номер последнего обновления.
- Перезагрузите компьютер.
Если причина была именно в обновлении, то синий экран при загрузке больше не будет появляться. Если ошибка осталась, то необходимо переходить к более серьезным решениям.
Способ 5: переустановка Windows
Это довольно банальный способ решения проблемы, но он может оказаться самым эффективным. Переустановка Windows производится с загрузочной флешки, где необходимо дать согласие на формирование новой операционной системы. В этом случае будут перезаписаны все разделы диска, начиная от системного тома и заканчивая загрузочной областью. Чтобы выполнить чистую переустановку системы, необходимо изначально загрузиться в Windows через виртуальный диск и сохранить все данные с основного системного диска, ведь в ходе установки он может быть отформатирован.
Способ 6: проверка работоспособности диска и памяти
Для того, чтобы проверить физическую работоспособность диска и оперативной памяти, можно использовать сторонние программы. Тем не менее, есть и штатные средства для проверки этих носителей. Чтобы проверить оперативную память, необходимо зайти в командную строку и ввести команду mdsched, это инициирует проверку ОЗУ и выдаст результат на экран. Чтобы проверить жесткий диск, необходимо при загрузке компьютера нажимать клавишу F8, Esc или F12, чтобы зайти в Bios. В системных настройках необходимо найти пункт «Primary Hard Disk Self Test», это и есть штатная проверка жесткого диска. Изначально запускается быстрая проверка, потом более медленная и детализированная. В конце процедуры можно будет просмотреть отчет и понять, в каком состоянии находится носитель.
Все эти действия можно выполнить самостоятельно, необходимо только подготовить заранее загрузочную флешку или взять ту, с которой проводилась установка операционной системы ранее. Все эти действия направлены на то, чтобы восстановить нормальную загрузку Windows и избавиться от ошибки UNMOUNTABLE BOOT VOLUME на синем фоне.
Источник