Альтернативный загрузчик windows 10

How to dual-boot Linux and Windows on the same hard disk? Typically a computer will have a single operating system installed on them, for those that want to dual-boot multiple OS such as a combination of Windows and Linux, you will need to make some changes and enable the option to choose which OS to boot from during startup.

Continue ➤ 3 Free Boot Camp Alternatives – Run Windows Applications And Games On macOS

Boot Manager Boot Configuration Data

You can install 2 operating systems provided that you partition your SSD or Hard Disk into 2 drives. When you install a Linux distribution, it typically installs the Grub boot loader. Grub loads instead of the Windows boot loader at boot time if Windows was already installed, allowing you to choose the operating system you want to boot by modifying the Boot Configuration Data.

1. Grub2Win

Grub2Win

Grub2Win supports 64 and 32 bit EFI and BIOS on Windows. Safely dual boot Windows and Linux from GPT or MBR disks. Grub2Win boots native GNU Grub version 2 code. Everything is contained in a single 20 MB directory on your Windows C: drive. On EFI systems a few small modules are installed to your EFI partition.

Using the simple Windows GUI and instructions you can install Grub2Win quickly and safely. Select from many OS choices. Supports Antergos, Android, Ubuntu, Debian, Suse, Fedora, Mint, Clover and Windows. Also boots ISO files. You can enter your own custom commands for each menu entry.

  • Supports 64 and 32 bit EFI as well as BIOS firmware.
  • Requires just one directory on the Windows C: drive, about 20 MB disk space.
  • Simple Windows GUI easily sets up Grub2Win in seconds.
  • Lets you set your EFI firmware boot order from within Windows.
  • Preview and customize the 9 included graphic background themes.
  • Works with all filesystems including Mac hfs and Btrfs.
  • Can search for and boot a partition by its label. Supports advanced scripting.
  • Works with both GPT and MBR disks – up to 128 primary partitions per drive.
  • Supports extremely large (over 40 TB) disks and partitions.
  • Safely multiboot Windows, Antergos, Android, Ubuntu, Debian, Suse, Fedora, Mint, Clover and more.
  • Grub customization is done from Windows – Configuration in Linux is not required.

2. EasyBCD

Free for personal, non-commercial use

EasyBCD

Take control of your boot loader, EasyBCD supercharges your Windows PC, allowing you to dual-boot to your heart’s content. Also boot into legacy systems Microsoft doesn’t support: MS-DOS, Windows 9x, Windows ME, and Windows 2000!

EasyBCD is geared for users of all kinds. Whether you just want to add an entry to your old XP partition or want to create a duplicate for testing purposes; if you’re interested in debugging the Windows Kernel or septuple-booting your seven test operating systems, EasyBCD is the key.

  • Boot anything – Windows, Linux, macOS, & BSD! Boot both from and into USB drives, ISO images, virtual disks, and more.
  • Boot anywhere – Create bootable USB sticks with repair utilities that you can take with you anywhere.
  • Protect against disaster – Create entries to boot into recovery utilities or safe mode to prepare for a rainy day.
  • Painless editing – Add, rename, remove, configure, and reorder entries at whim.
  • Solve difficult problems – Use EasyBCD to troubleshoot Windows, back up and repair the bootloader, and more.
  • Powerful scripting with NeoGrub – You’ll have the power to hide partitions, change active flags, and create complex boot scenarios.

3. rEFInd Boot Manager

rEFInd Boot Manager

rEFInd is a fork of the Small rEFIt boot manager for computers based on the Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Like rEFIt, rEFInd is a boot manager, meaning that it presents a menu of options to the user when the computer first starts up, as shown below. rEFInd is not a boot loader, which is a program that loads an OS kernel and hands off control to it.

4. Clover EFI bootloader

Clover EFI bootloader

