15

У меня есть система с двойной загрузкой Gentoo Linux и Windows 7 с использованием GRUB2. Компьютер имеет четыре диска, а Windows установлена на третий (последний) раздел диска № 2. Расположение дисков выглядит следующим образом:

|boot|-----------------home-----------------|-------------windows-------------|

(boot и home - это разделы Linux) Это странная настройка, но она всегда работала, пока я не решил сжать раздел Windows с помощью Gparted. Новый макет:

|boot|-----------------------home-----------------------|-------windows-------|

После внесения этих изменений в раздел, когда я выбираю опцию Windows в GRUB2 и она передает управление загрузчику Windows, я получаю сообщение об ошибке:

Windows Boot Manager  

Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:   1. Insert your Windows installation disc and restart your computer.   2. Choose your language settings, and then click "Next."   3. Click "repair your computer." If you don't have this disc, contact your system administrator or computer manufacturer for assistance.   Status: 0xc0000225   Info: The boot selection failed because a required device is inaccessible.

Я не особенно удивлен, что это происходит, но мне интересно, смогу ли я это исправить без переустановки Windows.

Я попытался загрузить компьютер с установочного DVD-диска Windows (в частности, DVD-диска обновления Windows 7). После того, как я выбрал язык и клавиатуру и нажал "Восстановить этот компьютер", экран "Параметры восстановления системы" не обнаружил мой раздел Windows. В любом случае я могу нажать "Далее" и затем использовать "Восстановление при загрузке", которое не решает проблему, или попробовать инструменты командной строки, а именно bootrec (предлагается несколькими веб-сайтами), sfc и chkdsk . Никто из них не имел значения; Я все еще получаю то же сообщение об ошибке. (См. Ниже для подробного вывода.)

Также, как предлагалось в аналогичных вопросах, я попытался использовать функциональность "Rebuild BS" (перестроить загрузочный сектор) в TestDisk, работающем под Linux, действующим на разделе Windows. Это также не изменило ошибку, которую я получаю.

Я не видел каких-либо признаков повреждения данных ни в одном из разделов, и накопители не пострадали от какого-либо физического повреждения, поэтому вполне вероятно, что причиной этой ошибки является изменение структуры разделов. Я полагаю, что Windows должна иметь начальный сектор и / или размер раздела, хранящиеся где-то в своей файловой системе (реестре?), Предполагая, что в принципе должно быть возможно это исправить, переместив пару байтов в файле где-нибудь. Но какой файл? Или есть что-то более сложное?

Если это поможет, вот раздел конфигурации GRUB2, соответствующий Windows:

menuentry 'Windows 7 (loader) (on /dev/sdb3)' --class windows --class os $menuentry_id_option 'osprober-chain-1F9948EB30A986A0' {
        insmod part_msdos 
        insmod ntfs
        set root='hd1,msdos3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3  1F9948EB30A986A0
        else
          search --no-floppy --fs-uuid --set=root 1F9948EB30A986A0
        fi
        chainloader +1
}

Опять же, в идеале я ищу способ исправить это без переустановки Windows. Если это невозможно, то переустановка является приемлемым планом B, но я могу справиться с этим самостоятельно.


Вот расшифровка моих сеансов командной строки при загрузке в среду восстановления с установочного DVD-диска Windows 7. Я удалил несколько пустых строк для удобства чтения. Следующее со всеми другими отключенными дисками:

>bootrec /fixmbr
The operation completed successfully,

>bootrec /fixboot
The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.

>bootrec /scanos
Scanning all disks for Windows installations.
Please wait, since this may take a while...
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1]  C:\Windows
The operation completed successfully.

>bootrec /rebuildbcd
Scanning all disks for Windows installations.
Please wait, since this may take a while...
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1]  C:\Windows
Add installation to boot list? Yes(Y)/No(N)/All(A):y
The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.

>sfc /verifyonly /offwindir=C:\Windows /offbootdir=C:\
Beginning system scan.  This process will take some time.
Windows Resource Protection did not find any integrity violations.

>chkdsk C: /F
The type of the file system is NTFS.
Volume label is windows.
CHKDSK is verifying files (stage 1 of 3)...
  313344 file records processed.
File verification completed.
  1684 large file records processed.
  0 bad file records processed.
  2 EA records processed.
  158 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
  416370 index entries processed.
Index verification completed.
  0 unindexed files scanned.
  0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  313344 file SDs/SIDs processed.
Security descriptor verification completed.
  51514 data files processed.
CHKDSK is verifying Usn journal...
  35406088 USN bytes processed.
Usn Journal verification completed.
Windows has checked the file system and found no problems.
 207510871 KB total disk space.
 104134880 KB in 251224 files.
    137304 KB in 51514 indexes.
         0 KB in bad sectors.
    423075 KB in use by the system.
     65536 KB occupied by the log file.
 102815612 KB available on disk.
      4096 bytes in each allocation unit.
  51877717 total allocation units on disk.
  25703903 allocation units available on disk.
