Чи можна виправити помилку 0xc0000225 без перевстановлення Windows?


16

У мене є система, яка використовує подвійні черевики 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 не вдалося запустити. Причиною може бути недавня зміна обладнання або програмного забезпечення. Щоб вирішити проблему:   1. Вставте інсталяційний диск Windows і перезавантажте комп'ютер.   2. Виберіть свої мовні налаштування та натисніть «Далі».   3. Клацніть «відновити комп’ютер». Якщо у вас немає цього диска, зверніться до системного адміністратора або комп’ютера виробник для надання допомоги.   Статус: 0xc0000225   Інформація: не вдалося вибрати завантаження, оскільки потрібний пристрій недоступний.

Я не особливо здивований, що це трапляється, але мені цікаво, чи можна це виправити, не перевстановлюючи Windows.

Я спробував завантажувати комп’ютер за допомогою інсталяційного DVD з Windows (зокрема, DVD з оновленням до Windows 7). Після того як я вибираю мову та клавіатуру та натискаю "Відновити цей комп'ютер", екран "Параметри відновлення системи" не визначає мій розділ Windows . Я все одно можу натиснути «Далі», а потім використати «Ремонт запуску», який не вдається виправити проблему , або спробувати інструменти командного рядка, а саме bootrec(запропоновані кількома веб-сайтами) sfc, та chkdsk. Жоден з них не змінив значення; Я все одно отримую те саме повідомлення про помилку. (Детальнішу інформацію див. Нижче.)

Також, як було запропоновано у подібних питаннях, я спробував використовувати функцію "Відновити 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. Потім я можу завантажитися в Linux і використовувати grub-installдля повернення GRUB2 MBR, а потім, вибравши опцію Windows у GRUB2, знову дається 0xc0000225.


Для клонування Windows часто потрібні маніпуляції з розділами, що порушують процес завантаження Windows - Windows не завантажиться, якщо розділ розміщений на іншому положенні на диску, ніж це було під час встановлення. Було б приємно скористатися своїми висновками :)
Basilevs


@ ali786 добре, я б краще перевстановити Windows, ніж витратити 20 доларів на інструмент для вирішення проблеми. Але в іншому випадку це був би варіант. (Я вже переглядав цей веб-сайт, готуючи це питання.)
David Z

Як щодо використання інсталяційного диска та натискання «Оновити зараз» замість чистої установки? Це свого роду перевстановлення, але ви зберігаєте свої файли.
Студії Rsya

1
@RsyaStudios Графічний інсталятор не виявляє моєї існуючої установки Windows, тому я не думаю, що можу це зробити.
David Z

Відповіді:


11

Залежно від використовуваного методу, певні речі можуть змінюватися в ході:

Інформація про розділ : Використовуйте activeу диску-диску, щоб знов активувати розділ.

Сектор завантаження : інструмент завантаження може бути використаний для відновлення завантажувального сектора. (напр. 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

Це виявилося правильною проблемою (і рішенням), але activeсправжній ключ - ваша порада щодо встановлення розділу . Мені потрібно було зробити активний розділ, щоб bootrecзнати, куди написати відновлений BCD. Можливо, ви могли б додати це до відповіді? (Мені не довелося користуватися bootsect, як виявилося.)
David Z

Оновлено відповідь, вставивши мій коментар; так, деталі перегородки були тут відсутнім фрагментом.
Тамара Війсман

"ren C: \ boot \ bcd C: \ boot \ bcd.old" дав мені помилку. Повинен бути "ren C: \ boot \ bcd bcd.old"
user4035

3

Можливо, ви спричинили проблему, надто зменшивши розділ Windows.

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

З цього приводу ви можете виконати встановлення для відновлення Windows 7 . Ця легка форма встановлення дозволить виправити поточно встановлену Windows 7 та зберегти ваші облікові записи, дані, програми та системні драйвери. Зв'язана стаття детально описує процес із скріншотами. Після цього, можливо, доведеться зіткнутися з деяким руйнуванням завантажувального сектора GRUB2.

Якщо відновлення встановлення не працює, Gparted знищив ваш розділ Windows. Сподіваюся, у вас є резервна копія в цьому випадку, оскільки в іншому випадку, можливо, доведеться вдатися до утилітів відновлення даних .


Ах, добре, що це було навмисно. Я спробував скористатися Windows, щоб спершу змінити розмір розділу, після випорожнення кошика та дефрагментації (хоч забув про відключення спеціальних файлів), але не зміг зменшити розмір розділу настільки, наскільки мені це потрібно. Я спробую встановити ремонт і побачити, чи працює він. Якщо ні, то я можу змонтувати розділ Windows з Linux і скопіювати будь-які корисні файли на інший розділ, тому мені не доведеться вдаватися до відновлення даних.
David Z

Дивлячись на це зараз, я бачу, що встановлення ремонту можна проводити лише зсередини Windows, так що мені це не допомагає.
David Z

Це можна зробити за допомогою DVD / USB Windows 7 SP1 SP1. Деталі у вищенаведеній статті.
harrymc

1
Ні, я не можу. У статті прямо (кілька разів) зазначається, що для встановлення ремонту вам потрібно вже запустити Windows; до того ж я спробував це, і це не дозволить мені використовувати опцію Upgrade при завантаженні з DVD.
David Z

Чи вдається Linux змонтувати диск, і ви можете бачити файлову систему і особливо переглядати файли в папку Windows і навіть копіювати файли з неї? Чи можете ви завантажити DVD з Windows в DOS і переглянути диск? Спробуйте також відключити будь-який можливий пристрій від комп'ютера.
harrymc

1

У мене була схожа проблема (той самий код помилки 0xc0000225) на моєму комп’ютері, коли я намагався оновити до Windows 10

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

Можливо, це теж ваша проблема. У мене є два рішення для вас, сподіваюся, що це працює:

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

Я також перевстановив Windows, але якщо ви видалите поганий розділ EFI, цього буде достатньо

З тих пір більше не було проблем із завантаженням, мій комп'ютер міг встановити W10 тощо.

Вибачте, якщо я не даю точні назви речей, на які вам потрібно натиснути, моя ОС - французькою мовою ^^


-1

Додайте відповідь сюди, тому що це сторінка, яка показала для мене та відповідь, що мені потрібна:

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

Це також спричинило збій установки cd / usb, відновлення з тією ж помилкою, тому нічого не можна було зробити з Windows, поки його не було включено.

0xc0000225 сталося під час оновлення Windows 10 Creators, але не завантажувався назад у Windows, поки не вимкнув налаштування в BIOS, щоб виглядало, що це викликано оновленням, але насправді цього не було! Хитрий!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.