This is an EFI-based bootloader for BIOS-based computers created as a replacement to the EDK2/Duet bootloader. Clover is an operating system boot loader for computers already equipped with an UEFI firmware and for those equipped with legacy BIOS firmware. An operating system (OS) may support (U)EFI (macOS, Windows, Linux) or not (Windows XP). Legacy boot is used for the last one, that is, the old BIOS system is used to handle boot sectors.

  • Boot macOS, Windows, and Linux in UEFI or legacy mode on Mac or PC with UEFI or BIOS firmware
  • Boot using UEFI firmware directly or CloverEFI UEFI firmware emulation
  • Customizable GUI including themes, icons, fonts, background images, animations, and mouse pointers.
  • Ability to boot previously selected boot entry after default timeout
  • Boot entries menu scrolls if screen resolution is too low for menu
  • Create custom boot entries for personalizing boot entries and add support for other operating systems
  • Create Clover boot entry in NVRAM with tool from GUI

5. Grub

Grub

GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.

Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).

6. Super Grub2 Disk

Super Grub2 Disk

Super GRUB2 Disk helps you to boot into most any Operating System (OS) even if you cannot boot into it by normal means. Super Grub2 Disk is a live CD that helps the user to boot into almost any operating system even if the system cannot boot into it by normal means. This allows a user to boot into an installed operating system if their GRUB installation has been overwritten, erased or otherwise corrupted.

Super Grub2 Disk can detect installed operating systems and provide a boot menu which allows the user to boot into their desired operating system. Super Grub2 Disk is not an operating system itself, but a live boot loader which can be run from a CD or USB thumb drive. Everything option to detect most Operating Systems.

  • grub.cfg – (GRUB2 configuration files)
  • menu.lst – (GRUB legacy configuration files)
  • core.img – (GRUB2 installation (even if mbr is overwritten))
  • Bootable ISOs (in /boot-isos or /boot/boot-isos)
  • Enable GRUB2’s LVM support
  • Enable GRUB2’s RAID support
  • Enable GRUB2’s PATA support (to work around BIOS bugs/limitation)
  • Mount encrypted volumes (LUKS and geli)
  • Enable serial terminal

7. Ventoy

Ventoy

Ventoy is an open source tool to create bootable USB drives for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don’t need to format the disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly.

MBR and GPT partition styles, x86 Legacy BIOS and various UEFI boot methods (including persistence) are supported. ISO files larger than 4 GB can be used. Ventoy supports various operating system boot and installation ISO files including Windows and above, Debian, Ubuntu, CentOS, RHEL, Deepin, Fedora and more than a hundred other Linux distributions; various UNIX releases, VMware, Citrix XenServer, etc. have also been tested.

  • x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, MIPS64EL UEFI supported
  • IA32/x86_64 UEFI Secure Boot supported Notes
  • Linux Persistence supported Notes
  • Windows auto installation supported Notes
  • Linux auto installation supported Notes
  • Variables Expansion supported for Windows/Linux auto installation script Notes
  • FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition
  • ISO files larger than 4GB supported

WinToUSB 9.8

WinToUSB — инструмент для установки и запуска операционной системы Windows с USB-накопителя…

get_app133 029 | Бесплатная |

NTLite 2025.04.10373

NTLite — удобный инструмент для модификации дистрибутивов операционных систем семейства Windows — 7, 8, 8.1 и 10…

get_app26 910 | Бесплатная |

Rufus 4.7

Rufus — крошечный, но при этом функциональный инструмент, предназначенный для форматирования и создания загрузочных флешек. Утилита станет незаменимым помощником при создании установочных USB-носителей, прошивке BIOS, запуске низкоуровневых приложений…

get_app2 159 124 | Бесплатная |

Universal USB Installer 2.0.2.7

Universal USB Installer — небольшая бесплатная программа, которая позволяет создавать загрузочные флешки из различных дистрибутивов Linux (сборки на основе Ubuntu, Linux Mint, Debian, Fedora, OpenSUSE, Puppy Linux и другие)…

get_app129 802 | Бесплатная |

Grub2Win 2.4.2.4

