Jednym z moich zadań jest konfiguracja komputerów dostarczanych w naszych produktach z obrazami systemu operacyjnego Windows (Embedded i OEM) z partycją przywracania. Korzystam z Clonezilla Live z GRUB2 do wdrożenia tego procesu. Działa to dobrze z Windows XP / Embedded Standard 2009. To nie działa z Windows 7 i przypuszczam, że później niż Vista ze względu na zmiany Menedżera rozruchu. Obecny obraz systemu, który próbuję skonfigurować, jest następujący:
/ dev / sda1, ntfs, PRIMARY, 62.5 GiB, 3.15 GiB, 59,35 GiB, bez flag
/ dev / sda2, ntfs, RESTORE, 4.00 GiB, 1.74 GiB, 2.26 GiB, ukryty
/ dev / sda3, fat32, CLONEZILLA, 4.00 GiB , 115,22 MiB, 3,89 GiB, ukryty
/ dev / sda4, ext4, BOOT, 1.00 GiB, 53,91 MiB, 970.09 MiB, boot
/ dev / sda1 przechowuje OEM 7 systemu Windows (zapieczętowany), dev / sda2 przechowuje obraz przywracania oparty na clonezilli (zapieczętowany)
/ dev / sda MBR to program ładujący GRUB2
Mogę sprawić, aby GRUB2 ładował się dobrze i przywracał obraz systemu Windows 7. Nie mogę jednak uruchomić systemu Windows 7 i wyświetlić błąd 0xc0000225. Aktualizacja: po zmodyfikowaniu sektora rozruchowego w sposób opisany poniżej, aby uzyskać sekcję początkową sda1 w celu uzgodnienia z MBR, 0xc0000225 zniknął i zacząłem otrzymywać błąd 0xc000000e z plikiem winload.exe, który skarżył się użytkownikowi . Jednak ten plik jest obecny i nienaruszony, o ile mogę to stwierdzić za pomocą innych narzędzi.
Informacje z bootinfoscript Meierfrankenfelda i Hulselmansa pokazują problemy z sda1 (sektor rozruchowy pokazuje sda1 w sektorze 411648 w wersjach fdisk, który pokazuje 2048) i sda3 (sektory rozruchowe pokazują sda3 w sektorze 0 i fdisk, który pokazuje 164628480). Nie jestem pewien, co muszę zmodyfikować w tym momencie, ani najlepsze narzędzie do tego. Nie mam nic przeciwko edytorowi szesnastkowemu, gdybym mógł dobrze opisać, w jaki sposób są ułożone BCD i grub2 MBR. Aktualizacja: W końcu zaktualizowałem sektor rozruchowy, aby uzyskać zgodę z fdisk dla sda1.
Przed uszczelnieniem komputera i dodaniem / dev / sda3 i / dev / sda4, połączyłem partycję rozruchową systemu Windows 7 z / dev / sda1. Uruchomił się ponownie i działał dobrze.
Próbowałem czytać materiały BCD dostarczone przez Microsoft i upewniłem się, że obiekty Menedżera rozruchu systemu Windows i programu ładującego wskazują prawidłową partycję (używali składni custom = xyz, która również nie działała).
To przywracanie działało dobrze w przeszłości, ponieważ mogłem całkowicie zautomatyzować proces przywracania, co jest krytyczną potrzebą dla naszego użytkownika końcowego. Dysk przywracania nie jest tutaj opcją.
Potwierdziłem, że bcd używa partycji = C: w odniesieniu do urządzenia / urządzenia os / bootmgr.
Udało mi się więc potwierdzić, że MBR jest nienaruszony, VRB na sda1 jest obecny i nienaruszony, pliki $ MFT i $ MFTMirr istnieją w miejscu wskazanym w VBR, co zostało potwierdzone przez narzędzie istat (nie lstat) w sleuthkit . Plik winload wymieniony w powyższym błędzie istnieje w lokalizacji podanej mi przez narzędzie fluth sleuthkit i zgadza się z rozmiarem plików z innych instalacji.
Alternatywnie, jeśli jesteś producentem OEM i chcesz udostępnić proces przywracania, który działa dobrze w środowisku konsumenckim / osadzonym, chętnie usłyszę również tę opinię. Dziękuję Ci.