- MultiBoot для Windows
- Отзывы о программе MultiBoot
- Минимальный multiboot загрузчик
- Обзор
- Мультизагрузка
- Загрузочный код
- Создание исполняемого файла
- Создание ISO-образа
- Загрузка
- Автоматизация сборки
- Что дальше?
- Repair Dual-boot (Multi-boot) Configuration: Guide for Windows XP, Vista, 7, 8, 10
- What is dual-boot/multi-boot
- Fix dual-boot configuration with Easy Recovery Essentials
- Other solutions to repair dual-boot configurations
- Repair Windows XP on a dual-boot system
- Repair Windows Vista on a dual-boot system
- Repair Windows 7 on a dual-boot system
- Repair Windows 8 or 8.1 on a dual-boot system
- Repair Windows 10 on a dual-boot system
- More Information
- Linked Entries
- Support Links
- Applicable Systems
MultiBoot для Windows
Оценка: |
4.69 /5 голосов — 36 |
Лицензия: | Бесплатная |
Версия: | 11.01.16 | Сообщить о новой версии |
Обновлено: | 10.11.2012 |
ОС: | Windows 10, 8, 7, XP |
Интерфейс: | Русский |
Разработчик: | Admiral |
Категории: | Boot менеджеры — Расширения |
Загрузок (сегодня/всего): | 5 / 74 523 | Статистика |
Размер: | 295 Кб |
СКАЧАТЬ |
MultiBoot — графическая (GUI) оболочка над системными утилитами BootSect, BcdEdit и BcdBoot, позволяющая восстановить загрузчик Windows Vista или Windows 7, затертый при установке Windows ХР. Также при помощи MultiBoot можно:
- создать конфигурацию с двойной загрузкой как до, так и после установки Windows XP;
- указать операционную систему, загружаемую по умолчанию;
- редактировать записи любой операционной системы в диспетчере загрузки и определить их положение в меню загрузки;
- установить таймаут для меню с выбором загрузки операционных систем;
- экспортировать и импортировать данные конфигурации загрузки;
- отобразить подробные сведения о хранилище загрузки, о загрузочных файлах, раскладе по дискам и разделам, а также сохранить их в текстовый файл;
- запустить командную строку для выполнения команд вручную;
- указать параметры файла boot.ini rdisk и partition при ошибках загрузки в Windows XP.
Rufus — крошечный, но при этом функциональный инструмент, предназначенный для.
EasyBCD — программа для управления загрузкой нескольких операционных систем, установленных.
WinToFlash — бесплатное приложение, которое поможет вам создать загрузочную флешку для.
Bootice — полезный инструмент для создания загрузочных и установочных флешек. Утилита.
Универсальная в своём роде и очень полезная в ряде случаев утилита, с помощью которой.
WinToUSB — инструмент для установки и запуска операционной системы Windows с USB-накопителя.
Отзывы о программе MultiBoot
ScROnZ про MultiBoot 11.01.16 [24-05-2019]
Спасибо! Программа прям спасла! всё удобно и легко!
2 | 2 | Ответить
Василий про MultiBoot 11.01.16 [07-02-2017]
Действительно помогла программа, все сдела быстро, качественно. Я конечно не думал что восстановит win 7 после перенакатки win xp но, сработало. Чудесная программа, вирусов нет. Очень советую всем. Да, спасибо большое разработчикам.
2 | 2 | Ответить
Дмитрий про MultiBoot 11.01.16 [17-09-2016]
Мою проблему не решила, хотя и хуже не сделала.
2 | 2 | Ответить
vladimir про MultiBoot 11.01.16 [09-09-2016]
super. drugoj takoj netu. respect avtoru.
2 | 2 | Ответить
Саня про MultiBoot 11.01.16 [01-10-2015]
Автор! Ты гений! Я 2 дня уже мучаюсь, причём в компах разбираюсь, но никак без диска не мог восстановить! Должен сказать, это гениальная прграмма! Всё просто! Удач тебе!
2 | 2 | Ответить
Минимальный multiboot загрузчик
Эта статья объясняет как создать минимальное ядро операционной системы, используя стандарт мультизагрузки. По факту, оно будет просто загружаться и печатать OK на экране. В последующих статьях мы расширим его, используя язык программирования Rust .
Я попытался объяснить всё в деталях и оставить код максимально простым, насколько это возможно. Если у вас возникли вопросы, предложения или какие-либо проблемы, пожалуйста, оставьте комментарий или создайте таску на GitHub . Исходный код доступен в репозитории.
Обзор
Когда вы включаете компьютер, он загружает BIOS из специальной флэш памяти. BIOS запускает тесты самопроверки и инициализацию аппаратного обеспечения, затем он ищет загрузочные устройства. Если было найдено хотя бы одно, он передаёт контроль загрузчику, который является небольшой частью запускаемого кода, сохранённого в начале устройства хранения. Загрузчик определяет местоположение образа ядра, находящегося на устройстве, и загружает его в память. Ему также необходимо переключить процессор в так называемый защищённый режим, потому что x86 процессоры по умолчанию стартуют в очень ограниченном реальном режиме (чтобы быть совместимыми с программами из 1978).
Мы не будем писать загрузчик, потому что это сам по себе сложный проект (если вы действительно хотите это сделать, почитайте об этом здесь). Вместо этого мы будем использовать один из многих испытанных загрузчиков для загрузки нашего ядра с CD-ROM. Но какой?
Мультизагрузка
К счастью, есть стандарт загрузчика: спецификация мультизагрузки. Наше ядро должно лишь указать, что поддерживает спецификацию и любой совместимый загрузчик сможет загрузить его. Мы будем использовать спецификацию Multiboot 2 (PDF)
вместе с известным загрузчиком GRUB 2.
Чтобы сказать загрузчику о поддержке Multiboot 2 , наше ядро должно начинаться с заголовка мультизагрузки , который имеет следующий формат:
Field | Type | Value |
---|---|---|
магическое число | u32 | 0xE85250D6 |
архитектура | u32 | 0 для i386, 4 для MIPS |
длина заголовка | u32 | общий размер заголовка включая тэги |
контрольная сумма | u32 | -(магическое число + архитектура + длина заголовка) |
тэги | variable | |
завершающий тэг | (u16, u16, u32) | (0, 0, 8) |
В переводе на x86 ассемблер это будет выглядеть так ( Intel синтаксис):
Если вы не знаете x86 ассемблер, то вот небольшая вводная:
- заголовок будет записан в секцию, названную .multiboot_header (нам понадобится это позже),
- header_start и header_end — это метки, которые указывают на месторасположение в памяти, мы используем их, чтобы вычислить длину заголовка,
- dd означает define double (32bit) и dw означает define word (16bit). Они просто выводят указанные 32bit/16bit константы,
- константа 0x100000000 в вычислении контрольной суммы — это небольшой хак, чтобы избежать предупреждений компилятора.
Мы уже можем собрать данный файл (который я назвал multiboot_header.asm ) используя nasm .
Следующая команда произведёт плоский двоичный файл, результирующий файл будет содержать 24 байта (в little endian , если вы работаете на x86 машине):
Загрузочный код
Чтобы загрузить наше ядро, мы должны добавить код, который сможет вызвать загрузчик. Давайте создадим файл boot.asm :
Здесь есть несколько новых команд:
- global экспортирует метки (делает их публичными). Метка start будет входной точкой в наше ядро, она должна быть публичной,
- .text секция — это секция по умолчанию для исполняемого кода,
- bits 32 говорит о том, что следующие строки — это 32-битные инструкции. Это необходимо потому что процессор ещё находится в защищённом режиме, когда GRUB запускает наше ядро. Когда переключимся в Long mode в следующей статье, сможем запускать bits 64 (64-битные инструкции),
- mov dword инструкция помещает 32-битную константу 0x2f4b2f4f в адрес памяти b8000 (это выводит OK на экран, объяснено будет в следующих статьях),
- hlt — это инструкция, которая говорит процессору остановить выполнение команд.
После сборки, просмотра и дизассемблирования мы можем увидеть опкоды процессора в действии:
Создание исполняемого файла
Чтобы загрузить наш исполняемый файл позже через GRUB , он должен быть исполняемым ELF файлом. Поэтому необходимо с помощью nasm создать ELF объектные файлы вместо простых бинарников. Для этого мы просто добавляем в аргументы -f elf64 .
Для создания самого ELF исполняемого кода мы должны связать объектные файлы. Будем использовать кастомный скрипт для связывания, называемый linker.ld :
Переведём что написано на человеческий язык:
- start — это точка входа, загрузчик перейдёт к этой метке после загрузки ядра,
- . = 1M; уставливает адрес загрузки первой секции с 1-го мегабайта, это стандарт расположения для загрузки ядра,
- исполняемая часть имеет две секции: в начале boot и .text после,
- конечная секция .text будет содержать в себе все входящие секции .text ,
- секции, именованные как .multiboot_header , будут добавлены в первую выходную секцию ( .boot ), чтобы они располагались в начале исполняемого кода. Это необходимо, потому что GRUB ожидает найти заголовок мультизагрузки в начале файла.
Давайте создадим ELF объектные файлы и слинкуем их, используя вышеуказанный линкер скрипт:
Очень важно передать -n (или —nmagic ) флаг линкеру, который отключает автоматическое выравнивание секций в исполняемом файле. В противном случае линкер может выравнить страницу секции .boot в исполняемом файле. Если это произойдёт, GRUB не сможет найти заголовок мультизагрузки, потому что он будет находиться уже не в начале.
Воспользуемся командой objdump для того, чтобы вывести секции сгенерированного исполняемого файла и проверить, что .boot секция имеет наименьшее смещение в файле:
Примечание: команды ld и objdump платформо-зависимы. Если вы работаете не на x86_64 архитектуре, вы нуждаетесь в кросс компиляции binutils. После этого воспользуйтесь x86_64‑elf‑ld и x86_64‑elf‑objdump вместо ld и objdump соответственно.
Создание ISO-образа
Все персональные компьютеры, работающие на базе BIOS , знают, как загружаться с CD-ROM, так что нам необходимо создать загружаемый образ CD-ROM, содержащий наше ядро и файлы загрузчика GRUB в единственном файле, называемом ISO. Создайте следующую структуру директорий и скопируйте kernel.bin в директорию boot :
grub.cfg указывает имя файла нашего ядра и совместимость с multiboot 2 . Выглядит это так:
Теперь мы можем создать загружаемый образ, используя следующую команду:
Примечание: вызов grub-mkrescue может вызвать проблемы на некоторых платформах. Если она у вас не сработала, попробуйте следующие шаги:
- запустить команду с —verbose ,
- удостовериться, что библиотека xorriso установлена ( xorriso или libisoburn пакет).
[loomaclin@loomaclin a_minimal_multiboot_kernel]$ yaourt xorriso
1 extra/libisoburn 1.4.8-2
frontend for libraries libburn and libisofs
==> Enter n° of packages to be installed (e.g., 1 2 3 or 1-3)
==> — ==> 1
[sudo] password for loomaclin:
resolving dependencies…
looking for conflicting packages.
Packages (3) libburn-1.4.8-1 libisofs-1.4.8-1 libisoburn-1.4.8-2
Total Download Size: 1.15 MiB
Total Installed Size: 3.09 MiB
Загрузка
Пришло время загрузить нашу ОС. Для этого воспользуемся QEMU:
Появится окно эмулятора:
Обратите внимание на зелёный текст OK в верхнем левом углу. Если у вас это не работает, посмотрите секцию комментариев.
Резюмируем, что произошло:
- BIOS загружает загрузчик (GRUB) из виртуального CD-ROM (ISO).
- Загрузчик прочёл исполняемый код ядра и нашёл заголовок мультизагрузки.
- Скопировал секцию .boot и .text в память (по адресу 0x100000 и 0x100020 ).
- Переместился к точке входа ( 0x100020 , это можно узнать вызвав objdump -f ).
- Ядро вывело на экран текст OK зелёным цветом и остановило процессор.
Вы также можете протестировать это на настоящем железе. Необходимо записать получившийся образ на диск или USB накопитель и загрузиться с него.
Автоматизация сборки
Сейчас необходимо вызывать 4 команды в правильном порядке каждый раз, когда мы меняем файл. Это плохо. Давайте автоматизируем этот процесс, с помощью Makefile. Но для начала мы должны создать подходящую структуру директорий чтобы отделить архитектурно-зависимые файлы:
Makefile должен иметь следующий вид:
Некоторые комментарии (если вы не работали до этого с make , посмотрите makefile туториал):
- $(wildcard src/arch/$(arch)/*.asm) выбирает все файлы ассемблера в директории src/arch/$(arch) , так что вам не нужно обновлять Makefile при добавлении файлов,
- операция patsubst для assembly_object_files просто переводит src/arch/$(arch)/XYZ.asm в build/arch/$(arch)/XYZ.o ,
- таргеты сборки $ и $@ это автоматически выводимые переменные,
- если вы используете кросс-комплированные binutils просто замените ld на x86_64-elf-ld .
Теперь мы можем вызвать make и все обновлённые файлы ассемблера будут скомпилированы и скомпонованы. Команда make iso также создаёт ISO образ, а make run в дополнение запускает QEMU.
Что дальше?
В следующей статье мы создадим таблицу страниц и проведем некоторую конфигурацию процессора для переключения в 64-битный long-mode режим.
Repair Dual-boot (Multi-boot) Configuration: Guide for Windows XP, Vista, 7, 8, 10
If you installed multiple Windows versions on the same PC, your dual-boot (or multi-boot) configuration may stop working.
The most cause for a dual-boot or multi-boot configuration error (to stop working) is when you reinstall the older Windows version before the newer Windows version.
For example, Windows Vista and Windows 7 were already installed as dual-boot and then Windows Vista was reinstalled again. At the second installation, Windows Vista overwrites the MBR and the new MBR isn’t recognized by Windows 7.
In this article, you can find various solutions to repair your dual-boot configuration.
What is dual-boot/multi-boot
Dual-booting or multi-booting means installing multiple Windows versions (or other operating systems) on the same computer and being able to choose which operating system you’d like to boot into.
It’s very common to see this kind of configuration on Windows computers:
- Windows XP with Windows Vista
- Windows Vista with Windows 7
- Windows 8 with Windows 7
For more information on how to setup a dual-boot system, go to our guides from EasyBCD.
If you’re dual-booting Windows 8 with Windows 7, the boot options menu will look like this:
Fix dual-boot configuration with Easy Recovery Essentials
Easy Recovery Essentials can correct the errors of your computer’s boot configuration.
Easy Recovery Essentials can fix many errors such as this automatically using its built-in Automated Repair option. EasyRE is currently available for Windows XP, Vista, 7 and 8 and can be downloaded and created on any PC.
- Download Easy Recovery Essentials. Make sure to note your Windows version (XP, Vista, 7 or 8) before you download EasyRE. This guide can help you identify what version of Windows you have installed.
- Burn the image. Follow these instructions on how to burn the bootable ISO image very carefully, as making a bootable CD can be tricky! Alternatively, these instructions explain how to create a bootable EasyRE recovery USB stick/drive.
- Boot up your PC from the Easy Recovery Essentials CD or USB you created.
- Once EasyRE is running, choose the “Automated Repair” option and click Continue .
Choose “Automated Repair” in Easy Recovery Essentials
Choose the drive associated with the Windows installation you’re trying to repair.
Easy Recovery Essentials searches for errors and makes corrections to the selected Windows installation.
Windows, booting up successfully.
You can download Easy Recovery Essentials from here.
Other solutions to repair dual-boot configurations
Repair Windows XP on a dual-boot system
Windows Setup CD/DVD Required!
Some of the solutions below require the use of the Microsoft Windows setup CD or DVD. If your PC did not come with a Windows installation disc or if you no longer have your Windows setup media, you can use Easy Recovery Essentials for Windows instead. EasyRE will automatically find and fix many problems, and can also be used to solve this problem with the directions below.
If you have installed Windows XP along another Windows system (e.g. Windows Vista) on the same computer, follow these instructions to repair the Windows XP and fix the dual-boot configuration.
If you don’t have the original installation disc, go to Fix dual-boot configuration with Easy Recovery Essentials.
- Insert the Windows XP installation disc and start the computer
- At the Press any key to boot from CD screen, press any key to boot from the CD
- Press Enter to setup Windows. You will not re-install Windows XP, but repair the installation.Clicking R at this step will load Recovery Console, not the repair installation utility. Do not click R !
Windows XP Press R for Recovery Console
Repair Windows Vista on a dual-boot system
To repair Windows Vista’s bootloader and fix the dual-boot configuration, you can use the bootrec utility that’s available on the original Windows Vista installation disc (CD or DVD).
If you don’t have the original installation disc, go to Fix dual-boot configuration with Easy Recovery Essentials.
Fix #1: Run bootrec
Windows Setup CD/DVD Required!
Some of the solutions below require the use of the Microsoft Windows setup CD or DVD. If your PC did not come with a Windows installation disc or if you no longer have your Windows setup media, you can use Easy Recovery Essentials for Windows instead. EasyRE will automatically find and fix many problems, and can also be used to solve this problem with the directions below.
- Insert the installation disc in the tray and boot from it
- At the Welcome screen, click on Repair your computer
Windows Vista Repair Your Computer Menu
Windows Vista System Recovery Options
Fix #2: Run diskpart, then bootrec
Windows Setup CD/DVD Required!
Some of the solutions below require the use of the Microsoft Windows setup CD or DVD. If your PC did not come with a Windows installation disc or if you no longer have your Windows setup media, you can use Easy Recovery Essentials for Windows instead. EasyRE will automatically find and fix many problems, and can also be used to solve this problem with the directions below.
If Fix #1 above doesn’t work, you may need to set the partition which was Windows Vista installed as active first and then run bootrec.
To do so, run diskpart:
- Insert the Windows installation disc and boot from it
- Go to Command Prompt from System Recovery Options (same steps as Fix #1)
- Type:
- Press Enter
- Type:
This command will list all disks available on your computer.
Replace 0 with the disk where your Windows Vista is installed on. If you have only 1 hard drive, it’s 0 .
This command will list the partition available on the select disk.
Replace 0 with the partition where Windows Vista is installed.
Repair Windows 7 on a dual-boot system
In order to have Windows 7 back in your dual-boot options menu, use the bootsect utility to restore Windows 7’s MBR.
If you don’t have the original installation disc, go to Fix dual-boot configuration with Easy Recovery Essentials.
- Boot from the original Windows 7 installation DVD
- At the System Recovery Options screen, click Command Prompt
- Type:
- Press Enter
- Type:
Replace 0 with the disk available on the hard disk, where Windows 7 is installed on. To have the full list of disks from your computer, type list disk .
Where D: is the optical’s drive letter.
Repair Windows 8 or 8.1 on a dual-boot system
Using the bootrec utility you can repair Windows 8 or Windows 8.1 on a dual-boot system and boot into your Windows.
If you don’t have the original installation disc or original USB, go to Fix dual-boot configuration with Easy Recovery Essentials.
Fix #1: Use bcdboot
Windows Setup CD/DVD Required!
Some of the solutions below require the use of the Microsoft Windows setup CD or DVD. If your PC did not come with a Windows installation disc or if you no longer have your Windows setup media, you can use Easy Recovery Essentials for Windows instead. EasyRE will automatically find and fix many problems, and can also be used to solve this problem with the directions below.
Using bcdboot, attempt to fix your computer and have the boot menu back:
- Insert the Windows 8 DVD or Windows 8.1 USB and restart your computer to boot from the media
- Go to Command Prompt (click Troubleshoot > Command Prompt)
- Type:
Where C:\ is the drive’s letter where Windows 8 or Windows 8.1 is installed on.
Fix #2: Use diskpart, then bootrec
- Insert the Windows 8 DVD or Windows 8.1 USB
- Restart your computer and boot from the media
- Click Repair your computer at the Welcome screen
Windows 8 Repair Your Computer Menu
Where 2 is the volume with the FAT32 format.
Where x: is the partition’s letter. The letter must be unique.
Where x: is the letter you used.
This would create backup of the BCD.
Where c:\ is the drive’s letter where Windows 8 is installed on.
Repair Windows 10 on a dual-boot system
Using the bootrec utility you can repair Windows 10 on a dual-boot system and boot into your Windows.
If you don’t have the original installation disc or original USB, go to Fix dual-boot configuration with Easy Recovery Essentials.
Fix #1: Use bcdboot
Windows Setup CD/DVD Required!
Some of the solutions below require the use of the Microsoft Windows setup CD or DVD. If your PC did not come with a Windows installation disc or if you no longer have your Windows setup media, you can use Easy Recovery Essentials for Windows instead. EasyRE will automatically find and fix many problems, and can also be used to solve this problem with the directions below.
Using bcdboot, attempt to fix your computer and have the boot menu back:
- Insert the Windows 10 media and restart your computer to boot from the media
- Go to Command Prompt (click Troubleshoot > Command Prompt)
- Type:
Where C:\ is the drive’s letter where Windows 10 is installed on.
Fix #2: Use diskpart, then bootrec
- Insert the Windows 10 media
- Restart your computer and boot from the media
- Click Repair your computer at the Welcome screen
- Go to Troubleshoot > Command Prompt
- Type:
- Press Enter
- Type:
- Press Enter
- Type:
- Press Enter
- Determine which volume has FAT32 mentioned at the Fs column. This would be the UEFI/EFI partition with Windows 10
- Type:
Where 2 is the volume with the FAT32 format.
Where x: is the partition’s letter. The letter must be unique.
Where x: is the letter you used.
This would create backup of the BCD.
Where c:\ is the drive’s letter where Windows 10 is installed on.
More Information
Linked Entries
Support Links
It’s an easy-to-use and automated diagnostics disk. It’s available for Windows 8, Windows 7 and Windows Vista. It’s also available for Windows XP and Windows Server.
Read more at Windows Recovery Disks.
Applicable Systems
This Windows-related knowledgebase article applies to the following operating systems:
- Windows XP (all editions)
- Windows Vista (all editions)
- Windows 7 (all editions)
- Windows 8 (all editions)
- Windows 8.1 (all editions)
- Windows 10 (all editions)