Бесплатный инструмент с открытым исходным кодом, который позволяет загружать различные операционные системы на одном ПК, выбирая нужную во время его запуска. Поддерживает как 64- и 32-битные EFI, так и прошивки BIOS, работает с дисками GPT/MBR и прочее…

get_app7 503 | Бесплатная |

Easy2Boot 2.21

Easy2Boot — инструмент для создания мультизагрузочных флешек, которые могут содержать в себе любой дистрибутив, LiveCD или образ дискеты…

get_app24 750 | Бесплатная |

Universal MediaCreationTool 2023.12.07

Утилита, которая предназначена для скачивания ISO-образов Windows 10/11, создания установочного USB-носителя, а также обновления системы до Windows 11 или более новой версии Windows 10. Можно выбрать для загрузки определенную версию Windows, язык системы…

get_app12 635 | Бесплатная |

WinToHDD 6.6

WinToHDD — удобный инструмент для установки, переустановки и клонирования текущей операционки Windows. Не требует наличия CD/DVD-дисков или USB-накопителей. Настройки приложения будут понятны даже новичку без каких-либо специальных знаний…

get_app63 923 | Бесплатная |

tiny11 06-05-24 release

tiny11 — это облегченная версия Windows 11, в которой собран только минимально необходимый функционал для ежедневных задач. Система занимает всего 8 ГБ и поддерживает все необходимые обновления, а также не требует поддержки TPM (Trusted Platform Module)…

get_app1 777 | Бесплатная |

Clonezilla 3.2.0-5

Бесплатная кроссплатформенная утилита для клонирования дисков и отдельных разделов жёсткого диска, а также создания резервных копий и аварийного восстановления системы. Поддерживаются различные файловые системы: ext2, ext3, ext4, FAT32, NTFS, HFS+, UFS…

get_app10 254 | Бесплатная |

SARDU 5.4.0

SARDU (Shardana Antivirus Rescue Disk Utility) — продвинутое приложение для создания загрузочных флешек или дисков с набором полезных утилит для настройки операционной системы или ее восстановления…

get_app12 261 | Бесплатная |

Active Boot Disk 24.1.0.0

Active@ Boot Disk — полнофункциональная операционная система на CD/DVD/USB диске. Является загрузочным диском, который можно запускать на компьютерах где уже загружена ОС…

get_app8 055 | Условно-бесплатная |

WinNTSetup 5.3.5 / 4.2.5

Универсальная в своём роде и очень полезная в ряде случаев утилита, с помощью которой можно быстро и легко установить на свой или чужой компьютер Windows XP, 2003, Vista, 7, 8, 8.1, 10, причем это можно сделать прямо в работающей операционной системе…

get_app92 897 | Бесплатная |

FlashBoot 3.3q

FlashBoot — простой в настройке инструмент для создания загрузочных USB-флешек, поддерживающий работу со всеми версиями операционных систем Windows — от XP до 10…

get_app34 484 | Условно-бесплатная |

EasyUEFI 3.2 free / 5.5

EasyUEFI — удобная утилита для редактирования загрузочного меню операционных систем Windows на основе EFI/UEFI…

get_app24 870 | Бесплатная |

В этой статье мы разберемся, как восстановить загрузчик Windows 10 или 11 на современном компьютере, на котором используется UEFI интерфейс вместо классического BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), повреждением файловой систему, некорректным восстановлении Windows после сбоя, удалением скрытых разделов, вирусом-вымогателем и рядом других причин.