Failed to transfer logged messages to the event log with status 50.

>diskpart
Microsoft DiskPart version 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MININT-P92LVUL
DISKPART>list disk
  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          596 GB      0 B
DISKPART>select disk 0
Disk 0 is now the selected disk.
DISKPART>list part
  Partition ###  Type              Size     Offset 
  -------------  ----------------  -------  -------
  Partition 1    Primary             62 MB    31 KB
  Partition 2    Primary            398 GB    62 MB
  Partition 3    Primary            197 GB   398 GB

Когда я запускаю одни и те же команды со всеми подключенными дисками, вывод одинаков, за исключением того, что diskpart правильно показывает все диски, и буква диска для рассматриваемого раздела Windows - D вместо C (потому что у меня есть раздел данных NTFS диск № 1).

Я хотел бы отметить, что bootrec /fixmbr перезаписывает MBR диска # 2, заменяя MBR, помещенный туда GRUB2. Когда я пытаюсь загрузиться с этого диска, вместо сообщения 0xc0000225 вместо сообщения 0xc0000225 появляется сообщение "Отсутствует операционная система". Затем я могу загрузиться в Linux и использовать grub-install для возврата GRUB2 MBR, а затем выбор опции Windows в GRUB2 снова дает 0xc0000225.

4 ответа4

11

В зависимости от используемого метода, некоторые вещи могут меняться в процессе:

Сведения о разделе: используйте active в diskpart, чтобы снова активировать раздел.

Загрузочный сектор: инструмент bootsect можно использовать для восстановления загрузочного сектора. (например, bootsect /nt60 C:

UUID раздела: изменяя положение и / или размер раздела, UUID изменяется; таким образом, недоступный UUID, сохраненный в BCD, не соответствует UUID вашего раздела. Чтобы это исправить, удалите и восстановите BCD следующим образом:

bcdedit /export C:\boot\bcd.backup
ren C:\boot\bcd C:\boot\bcd.old
bootrec /rebuildbcd
3

Возможно, вы вызвали проблему, слишком сильно уменьшив раздел Windows.

В Windows есть несколько неподвижных файлов, которые сторонний продукт может решить перенести. В будущем вы должны использовать Windows Disk Manager для изменения размера своих разделов, так как он не сломает диск. Также рекомендуется сначала отключить и очистить корзину, отключить файл подкачки и режим гибернации, чтобы свести к минимуму количество специальных файлов Windows, а также запустить дефрагментатор, который сжимает все файлы к началу диск.

Тем не менее, вы можете сделать Repair Install, чтобы исправить Windows 7. Эта легкая форма установки исправит установленную вами Windows 7 и сохранит ваши учетные записи, данные, программы и системные драйверы. Связанная статья описывает процесс подробно со скриншотами. Возможно, вам придется иметь дело с некоторым разрушением загрузочного сектора GRUB2.

Если Repair Install не работает, то Gparted уничтожил ваш раздел Windows. Я надеюсь, что у вас есть резервная копия в этом случае, так как в противном случае вам, возможно, придется прибегнуть к утилитам восстановления данных.

1

У меня была похожая проблема (тот же код ошибки 0xc0000225) на моем компьютере, когда я пытался перейти на Windows 10

Проблема возникла из-за пустого раздела EFI, который все еще оставался на одном из моих дисков. При загрузке компьютер находит 2 раздела EFI: один из моей основной ОС, а другой соответствует старой ОС, которую я удалил несколько месяцев назад (я перешел со своего первого жесткого диска на SSD и отформатировал все)

Может быть, это тоже ваша проблема. У меня есть 2 решения для вас, надеюсь, это работает:

  • На панели управления управляйте компьютером, найдите бесполезный раздел EFI и удалите его.
  • Запустите ваш компьютер с поддержкой установки Windows (вы можете сделать это, загрузив мастер на веб-сайте Microsoft), запустите программу установки, дополнительные настройки, и, когда она представит вам все тома, найдите раздел EFI и удалите его.

Я также переустановил Windows, но если вы удалите плохой раздел EFI, этого будет достаточно

С тех пор больше никаких проблем при загрузке, мой компьютер может установить W10 и т.д ...

Извините, если я не дам вам точные названия вещей, на которые вы должны нажать, моя ОС на французском языке ^^

-1

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

0xc0000225 также может быть вызвано отключением поддержки ACPI APIC в BIOS (как указано в этом BIOS). Я отключил его при исправлении проблем с приостановкой в Ubuntu, но Windows в этом случае требует, чтобы он был включен.

Это также вызвало сбой установки cd/usb, восстановление с той же ошибкой, поэтому с Windows ничего нельзя было сделать, пока она не была включена.

0xc0000225 произошел во время обновления Windows 10 Creators, но не загружался обратно в Windows до тех пор, пока не отключил настройку в BIOS, так что похоже, что это было вызвано обновлением, но на самом деле это не так! Tricky!

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