Использование новых NVMe SSD в качестве загрузочного диска на старых системах с Legacy BIOS (для любой ОС)

17.03.2019Блоги

kak-ispolzovat-sdd-nvme-v-kachestve-sistemnogo-zagruzochnogo-diska-dlya-windows-10_17-03-19-11-42-26.jpg

Итак, вы обновили своё «железо», например, купив не самую дорогую материнскую плату Asus TUF H370 Pro Gaming. Вполне разумный выбор, который даст вам возможность собрать новый ПК, используя самые современные процессоры Intel, при необходимости использовать наработки компании в области Optane-памяти, а также поставить высокоскоростной SSD NVMe вместо жёсткого диска или вместо всё ещё актуального, но уже медленного классического SATA SSD. Именно в случае с NVMe вас может подстерегать проблема.

Скоростной SSD в первую очередь стоит использовать для установки системы, чтобы летали и игрушки, и установленный софт и сама Windows. По идее Windows 10 уже давно умеет работать с таким железом, но на практике оказывается, что это не так. В сети можно увидеть на многих форумах обсуждение проблемы, когда Windows не хочет устанавливаться на SSD NVMe, но при этом легко ставится на обычный жёсткий диск или SATA SSD. Ситуация, на наш взгляд, абсурдная, как и с масштабированием интерфейса, если у вас разрешение выше 1080p. Кстати, проблему с масштабированием мы решили.

Что за беда с SSD? Виновата материнская плата?

Предыстория такова, что получив во владение материнскую плату Asus TUF H370 Pro Gaming, мы решили, что она запросто подружится с современными SSD, благо слот M.2 в наличии, их здесь целых два. Да и в описании продукта указано, что она может:

1 x M.2 Socket 3*2, , with M Key, type 2242/2260/2280 storage devices support (SATA & PCIE 3.0 x 2 mode)

1 x M.2 Socket 3, with M key, type 2242/2260/2280/22110 storage devices support (PCIE 3.0 x 4 mode)

Не тут-то было. Для теста мы решили приобрести не самый дорогой, но один из самых шустрых SSD ADATA XPG ASX8200. Про цены мы тоже писали немного ранее. В нашей ревизии на коробке продукта указано, что он развивает скорости на чтение/запись до 3500/1200 Мб/с. Впечатляет!

Но после нескольких часов возни стало понятно, что работать этот SSD вместе с материнской платой не хочет. Разумеется, BIOS был обновлён до последней версии. И вина в этом не производителей железа. Хотя ADATA оказывается сообщает, что этот модуль не указан среди совместимых для TUF H370. Но чуть позже мы его всё же сможем завести.

Эксперимент продолжился через несколько дней, когда в нашем распоряжении оказался чип-памяти попроще — ADATA XPG SX8000. Здесь скорости чтения/записи уже 1900/1100 Мб/с. Снова вылез нюанс. На странице совместимости указана материнская плата Asus TUF H370 Pro Gaming Wi-Fi, на ша же без поддержки беспроводных сетей, логично предположили, что этот момент не будет никоим образом влиять на совместимость с современными SSD, ведь в остальном материнки Asus идентичны. Но снова неудача.

 

Попытка номер 3 была предпринята с «железкой» Western Digital Black SN750. Скорости для него заявлены производителем 3470 Мб/с на чтение и 2600 Мб/с на запись. Опять неудача.

Все три SSD удалось заставить работать в качестве второго диска в системе, но системным выступал всё равно традиционный SATA SSD. Развязка оказалась неожиданной, проблема была в Microsoft.

kak-ispolzovat-sdd-nvme-v-kachestve-sistemnogo-zagruzochnogo-diska-dlya-windows-10_17-03-19-15-20-11.jpg

Суть проблемы

Загвоздка была понятна. Детище Microsoft не знает, как работать с NVMe накопителем данных, подходящего драйвера, который бы всё объяснил, нет, а потому инсталлятор не может начать процесс на необходимый нам диск. При этом драйвер Intel RST, загружаемый со второй флешки, не помогал. Здесь также любопытно, что инсталлятор Windows признал драйвер совместимым с оборудованием и даже пытался его использовать, но безуспешно.

Даже когда далось продвинуться на один шаг в инсталляторе до момента выбора жёсткого диска и раздела для установки (путём форматирования и разбивки через Diskpart в NTFS, GPT, привоения статуса Primary, а затем внедрения BCD с помощью приложения Easy BCD и последующего запуска Repair-установщика), он говорил, что не может установить Windows 10 на любой выбранный раздел, который был на SSD от Western Digital. Зато установку можно было продолжить на другие диски, на которых уже была прошлая установка Windows.

Ещё раз стало понятно, что это чудачества Microsoft, когда мы решили попробовать установить Linux Deepin на новый SSD. Несколько кликов мыши, ещё несколько минут работы установщика — система успешно запустилась.