Данная статья содержит подробную пошаговую процедуру восстановления поврежденного или удаленного загрузчика ОС в Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2 на компьютерах, которые работают в нативном (не legacy) режиме UEFI. Инструкцию можно использовать как для восстановления бинарных файлов загрузчика Windows, так и конфигурационного файла загрузчика EFI\Microsoft\Boot\BCD (в случаях, когда Windows не загружается из-за отсутствия или повреждения файла конфигурацией загрузка BCD.

Содержание:

  • Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
  • Автоматическое восстановление загрузчика Windows
  • Ручное восстановление загрузчика Windows с помощью BCDBoot

Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD

UEFI компьютер с Windows, установленной в наивном режиме, не сможет загрузиться при повреждении EFI загрузчика Windows. При попытке загрузиться с диска с повреждённым или отсутствующим EFI загрузчиком появится BSOD (синий экран смерти) с ошибкой:

Ошибка загрузки Windows 8: The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f

The boot configuration data for your PC is missing or contains errors.
File :\EFI\Microsoft\Boot\BCD
Error code: 0xc000000f

или

Error code: 0xc000014c

В русской версии Windows ошибка может быть такая:

Ваш компьютер нуждается в ремонте Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки Файл:\EFI\Microsoft\Boot\BCD  

Код ошибки: 0xc000000f

Эта ошибка говорит о повреждении или даже полном удалении конфигурации загрузчика Windows — Boot Configuration Data (BCD). Если вы попытаетесь восстановить загрузчик на UEFI компьютере с помощью утилиты
bcdedit
, вы получите такую ошибку:

The boot configuration data store could not be found.
The requested system device cannot be found.

Дело в том, что если Windows 10/11 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.

Если при загрузке Windows появляется только черный экран с надписью “Operating System not found”, скорее всего у вас полностью удален загрузчик Windows. Следуйте инструкции по ссылке.

Автоматическое восстановление загрузчика Windows

Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:

  1. Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
  2. На экране установки нажмите кнопку Восстановление системы;
  3. Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
  4. Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
    восстановить загрузчик автоматически не удалось

Ручное восстановление загрузчика Windows с помощью BCDBoot

Перейдем к процедуре ручного восстановления EFI загрузчика Windows на UEFI компьютере.

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

Командную строку также можно запустить, если у вас под рукой есть только установочный диск с Windows. Для этого достаточно на самом первом этапе установки Windows (при выборе языка и раскладки клавиатуры) нажать комбинацию клавиш Shift+F10 (или Shift+Fn+F10 на некоторых моделях ноутбуков).

Коммандная строка восстановление системы Windows 8

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

diskpart

Выведите список дисков в системе:

list disk

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

Если у диска в столбце Gpt указана звездочка (
*
), тогда на диске используется таблица разделов GPT, если нет – MBR.

какая таблица разделов на диске gpt или mbr?

Если с помощью diskpart вы определили, что на вашем диске используется GPT разметка, следуйте дальнейшим шагам инструкции по восстановлению загрузчика.

Если у вас разметка MBR, тогда данная инструкция не применима к вашему компьютеру. Скорее всего у вас компьютер с BIOS, или в настройках UEFI включен режим совместимости Legacy/Compatibility Support Module/CSM.

На MBR дисках загрузчик хранится на отдельном разделе System Reserved, а не на EFI разделе (ни в коем случае не конвертируйте таблицу разделов MBR в GPT, пока не исправите загрузчик!!) Используйте другую инструкцию по восстановлению BCD загрузчика на MBR (Master Boot Record) диске.

Выберите диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):

sel disk 0

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

list partition
list volume

загрузочный efi и msr разделы в windows10

В нашем примере видно, что загрузочный раздел EFI имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Проще всего определить EFI размер по файловой системе FAT32, размеру 100 Мб (это стандартный минимальный размер для Windows компьютеров, в редких случая размер раздела может быть). Чаще всего для него используется метка — System EFI или ESP/ EFI System Partion).

В нашем примере основной раздел, на который установлена Windows, имеет индекс volume 2, отформатирован в файловая система NTFS и ему назначена буква C:.

В вашем случае назначенная буква диске может отличаться. Это зависит, как вы загрузили свой компьютер в среде WinPE. Проще всего определить его по размеру. Если вы не уверены, нужно проверить что на этом диске есть каталог Windows. Выйдите из утилиты diskpart (команда exit) и выполните команду:

dir C:\

