Можно ли исправить ошибку 0xc0000225 без переустановки Windows?
У меня есть система с двойной загрузкой Gentoo Linux и Windows 7 с использованием GRUB2. Компьютер имеет четыре диска, а Windows установлена на третий (последний) раздел диска № 2. Расположение дисков выглядит следующим образом:
|boot|-----------------home-----------------|-------------windows-------------|
(boot
а также home
являются разделами Linux) Это странная установка, но она всегда работала, пока я не решил сжать раздел Windows с помощью Gparted. Новый макет:
|boot|-----------------------home-----------------------|-------windows-------|
После внесения этих изменений в раздел, когда я выбираю опцию Windows в GRUB2 и она передает управление загрузчику Windows, я получаю сообщение об ошибке:
Менеджер загрузки для Windows
Не удалось запустить Windows. Причиной может быть недавнее изменение аппаратного или программного обеспечения. Решить проблему: 1. Вставьте установочный диск Windows и перезагрузите компьютер. 2. Выберите настройки языка и нажмите "Далее". 3. Нажмите "восстановить компьютер". Если у вас нет этого диска, обратитесь к системному администратору или компьютеру производитель за помощь. Статус: 0xc0000225 Информация: Не удалось выбрать загрузку, поскольку требуемое устройство недоступно.
Я не особенно удивлен, что это происходит, но мне интересно, смогу ли я это исправить без переустановки 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
When I run the same commands with all drives connected, the output is the same, except that diskpart
correctly shows all the drives, and the drive letter for the Windows partition in question is D
вместо C
(because I have an NTFS data partition on drive #1).
I would note that bootrec /fixmbr
overwrites the MBR of drive #2, replacing the MBR put there by GRUB2. When I then try to boot from that disk, I simply get the message "Missing operating system" instead of the 0xc0000225 error. I can then boot into Linux and use grub-install
to put back the GRUB2 MBR, and then choosing the Windows option in GRUB2 gives 0xc0000225 again.
5 ответов
В зависимости от используемого метода, некоторые вещи могут меняться в процессе:
Раздел Подробности: Использование 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
Возможно, вы вызвали проблему, слишком сильно уменьшив раздел Windows.
В Windows есть несколько неподвижных файлов, которые сторонний продукт может решить перенести. В будущем вы должны использовать Windows Disk Manager для изменения размера своих разделов, так как он не сломает диск. Также рекомендуется сначала отключить и очистить корзину, отключить файл подкачки и режим гибернации, чтобы свести к минимуму количество специальных файлов Windows, а также запустить дефрагментатор, который уплотняет все файлы к началу диск.
Тем не менее, вы можете сделать Repair Install, чтобы исправить Windows 7. Эта легкая форма установки исправит установленную вами Windows 7 и сохранит ваши учетные записи, данные, программы и системные драйверы. Связанная статья подробно описывает процесс со скриншотами. Возможно, вам придется иметь дело с некоторым разрушением загрузочного сектора GRUB2.
Если Repair Install не работает, то Gparted уничтожил ваш раздел Windows. Я надеюсь, что у вас есть резервная копия в этом случае, так как в противном случае вам, возможно, придется прибегнуть к утилите восстановления данных.
У меня была похожая проблема (тот же код ошибки 0xc0000225) на моем компьютере, когда я пытался перейти на Windows 10
Проблема возникла из-за пустого раздела EFI, который все еще оставался на одном из моих дисков. При загрузке компьютер находит 2 раздела EFI: один из моей основной ОС, а другой соответствует старой ОС, которую я удалил несколько месяцев назад (я перешел со своего первого жесткого диска на SSD и отформатировал все)
Может быть, это тоже ваша проблема. У меня есть 2 решения для вас, надеюсь, это работает:
- На панели управления управляйте компьютером, найдите бесполезный раздел EFI и удалите его.
- Запустите ваш компьютер с поддержкой установки Windows (вы можете сделать это, загрузив мастер на веб-сайте Microsoft), запустите программу установки, дополнительные настройки, и, когда она представит вам все тома, найдите раздел EFI и удалите его.
Я также переустановил Windows, но если вы удалите плохой раздел EFI, этого будет достаточно
С тех пор больше никаких проблем при загрузке, мой компьютер мог установить W10 и т.д...
Извините, если я не дам вам точные названия вещей, на которые вы должны нажать, моя ОС на французском языке ^^
Для ремонта вам понадобится стандартный установочный носитель Win10. Загрузите с его помощью систему и выберите ручное восстановление/командную строку на установочном носителе. Начните с diskpart, чтобы вручную выбрать загрузочный раздел системы и назначить ему букву диска, после этого пересоберите bcdboot на выбранном томе, возможно, fixmbr тоже поможет, вот и все.
Выполните следующие действия:
Вставьте носитель (DVD/USB) в компьютер и перезагрузите компьютер.
Загрузка с носителя
Выберите «Восстановить компьютер».
Выберите Устранение неполадок.
Выберите «Командная строка» в меню.
Введите команду:
C:\> Diskpart
DISKPART> list disk
DISKPART> sel disk 0
DISKPART> list volume
На этом этапе вам необходимо вручную выбрать системный загрузочный раздел FAT32 Win10 размером ~110 МБ, в этом примере эта часть имеет номер: 99. Выбирайте внимательно, потому что мы перезапишем содержимое этого тома. Загрузочный раздел имеет размер около 110 МБ и имеет файловую систему FAT32.
DISKPART> sel volume 99
DISKPART> assign letter=b:
DISKPART> exit
Отформатируйте выбранный раздел (перед форматированием вы можете перепроверить содержимое этого раздела, он должен содержать только один корневой каталог с именем EFI.)
C:\> format B: /FS:FAT32
пересобрать загрузочную систему на сформированном разделе
C:\> bcdboot C:\windows /s B: /f UEFI
исправить загрузочную запись (в большинстве случаев это не обязательно, но если вы это сделаете, то не допустите ошибки)
C:\> bootrec /fixmbr
C:\> exit
Сделанный.
перезагрузите систему, вуаля
Добавление ответа здесь, потому что это страница, которая показала для меня, и ответ, который мне был нужен:
0xc0000225 также может быть вызвано отключением поддержки ACPI APIC в BIOS (как указано в этом BIOS). Я отключил его при исправлении проблем с приостановкой в Ubuntu, но Windows в этом случае требует, чтобы он был включен.
Это также вызвало ошибку установки cd / usb, восстановление с той же ошибкой, поэтому с Windows ничего нельзя было сделать, пока она не была включена.
0xc0000225 произошел во время обновления Windows 10 Creators, но не загружался обратно в Windows до тех пор, пока не отключил настройку в BIOS, поэтому он выглядел так, как будто это было вызвано обновлением, но на самом деле это не так! Tricky!