В сети удалось найти советы о том, что стоит вставлять загрузочную флешку с Windows в порт USB 2.0, а не 3.0, так как у многих это решало проблему.

Были советы об использовании режима совместимости CSM, выбираемом в BIOS. Некоторым это помогало.

Удалось найти даже инструкцию по модификации BIOS, не слишком сложную и в целом логичную, но этим заниматься хотелось всё же в последнюю очередь.

Хеппиэнд!

Лекарство оказалось внезапным. Несмотря на то, что мы пытались установить Windows с флешки, созданной в приложении Rufus по мотивам оригинального образа (версия 1809), скаченного официальным приложением Windows Media Creation Tool (кстати флешку созданную этой программой мы тоже использовали, но неудачно), выстрелила более старая флешка, опять же, созданная в Rufus, но с образом Windows 10 версии 1803.

Делать не пришлось ровным счётом ничего. Мы просто отключили все SSD и HDD, чтобы не смущать установщик и загрузились со старой флешки с билдом 1803. Он сразу подружился с NVMe SSD.

Если вам интересны новости мира ИТ также сильно, как нам, подписывайтесь на наш Telegram-канал. Там все материалы появляются максимально оперативно. Или, может быть, вам удобнее “Вконтакте” или Twitter? Мы есть также в Яндекс.Дзене и даже Facebook.

–>

  • Tutorial

Короткий мануал — как реализовать поддержку загрузочного NVMe SSD на старых материнских платах с Legacy BIOS и с использованием Clover (для любых ОС). По следам вот этого поста, где на мой взгляд, решение не так изящно и не для всех BIOS & OS.

Суть проблемы

Старые BIOS не видят новые NVMe SSD, в отличии от EFI (UEFI). Современные ОС эти диски, как правило, видят, и после загрузки ОС работать с диском можно, а вот старый BIOS нет, следовательно, загрузиться с нового быстрого диска не получится. Ну, потому что нельзя дать команду на загрузку тому, чего не видно.

Прелюдия

NVMe SSD диск, как правило, имеет разъем М.2, и работает как бы на прямую с процессором, по шине PCI-E. Поэтому если на вашей материнской плате нет разъема М.2, то для начала рекомендуется обзавестись переходником PCI-E >> М.2, или PCI-E RAID контроллером для SSD формата М.2. Существует немного продвинутых NVMe SSD дисков, которые имеют на борту собственные эмулятор Legacy устройства. Например Samsung 950 Pro имеет дополнительный rom для загрузки как Legacy устройство на старых BIOS. А вот вся серия EVO такой возможности не имеет.

Решение

Немного истории

Много лет назад, когда компания Intel стала поставлять Apple свои процессоры и компоненты для применения в Маках, возникла потребность предварительного тестирования железа на совместимость с MacOS. Тогда инженеры Intel написали хитрый загрузчик DUET, который представляет собой эмулятор UEFI, загружаемый поверх Legacy BIOS и позволяющий запускать операционные системы, требующие UEFI (MacOS, например). Однако использовать DUET «напрямую» задача весьма не тривиальная (пример, или вот еще, б-ррр…), требующая массу ручных операций, зависящих от конкретного железа и ОС, и понимания того, что именно вы делаете. В дальнейшем, DUET был взят за основу для нескольких проектов по созданию мульти-загрузчиков. Один из них Hackintosh — проект по установке последних MacOS на любые Intel, а в последствии и AMD машины. В результате развития Hackintosh появился многофункциональный загрузчик Clover (Клевер), который заточен, разумеется, под загрузку MacOS и Intel, но сейчас может с успехом применяться для загрузки чего угодно на, практически, чём угодно. Вот им, Клевером, мы и воспользуемся для решения нашей проблемы.

Clover Configurator

Клевер сам по себе настраивается тоже не абы как, и для того, чтобы как-то облегчить в дальнейшем процесс тюнинга, была выпущена настроечная утилита Clover Configurator, и множество мануалов по использованию. Но беда в том, что Clover Configurator работает только в MacOS, и на Windows вы его, в лучшем случае, запустите только в VmWare.Web-конфигуратор для CloverНекоторые пользователи рекомендует воспользоваться вместо Clover Configurator web-конфигуратором для Clover. Правда не факт, что прессет для вашей MB будет в списке. А документация по Клеверу объемна и подробна. Но, попробуйте, а вдруг. Так же ходят слухи (в комментах), что сам автор Клевера (SergeySlice) не рекомендует использовать Clover Configurator а рекомендует редактировать конфигурационный файл руками. Не пойдем этим путем… у нас лапки и Мастдай.

Boot Disk Utility (BDUtility.exe)

