Одна из моих рабочих задач - настроить компьютеры, поставляемые в наших продуктах, с образами ОС Windows (Embedded и OEM) с разделом восстановления. Я использовал Clonezilla Live с GRUB2 для реализации этого процесса. Это работало нормально с Windows XP/Embedded Standard 2009. Это не работает с Windows 7, и я предположил бы что-нибудь позже, чем Vista, из-за изменений в Boot Manager. Текущий образ системы, который я пытаюсь настроить, выглядит следующим образом:
/dev/sda1, ntfs, PRIMARY, 62,5 ГиБ, 3,15 ГиБ, 59,35 ГиБ, без флагов
/dev/sda2, ntfs, RESTORE, 4,00 ГиБ, 1,74 ГиБ, 2,26 ГиБ, скрытые
/dev/sda3, fat32, CLONEZILLA, 4,00 ГиБ, 115,22 МБ, 3,89 ГиБ, скрытые
/dev/sda4, ext4, BOOT, 1,00 ГБ, 53,91 МБ, 970,09 МБ, загрузка
/dev/sda1 содержит Windows 7 OEM (запечатанный), dev/sda2 содержит образ восстановления clonezilla (запечатанный)
/dev/sda MBR - загрузчик GRUB2
Я могу заставить GRUB2 нормально загружаться и восстанавливать образ Windows 7. Тем не менее я не могу загрузить Windows 7 и получить ошибку 0xc0000225. Обновление: после того, как я изменил загрузочный сектор, как описано ниже, чтобы заставить начальный раздел sda1 согласиться с MBR, 0xc0000225 исчез, и я начал получать ошибку 0xc000000e с файлом winload.exe, на который он жаловался пользователю , Тем не менее, этот файл присутствует и не поврежден, насколько я могу судить с помощью других утилит.
Информация из загрузочного файла Meierfrankenfeld и Hulselmans показывает проблемы с sda1 (загрузочный сектор показывает sda1 в секторе 411648, стихи fdisk, который показывает 2048) и sda3 (загрузочные сектора показывают sda3 в секторе 0 и fdisk, который показывает 164628480). Я не уверен, что мне нужно изменить в данный момент или лучший инструмент для этого. Я в порядке с шестнадцатеричным редактором, если бы я мог дать хорошее описание того, как расположены BCD и grub2 MBR. Обновление: я наконец обновил загрузочный сектор, чтобы получить согласие с fdisk для sda1.
Прежде чем запечатать машину и добавить /dev /sda3 и /dev /sda4, я слил загрузочный раздел Windows 7 в /dev /sda1. Перезагрузился и работал нормально.
Я попытался прочитать материалы BCD, которые предоставляет Microsoft, и убедился, что объекты Windows Boot Manager и Loader указывают на правильный раздел (они использовали некоторый синтаксис custom = xyz, который тоже не работал).
Это восстановление работало хорошо в прошлом, так как я был в состоянии полностью автоматизировать процесс восстановления, который является критической необходимостью для нашего конечного пользователя. Восстановить диск здесь не вариант.
Я подтвердил, что bcd использует partition = C: для обозначения устройства /os device /bootmgr.
Итак, я смог подтвердить, что MBR присутствует нетронутым, VRB на sda1 присутствует и не поврежден, файлы $ MFT и $ MFTMirr существуют в месте, указанном в VBR, что подтверждается инструментом istat (не lstat) в sleuthkit , Файл winload, указанный в приведенной выше ошибке, находится в месте, указанном мне утилитой fls sleuthkit, и согласуется с размером файла из других установок.
В качестве альтернативы, если вы являетесь OEM-производителем и хотите поделиться процессом восстановления, который хорошо работает в потребительской / встроенной среде, я бы с удовольствием услышал и эту обратную связь. Спасибо.