Убедитесь, что на этом диске есть каталоги
Windows
,
Program Files
,
Users
и прочие.

определить диск с установленной windows в winpe

Если этих каталогов нет, значит вашему диску с Windows назначена другая буква диска. Проверьте содержимоет дисков с другими буквами.

Запомните букву диска, назначенную разделу с Windows, чуть ниже мы будем использовать ее в качестве одного из аргументов команды bcdboot.

В таблице также обязательно должен быть раздел MSR (Microsoft System Reserved) размером 16 мб в Windows 10/11 (или 128 Мб в Windows 8.1).

Назначьте скрытому EFI разделу произвольную букву диска (например, M:):

select volume 5
assign letter M:

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

DiskPart successfully assigned the drive letter or mount point.

Завершите работу с diskpart:

exit

Перейдите в каталог с загрузчиком на скрытом разделе:

cd /d m:\efi\microsoft\boot\

В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует
The system cannot find the path specified
), попробуйте следующие команды:

cd /d M:\Boot\

или

cd /d M:\ESD\Windows\EFI\Microsoft\Boot\

На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:

bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

или даже:

bootrec /FixMbr
(восстановление MBR записи для GPT диска выглядит странным)

Все эти команды применимы только для дисков с MBR. Если ваш компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT (как раз наш случай). Поэтому при запуске команд
bootrec
вы увидите ошибку:
access is denied

Для исправления загрузочных записей на EFI разделе нужно использовать утилиту
BCDBoot
, а не bootrec.

Утилита BCDBoot позволяет восстановить файлы загрузчика на EFI разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template.

С помощью команды
attrib
снимите атрибуты скрытый, read-only и системный с файла BCD:

attrib BCD -s -h -r

Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):

ren BCD BCD.bak

С помощью утилиты bcdboot.exe нужно скопировать из системного каталога критические файлы среды загрузки UEFI в загрузочный EFI раздел и пересоздать конфигурацию загрузчика в хранилище BCD:

bcdboot C:\Windows /l en-us /s M: /f ALL

где,

  • C:\Windows – путь к корневому системному каталогу Windows на диске (это ваш диск, на который была установлена ваша Windows, мы узнали его ранее с помощью команды diskpart);
  • /f ALL – означает, что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI и BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI;
  • /l en-us — определяет языковой стандарт, который используется при инициализации хранилища BCD. По умолчанию используется en-US — английский язык (США);
  • /s M: — скопировать файлы EFI загрузчика на указанный раздел;
  • – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
  • /v – используется для включения режима вывода подробной информации BCDBoot..

Теперь, если выполнить команду bcdedit, вы увидите следующую картину:

В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (
partition=\Device\HarddiskVolume2
), путь
\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
.