Специально для тех, у кого лапки, один русский энтузиаст написал утилиту BDUtility.exe, которая сама скачивает последний релиз Clover, делает необходимые минимальные настройки и записывает полученный образ на флешку. Не пугайтесь вырвиглазного сайта, утилита работает отлично 🙂 Для загрузки утилиты нажмите на картинку с буквами «Bu» и синей стрелкой, посредине сайта 🙂

Примечание

Если остался лишний SATA диск…Теоретически, можно попробовать поставить Clover на лишний SATA диск или даже карту памяти, если таковые имеются в системе и с них поддерживается загрузка (у меня дисков не осталось, снес все, жужжат, а с карт памяти опции загружаться не было и нет). Во всяком случае документация по Клеверу такое допускает. Однако, в этом случае придется вручную поколдовать с загрузочной областью.

Создание установочной флешки

Если вам удалось загрузить утилиту BDUtility — запустите ее. Она запускается под Windows и с правами администратора, будьте внимательны. Счастливым обладателем других операционных систем стоит пропустить этот пункт и вернуться к Clover Configurator выше.

Запускаем BDUtility.exe

Далее следует выполнить ряд настроек, чтобы утилита загрузила последний дистрибутив Clover, настроила его и записала на вашу флешку. Флешка должна быть вставлена в USB-порт, и желательно начисто отформатирована.

Примечание

В настоящий момент утилита BDUtility забирает релизы Clover с сайта sourceforge.net, где размещены релизы вплоть до версии Clover_v2.5k_r5070.zip. После этого разработка Clover была перенесена на GitHub, где сейчас размещен релиз Clover_v2.5k_r5097.zip. Учтите это в работе. BDUtility может опционально пользоваться предварительно скаченными релизами Clover (но совместимыми с BDUtility), если вам необходимо использовать именно последний релиз. Мы отправили запросы разработчикам Clover и BDUtility с просьбой прокоммуницировать между собой и переключить BDUtility на GitHub.

Настройка BDUtility:

  1. Убедитесь, что ваша флешка определилась утилитой
  2. Зайдите в настройки утилиты Options => Configuration
  3. Поставьте галочку Check at Startup, чтобы новая версия Clover проверялась при каждой загрузке
  4. Нажмите кнопку Check Now, чтобы загрузить последний релиз Clover прямо сейчас
  5. (опционально, рекомендация) Уберите галочку Boot Partition Size, чтобы весь объем вашей флешки был отведен поз загрузчик Colver, в противном случае вы будете видеть дополнительные диски (незанятые и не размеченные разделы флешки) в «Моем компьютере», что через какое-то время начнет вас раздражать
  6. Нажмите ОК
  7. Нажмите кнопку Format, изучите конфигурацию создаваемого загрузчика и нажмите ОК
  8. Ожидайте положительного результата (сядь на печку, приободрись…)

Теперь, когда флешка готова, попробуйте с нее загрузиться. Не забудьте настроить в BIOS загрузочный диск => ваша флешка. Если загрузка произойдет, на экране должна появиться примерно такая картинка, с перечнем текущих вариантов загрузки. Можете попробовать найти вашу загрузочную запись и загрузить текущую ОС.

Драйвера NVMe

Если ваш NVMe SSD диск уже вставлен в компьютер, не пытайтесь его найти в настройках Clover — его там нет. Дело в том, что по-умолчанию Clover не загружает драйвера для NVMe устройств. Драйвера необходимо включить в загрузку вручную. Для этого открываем флешку в проводнике. Заходим в папку G:EFICLOVERdriversoff (где диск «G» — это ваша флешка, а папка «off» — это папка с не подключенными драйверами Клевера). Находим файл NvmExpressDxe.efi Нажимаем Ctrl + C, чтобы скопировать файл в буфер обмена, и копируем файл в папки G:EFICLOVERdriversBIOS и G:EFICLOVERdriversUEFI. Копируем на всякий случай в обе папки, чтобы не разбираться, какой у вас сейчас биос, старый BIOS или старый UEFI. Перезагружаем компьютер, загружаемся с флешки-Clover и наблюдаем за количеством иконок на экране, обозначающих варианты загрузки — их должно стать больше, ибо теперь Clover видит ваш NVMe SSD.

Пол дела позади!

Установка новой ОС на новый NVMe SSD диск

Далее, чтобы воспользоваться преимуществом загрузки с быстрого NVMe SSD нам необходимо, собственно, поставить на него систему. И тут есть нюанс. Чтобы в дальнейшем не возникло проблем с попытками загружаться именно с вашего NVMe диска из-под Клевера, крайне рекомендуется не переносить вашу текущую систему на новый диск, а установить на NVMe диск новую систему с нуля. Проблема восходит корнями к типу загрузчика вашей операционной системы, который был выбран и использован при ее установке на компьютер. Если сейчас у вас система с BIOS без поддержки NVMe то и текущей загрузчик ОС ориентирован на BIOS, а не на EFI.

