dadv: (Default)
[personal profile] dadv

Долгая история проблемы совместимости бутменеджера FreeBSD по имени BootEasy (или проще boot0) получила логическое завершение (на текущем этапе ;-)

Больше четырех лет назад напоролся на то, что WinXP иногда (зависит от дисковой конфигурации системы) не может загрузиться, если в MBR установлен сторонний бутменеджер, потому что XP ищет там свою 4-байтную "метку", которую она туда прописывает при установке. По результатам обсуждения сделал патч на BootEasy (тогда от FreeBSD 4), который делал его и системные утилиты FreeBSD совместимыми с этой виндовой меткой. Патч в том же обсуждении опубликовал и долгое время нормально жил с патченным загрузчиком, благо обновлять его в MBR после однократной установки не требуется.

В 2006-м обновил патч для BootEasy от FreeBSD 6.1, чтобы опять же подружить его с WinXP в особой дисковой конфигурации.

В январе этого года обнаружил, что BootEasy с Vista не совместим вообще, в любых конфигурациях - Vista без своей метки не грузится безусловно, в отличие от XP, которой метка нужна не всегда. Обновил патч опять, теперь уже для BootEasy от семерки. Попутно обнаружив, что какой-то австралиец нашел мой код и засамбитил его в PR: bin/127764. Откуда его подобрал luigi@ и со своими редакторскими изменениями прокоммитил его сначала в CURRENT, а потом и в RELENG_7.

И вот сегодня вышла FreeBSD 7.2-RELEASE, где в Release Notes объявлено, что "The boot(8) now supports 4-byte volume ID that certain versions of Windows® put into the MBR and invoking PXE by pressing F6 key on some supported BIOSes."

К поддержке PXE отношения никакого не имею, а вот что больше не надо будет патчить загрузчик - приятно.

Update: В 7.2-RELEASE код загрузчика, обеспечивающий совместимость, по умолчанию не вкомпилирован. Загрузчик необходимо пересобирать в режиме совместимости. В 8.0-RELEASE уже всё работает по умолчанию.

Date: 2010-01-18 10:20 (UTC)
From: [identity profile] dadv.livejournal.com
Вообще-то сейчас подумал, что "NT Loader missing" это другая проблема.

Date: 2010-01-18 10:38 (UTC)
From: [identity profile] d11he11.livejournal.com
Хз. В принципе похоже: проблема всегда возникала при наличии >1 винта в системе. Надо буит попробовать на том же компе установку с единственным винтом..

Date: 2010-01-18 10:47 (UTC)
From: [identity profile] dadv.livejournal.com
"NT Loader is missing" может получиться просто от того, что сместилась нумерация разделов в MBR. Например, если по какой-то причине фрёвый раздел стал первым, а виндовый вторым. Для XP тогда достаточно в boot.ini поменять номер раздела.

Date: 2010-01-18 11:00 (UTC)
From: [identity profile] d11he11.livejournal.com
http://ru.wikipedia.org/wiki/NTLDR

Если я правильно ошибаюсь, boot.ini читается при загрузке NTLDR.
А если 'NTLDR is missing' то до этого дело не дойдет.

Date: 2010-01-18 11:09 (UTC)
From: [identity profile] dadv.livejournal.com
Кстати, да. "Сообщение об ошибке «NTLDR Is Missing» может появиться после смены активного раздела. Для нормальной работы загрузчика Windows необходимо, чтобы системные файлы, которые он использует, располагались на активном разделе." Я всегда в MBR ставлю BootEasy, который по дефолту "на лету" маркирует активным выбранный раздел, видимо поэтому такой проблемы у меня никогда не было.

Date: 2010-01-18 11:10 (UTC)
From: [identity profile] dadv.livejournal.com
http://support.microsoft.com/kb/315261

Profile

dadv: (Default)
Choose your future

July 2024

M T W T F S S
12 34567
891011121314
15161718192021
22232425262728
293031    

Tags

Style Credit

Powered by Dreamwidth Studios