bcdedit вывод конфигурации windows boot manager файл bootmgfw.efi

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
bootshutdowndisabled    Yes
default                 {CURRENT}
resumeobject            {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30
Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows Server 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence       {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

В секции Windows Boot Manager должен быть указан путь к EFI разделу (
=\Device\HarddiskVolume2
), путь к файлу управления загрузкой (bootmgfw.efi). В секции Windows Boot Loader указан раздел Windows и путь к EFI загрузчику Windows (
\Windows\system32\winload.efi
). При включении компьютер передаст управление диспетчеру загрузки EFI, который запустит загрузчик Windows.

Возможные ошибки:

Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!

В некоторых случаях после восстановления BCD загрузчика, при загрузке Windows появляется ошибка
BAD SYSTEM CONFIG INFO
. Чтобы исправить ошибку:

Убедитесь, что вы не вносили недавно изменения в настройки UEFI

Загрузитесь с установочной/загрузочной флешки и измените конфигурацию загрузчика командами:

  • bcdedit /deletevalue {default} numproc
  • bcdedit /deletevalue {default} truncatememory

Quibble

Quibble is the custom Windows bootloader — an open-source reimplementation of the
files bootmgfw.efi and winload.efi, able to boot versions of Windows from XP
to Windows 10 22H2. Unlike the official bootloader, it is extensible, allowing you
to boot from other filesystems than just NTFS.

This is only a proof of concept at this stage — don’t use this for anything serious.

Screenshot of Windows 10 1909 running on Btrfs:

Donations

I’m doing this for kicks and giggles, but if you want to donate it’d be appreciated:

  • Paypal

Installation

If you’re booting Windows 7 or earlier in a VM, you will need the OVMF firmware with Seabios compiled
in as the Compatibility Support Module (CSM), which isn’t normally included. Precompiled version are
available: x86 and amd64.

This has been tested successfully in Qemu v7.2, VirtualBox v7, and on EFI version F50 of a Gigabyte motherboard.
The quality of EFI implementations varies significantly, so if you’re testing on real hardware it may or may not work
for you.

  • Install Windows on an NTFS volume.

  • On modern versions of Windows, turn off Fast Startup in the Control Panel, or run powercfg /h off from an admin command prompt.

  • For Btrfs:

    • Install WinBtrfs — you will need version 1.6 at least, but the later the better.

    • Shutdown your PC or VM, and copy its hard disk to a Btrfs partition. The best way is to use Ntfs2btrfs to do in-place conversion, which will also preserve your metadata.

  • Extract the Quibble package into your EFI System Partition. It’s supposed to work in a subdirectory,
    but if you have trouble you might need to put it in the root.

  • Adjust the file freeldr.ini, if necessary — the default is for it to boot from the third partition
    of the first disk, which is where Windows normally installs itself. You can also change the SystemPath to e.g. SystemPath=btrfs(1e10b60a-8e9d-466b-a33a-21760829cf3a)\Windows,
    referring to the partition by UUID rather than number. This is the Btrfs UUID, i.e. what shows up in
    the drive properties box on WinBtrfs, or what shows in btrfs check on Linux.

  • Add quibble.efi to your list of UEFI boot options, and hope that it works…

Changelog

  • 20230328

    • Added NTFS driver
    • Added support for versions of Windows 10 up to 22H2
    • CD drives no longer get allocated ARC names
    • Switched to C++
    • Lots of miscellaneous bug fixes
  • 20210111

    • Added support for GOP graphics
    • Added support for TTF fonts
    • Added rudimentary recovery of unclean Registry hives
    • Added support for Btrfs compression
  • 20201108

    • Added support for Windows 10 2004 and 2009
    • KDNET now works with Realtek devices
    • Added support for booting Windows 8 and up without CSM
    • Added workarounds for issues with real EFI implementations
    • Fixed issues with multiple CPU cores
  • 20200405

    • Fixed bug involving case-insensitivity
    • Changed build system to cmake
    • Included local copy of gnu-efi, to make things easier
    • Added support for compiling on MSVC
    • Added support for kdnet on Windows 10
  • 20200213

    • Initial release

Compiling

On Linux:

  • Install a cross-compiler (x86_64-w64-mingw32-gcc), cmake, and gnu-efi.
  • Run the following:
    • git clone https://github.com/maharmstone/quibble --recurse-submodules
    • cd quibble
    • mkdir build
    • cd build
    • cmake -DCMAKE_TOOLCHAIN_FILE=../mingw-amd64.cmake .. or cmake -DCMAKE_TOOLCHAIN_FILE=../mingw-x86.cmake ..
    • make

On Windows:

  • Install a recent version of Visual C++ — I used the free Visual Studio Community 2019
  • Clone the repository, and open it as a folder
  • Wait for it to finish generating its cmake cache
  • Right-click on CMakeLists.txt and choose «Build»

FAQs

  • Why don’t I get pretty graphics?

Disable CSM in your BIOS. Bear in mind that this will also stop Windows 7 and earlier
from booting.

  • Which versions of Windows does this work on?

With the Btrfs driver or NTFS drivers, this should work on XP, Vista, Windows 7, Windows 8,
Windows 8.1, and Windows 10 versions 1507 to 22H2.

  • Which filesystems does this support?

The included Btrfs driver, and maybe also the FAT driver that’s part of the UEFI specifications.
Windows XP, Vista, and 7 will work fine from a FAT volume, anything after that won’t.

  • How can I extend this?

Drop your EFI driver in the drivers folder, and it’ll load it on startup.

  • Why do I get a BAD_SYSTEM_CONFIG_INFO BSOD?

This means that the Registry is unclean, and our rudimentary recovery wasn’t good enough. If you attach
C:\Windows\System32\config\SYSTEM to another machine via Regedit temporarily, it’ll fix it.
Make sure you shut Windows down properly to avoid having to do this.

  • Can I boot Btrfs from an arbitrary subvolume, like I can on Linux?

Yes — add /SUBVOL=xxx to your Options in freeldr.ini. You can find the number to use on the
Properties page of your subvolume. On Linux you can use btrfs subvol list, but bear in mind
that you will need to translate the number to hexadecimal.

  • Why can’t I access any NTFS volumes in Windows when booting from Btrfs?

Because Windows only loads ntfs.sys when it’s booting from NTFS. To start it as a one-off, run
sc start ntfs from an elevated command prompt. To get it to start every time, open regedit and
change HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ntfs\Start to 1.

  • Why can’t I access FAT partitions on Windows?

If Windows doesn’t load the FAT driver automatically, try running sc start fastfat.

  • Why don’t I see the Windows logo on startup?

The boot graphics code isn’t completed yet — you won’t see either the Windows logo or the progress
indicator, just a few seconds of blackness.

Licences and Thanks

This is released under the LGPL. The Mersenne Twister code is by Mutsuo Saito and Makoto Matsumoto —
see the header of tinymt32.c. The GNU-EFI headers are under the BSD licence.

This code incorporates FreeType, licensed under the FreeType Licence.

The included font is Jost*, from Indestructible Type.

The Btrfs EFI driver contains portions of the following software:

Zlib

Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler

This software is provided ‘as-is’, without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
    claim that you wrote the original software. If you use this software
    in a product, an acknowledgment in the product documentation would be
    appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
    misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

LZO

btrfs-efi contains portions of an early version of lzo, which is copyright 1996
Markus Oberhumer. Modern versions are licensed under the GPL, but this was
licensed under the LGPL, so I believe it is okay to use.

Zstd

Copyright (c) 2016-present, Facebook, Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this
    list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

  • Neither the name Facebook nor the names of its contributors may be used to
    endorse or promote products derived from this software without specific
    prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS «AS IS» AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Harfbuzz

HarfBuzz is licensed under the so-called «Old MIT» license. Details follow.
For parts of HarfBuzz that are licensed under different licenses see individual
files names COPYING in subdirectories where applicable.

Copyright © 2010-2022 Google, Inc.
Copyright © 2015-2020 Ebrahim Byagowi
Copyright © 2019,2020 Facebook, Inc.
Copyright © 2012,2015 Mozilla Foundation
Copyright © 2011 Codethink Limited
Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies)
Copyright © 2009 Keith Stribley
Copyright © 2011 Martin Hosken and SIL International
Copyright © 2007 Chris Wilson
Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod
Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc.
Copyright © 1998-2005 David Turner and Werner Lemberg
Copyright © 2016 Igalia S.L.
Copyright © 2022 Matthias Clasen
Copyright © 2018,2021 Khaled Hosny
Copyright © 2018,2019,2020 Adobe, Inc
Copyright © 2013-2015 Alexei Podtelezhnikov

For full copyright notices consult the individual files in the package.

Permission is hereby granted, without written agreement and without
license or royalty fees, to use, copy, modify, and distribute this
software and its documentation for any purpose, provided that the
above copyright notice and the following two paragraphs appear in
all copies of this software.

IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
ON AN «AS IS» BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

To-do list

  • Get working with XP and Vista on amd64 (done?)
  • Add proper Registry recovery
  • Parse BCD files
  • Get tested on more hardware
  • Slipstream into Windows ISO(?)
  • Add ARM and Aarch64 versions
  • Verification of signatures
  • Early-launch anti-malware
  • ASLR
  • Booting 32-bit Windows on 64-bit machine
  • BIOS emulation on machines without CSM
  • Add RAID support for Btrfs
  • Hibernation, etc.
  • Get kdnet working with Windows 8.1

Здравствуйте админ! На моём ноутбуке не загружается Windows 10. Статью на вашем сайте о восстановлении загрузчика читал, но она к сожалению мне не помогла, хотя испробовал все приведённые в ней способы. В комментариях к статье один пользователь посоветовал мне создать загрузчик Windows 10 заново, но подробностей не привёл. Скажите, как это можно сделать?

Привет друзья! Если ваша Windows 10 не загружается из-за проблем с файлами, ответственными за загрузку операционной системы, располагающимися на скрытом шифрованном (EFI) системном разделе FAT32 (размер 99 Мб), то можно удалить этот раздел и затем создать заново. В результате файлы загрузчика обновятся и вполне возможно такое решение приведёт к успешной загрузке Windows. Здесь не лишним будет заметить, что за загрузку Windows отвечают файлы конфигурации хранилища загрузки (BCD) в папке Boot и менеджер загрузки системы (файл bootmgr).

Шифрованный (EFI) системный раздел FAT32, размер 99 Мб, можно увидеть в «Управлении дисками» вашего компьютера. Нам также придётся удалить первый раздел со средой восстановления (499 Мб), так как после пересоздания загрузчика она перестанет функционировать (среду восстановления можно будет позже создать заново).

Ещё мы создадим заново не отображаемый в Управлении дисками служебный раздел MSR, обязателен для разметки GPT в системах UEFI (размер 16 Мб).

Итак, перед работой ещё раз уточним, какие именно разделы мы будем удалять и затем создавать заново:

1. Раздел (499 Мб) содержащий среду восстановления Windows 10 (от данного раздела можно избавиться и пользоваться при необходимости средой восстановления, находящейся на загрузочном носителе с Win 10).

2. Раздел (99 Мб), шифрованный (EFI) системный раздел, содержащий все файлы загрузчика Windows 10. 

3. Служебный раздел MSR (Microsoft System Reserved) 16 Мб, обязательный для разметки дисков GPT.

Загружаем ноутбук с загрузочной флешки с Windows 10 и в начальном окне установки системы жмём клавиатурное сочетание Shift + F10, 

 

открывается окно командной строки, вводим команды:

diskpart

lis dis (выводит список физических дисков).

sel dis 0 (выбираем жёсткий диск ноутбука 120 Гб).

lis par (показ всех разделов выбранного диска, первые три раздела будем удалять).

sel par 1 (выбираем первый раздел

del par override (удаляем раздел, для удаления раздела ESP и MSR или раздела OEM-изготовителя ноутбука, необходимо указать параметр override)

sel par 2

del par override

sel par 3

del par override

Всё, все три скрытых раздела мы удалили.

Вводим команды:

diskpart

lis dis (выводим список дисков).

sel dis 0 (выбираем жёсткий диск ноутбука).

create par efi size=99 (создаём шифрованный (EFI) системный раздел 99 Мб).

format fs=fat32 (форматируем его в файловую систему FAT32).

creat par msr size=16 (создаём раздел MSR 16 Мб) 

lis vol (выводятся все разделы жёсткого диска).

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

Создаём загрузчик командой 

bcdboot C:\Windows, так как буква диска операционной системы в среде восстановления (C:).

Файлы загрузки успешно созданы.

Перезагружаемся и Windows 10 должна загрузиться.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как поменять экранную заставку в windows 10
  • Автовосстановление windows 10 проблема на компьютере
  • Что такое кодеки для видео windows
  • Route add постоянный маршрут windows 10
  • Gtx 1060 6gb drivers windows 10