Именно этому загрузчику Clover передает управление, причем в режиме эмуляции EFI. Для справки, клеверный загрузчик моей Win64 лежит на клеверной флешке здесь G:EFIBOOTBOOTX64.efi

Перенести такую ОС на NVMe диск и использовать для загрузки в режиме EFI просто так не получится, потребуется вручную сменить загрузчик ОС, а это трудоемко, не вполне оправданно и чревато, имхо. Поэтому смело запасаемся лицензионным ключом от новой ОС (ну, или находим, где старый) и идем на страничку загрузки Media Creation Tool, чтобы сделать загрузочный диск вашей операционной системы Windows. Дело в том, что с некоторых пор Микрософт стал сам включать оба загрузчика BIOS и EFI в образ, создаваемый Media Creation Tool. И теперь эта загрузочная флешка может загружаться абсолютно на любых системах с Legacy BIOS, UEFI и EFI. А раньше приходилось обрабатывать полученный загрузочный образ и интегрировать в него Rufus, для загрузки в режиме EFI (пример, промотать до середины).

Примечание

Установка ОС

Установка операционной системы на новый NVMe SSD происходит вполне штатно и быстро. Вам необходимо загрузиться с двумя вставленными флешками, причем загрузиться с клеверной флешки, а не с дистрибутива Windows, не перепутайте. В интерфейсе Клевера найдите загрузку с флешки с дистрибутивом вашей ОС. Далее должна начаться установка ОС. В какой-то момент система перезагрузится (вы же ставите Windows), и вам придется выбрать для продолжения уже загрузку с вашего NVMe SSD, опять же не перепутайте! Не выбирайте повторно загрузку с дистрибутива ОС, иначе установка просто начнется заново, а нам нужно чтобы она продолжилась с SSD и, желательно, завершилась. После установки новой системы на ваш новый NVMe SSD, в Clover появится запись, что из-под него была установлена новая ОС. Также иконка загрузки новой ОС должна появиться первой в списке загрузок, и, если я ничего не путаю, то называться она будет «Boot Microsoft EFI Boot from EFI». И после окончательной установки ОС выньте флешку с ее дистрибутивом, чтобы она не отображалась больше в Клевере и в «Моем компьютере». А в вашем BIOS порядок загрузки дисков должен всегда начинаться с клеверной флешки, пока не обновите железо до поддержки EFI.Тогда, и только тогда, вы сможете гордо поставить первым ваш, к тому времени уже постаревший, NVMe SSD!.

Вот, собственно, и все

Теперь при каждой перезагрузке вы будете попадать в интерфейс Clover, и нажимать на клавишу Enter (если ваша ОС стоит в списке первой). Зато потом наслаждаться новой системой и быстрым SSD 🙂

Мне, к сожалению, в отсутствии Clover Configuator так и не удалось настроить Клевер, чтобы он автоматически загружал мою ОС, например спустя 5 сек. бездействия. Чтобы каждый раз не нажимать клавишу Enter. Но такая опция в Клевере разумеется есть. Буду признателен, если кто-то знает как вручную, без конфигуратора, настроить такой режим загрузки. Файл настроек Клевера обычно лежит здесь G:EFICLOVERconfig.plistГоворят, что за эту опцию отвечают теги:

<key>Timeout</key><integer>5</integer> и <key>DefaultVolume</key><string>LastBootedVolume</string>

В первом указывается время задержки перед автозагрузкой, а во втором — id диска с которого мы хотим грузиться по умолчанию, или значение LastBootedVolume, в котором запоминается id последнего диска, с которого производилась загрузка. Но у меня почему-то не работает 🙁 Есть подозрение, что с этими значениями какой-то лаг в Клевере на AMD. То ли таймер не считает, то ли LastBootedVolume не запоминается, но не уверен.

P.S. Но если бы вы изначально заплатили чуть побольше, и купили бы не переходник PCI-E >> М.2, а Raid контроллер для M.2 дисков, то вам бы не пришлось читать все вышенаписанное, и тем боле все это делать… Потому что Raid контроллер имеет сою собственную микросистему и эмулирует (или имитирует) себя как Legacy устройство, делая доступными все вставленные в него диски во всех биосах, старых и новых.UPD Пользователи и любезно дополнили пост тегом DefaultVolume и ссылкой на web-конфигуратор Clover. Спасибо за наводку на CloverGitHub .Используемые источники:

  • https://droidnews.ru/kak-ispolzovat-sdd-nvme-v-kachestve-sistemnogo-zagruzochnogo-diska-dlya-windows-10
  • https://habr.com/post/472224/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий