2

У меня в настоящее время установлен загрузчик burg на моем mbr (+ следующие сектора), и я хотел бы установить его на загрузочный раздел и заменить mbr простым, который загрузит раздел, помеченный как активный (флаг "boot") в некоторых инструментах разбиения).

Хотя я знаю достаточно программирования, чтобы написать в ассемблере загрузочный сектор, который найдет первый активный раздел и загрузит его, я бы предпочел использовать существующий.

Где я могу найти такой загрузочный сектор? Может быть, загрузочный сектор Windows по умолчанию делает это?

Почему я хочу это сделать

У меня есть инструмент для Windows (3DS Max), который постоянно ломает загрузчик burg при каждом запуске. По-видимому, он включает в себя "антипиратское" программное обеспечение под названием FlexNet, которое помечает ваш компьютер как «эй, 3DS Max был установлен здесь, к сожалению, он пишет, что информация находится в одном из 63 секторов, следующих за загрузочным сектором, и там установлен burg (I назвал бы такое поведение "вредоносным ПО" или "критической ошибкой").

Последние версии grub теперь обнаруживают, когда приложение сломало вашу загрузку, и используют разные сектора, но burg (графический вариант grub) не хватает этого патча.

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

2 ответа2

1

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

Хорошо, потому что программам менеджера загрузки / загрузчика так же плохо полагать, что это пространство свободно для использования, как это делает FlexNet Publisher. Помимо того , что на EFI распределяли дисков он не свободен вообще, это только случайность , и привычки , которые делают это дело на некоторых MBR распределяли дисков. В конце концов, прошло уже довольно много лет с тех пор, как мир начал не начинать первый раздел в начале "дорожки" 1, а вместо этого выравнивать разделы в диапазоне от 4 КБ до границ нескольких ГиБ.

(В старые добрые времена загрузочные секторы ПК делали именно это).

И есть много способов записи загрузочного кода, который делает это в Master Boot Record, из утилиты Microsoft

bootsect /nt60 SYS /mbr
через утилиту FreeBSD
fdisk -B ada0
в утилиту Linux
ms-sys --mbrsyslinux /dev/sda

Я сам написал две программы newmbr .

Для этого есть множество утилит, на "спасательных" дисках и в инструментах разметки. Я слышал, что у некоторых людей даже есть код для этого на разделенных жестких дисках EFI. ☺

дальнейшее чтение

0

Я полагаю, что после того, как вы установили загрузчик, ваша MBR уже настроена правильно с кодом BootStrap. Это все, что вам нужно. Если вы перенесли загрузчик в другой раздел, все, что вам нужно сделать, это изменить флаг активного раздела в MBR. Также убедитесь, что тип раздела правильный.

Вы можете изменить этот флаг, отредактировав вручную свою MBR (команда dd + приличный шестнадцатеричный редактор, записи разделов начинаются со смещения 1BEh) или, в качестве альтернативы, используйте какую-либо утилиту, такую как fdisk или gparted.

*РЕДАКТИРОВАТЬ:

Вместо передачи вы можете также попытаться установить BURG непосредственно на отдельный раздел, как если бы вы делали с GRUB:

sudo burg-install –force –root-directory=/media/BootPartitionMountPoint  /dev/sda

Это позволит настроить правильный MBR с кодом BootStrap, содержащим инструкцию для перехода к вашему BootPartitionMountPoint и загрузки BURG.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .