Windows를 다시 설치하지 않고 오류 0xc0000225를 해결할 수 있습니까?


16

GRUB2를 사용하여 젠투 리눅스와 Windows 7을 듀얼 부팅하는 시스템이 있습니다. 컴퓨터에는 4 개의 드라이브가 있으며 Windows는 드라이브 # 2의 세 번째 (마지막) 파티션에 설치됩니다. 드라이브 레이아웃은 다음과 같습니다.

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

( boot그리고 homeLinux 파티션입니다) 이상한 설정이지만 Gparted를 사용하여 Windows 파티션을 축소하기로 결정할 때까지 항상 작동했습니다. 새로운 레이아웃은 다음과 같습니다.

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

이러한 파티션을 변경 한 후 GRUB2에서 Windows 옵션을 선택하고 Windows 부트 로더에 대한 제어 권한을 부여하면 오류 메시지가 나타납니다.

Windows 부팅 관리자  

Windows를 시작하지 못했습니다. 최근 하드웨어 또는 소프트웨어 변경이 원인 일 수 있습니다. 문제를 해결하려면 다음을 수행하십시오.   1. Windows 설치 디스크를 넣고 컴퓨터를 다시 시작하십시오.   2. 언어 설정을 선택한 다음 "다음"을 클릭하십시오.   3. "컴퓨터 수리"를 클릭하십시오. 이 디스크가 없으면 시스템 관리자 나 컴퓨터에 문의하십시오. 도움을 요청하십시오.   상태 : 0xc0000225   정보 : 필요한 장치에 액세스 할 수 없으므로 부팅을 선택하지 못했습니다.

특히 이런 일이 발생한다는 사실은 놀랍지 않지만 Windows를 다시 설치하지 않고이 문제를 해결할 수 있는지 궁금합니다.

Windows 설치 DVD (특히 Windows 7 업그레이드 DVD)를 사용하여 컴퓨터를 부팅하려고했습니다. 언어와 키보드를 선택하고 "이 컴퓨터 복구"를 클릭하면 시스템 복구 옵션 화면에서 Windows 파티션을 찾지 못합니다 . 어쨌든 "Next (다음)"를 클릭 한 다음 Startup Repair (시작 복구)를 사용 하여 문제를 해결하지 못 하거나 명령 줄 도구 (예 bootrec: 여러 웹 사이트에서 제안) sfc,, 및을 사용할 수 chkdsk있습니다. 그들 중 누구도 차이를 만들지 않았습니다. 여전히 같은 오류 메시지가 나타납니다. (자세한 출력은 아래를 참조하십시오.)

또한 비슷한 질문에서 제안한 것처럼 Linux에서 실행되고 Windows 파티션에서 작동하는 TestDisk 의 "BS 재구성"(부트 섹터 재구성) 기능을 사용해 보았습니다 . 그것은 또한 내가 얻는 오류를 변경하지 않았습니다.

어느 파티션에서든 데이터 손상의 징후가 보이지 않았으며 드라이브에 물리적 손상이 발생하지 않았으므로 파티션 레이아웃의 변경이이 오류의 원인 인 것으로 보입니다. 필자는 Windows가 파일 시스템 (레지스트리?)의 어딘가에 시작 섹터 및 / 또는 파티션 크기를 저장해야한다고 가정합니다 . 원칙적 으로 파일의 몇 바이트를 어딘가에 twiddling하여이를 해결할 수 있다고 제안합니다 . 그러나 어떤 파일입니까? 아니면 더 복잡한 것이 있습니까?

도움이된다면 Windows에 해당하는 GRUB2 구성 섹션이 있습니다.

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이지만, 직접 처리 할 수 ​​있습니다.


다음은 Windows 7 설치 DVD를 사용하여 복구 환경으로 부팅하는 동안 명령 프롬프트 세션을 기록한 것입니다. 가독성을 위해 빈 줄을 제거했습니다. 다음은 다른 모든 드라이브의 연결이 끊어진 상태입니다 .

>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(드라이브 # 1에 NTFS 데이터 파티션이 있기 때문에) ).

bootrec /fixmbr드라이브 # 2의 MBR 을 덮어 쓰고 GRUB2로 넣은 MBR을 대체합니다. 그런 다음 해당 디스크에서 부팅을 시도하면 0xc0000225 오류 대신 "운영 체제 누락"메시지가 나타납니다. 그런 다음 Linux로 부팅 grub-install하고 GRUB2 MBR을 되 돌리는 데 사용할 수 있으며 GRUB2에서 Windows 옵션을 선택하면 0xc0000225가 다시 나타납니다.


Windows 복제는 종종 Windows의 부팅 프로세스를 깨는 파티션 조작이 필요합니다. 파티션이 설치 중 디스크와 다른 위치에 있으면 Windows가 부팅되지 않습니다. 당신의 발견을 사용하는 것이 좋을 것입니다 :)
Basilevs


@ ali786 글쎄, 문제를 해결하는 도구에 20 달러를 쓰는 것보다 Windows를 다시 설치하고 싶습니다. 그러나 그렇지 않으면 옵션이 될 것입니다. (나는이 질문을 준비하면서 그 웹 사이트를 이미 보았습니다.)
David Z

새로 설치하는 대신 설치 디스크를 사용하고 지금 업그레이드를 클릭하면 어떻습니까? 다시 설치하는 것이지만 파일을 유지합니다.
Rsya Studios

1
@RsyaStudios 그래픽 설치 프로그램이 기존 Windows 설치를 감지하지 못하므로 그렇게 할 수 없다고 생각합니다.
David Z

답변:


11

사용 된 방법에 따라 진행 상황에서 다음과 같은 사항이 변경 될 수 있습니다.

파티션 세부 사항 : activediskpart 에서 사용하여 파티션을 다시 활성화하십시오.

부팅 섹터 : bootsect 도구를 사용하여 부팅 섹터를 복원 할 수 있습니다. (예. bootsect /nt60 C:)

파티션 UUID : 파티션 위치 및 / 또는 크기를 변경하면 UUID가 변경됩니다. 따라서 BCD에 저장된 액세스 할 수없는 UUID가 파티션의 UUID와 일치하지 않습니다. 이 문제를 해결하려면 다음 과 같이 BCD를 제거했다 가 다시 빌드하십시오.

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

이것은 올바른 문제 (및 해결책) 인 것으로 나타 났지만 파티션 설정에 대한 팁은 active실제 키였습니다. bootrec재 구축 된 BCD를 작성할 위치를 알 수 있도록 파티션을 활성화해야했습니다 . 아마도 대답에 추가 할 수 있습니까? (나는 그것을 사용할 필요가 없었 bootsect습니다.)
David Z

내 의견을 포함시켜 답변을 업데이트했습니다. 예, 파티션의 세부 사항은 여기에 누락 된 부분이었습니다.
Tamara Wijsman

"ren C : \ boot \ bcd C : \ boot \ bcd.old"에 오류가 발생했습니다. "ren C : \ boot \ bcd bcd.old"
이어야 함

3

Windows 파티션을 너무 줄이면 문제가 발생했을 수 있습니다.

Windows에 타사 제품이 이동하기로 결정할 수있는 일부 파일이 있습니다. 나중에 디스크를 손상시키지 않으므로 Windows 디스크 관리자를 사용하여 파티션 크기를 조정해야합니다. 또한 특수 Windows 파일의 수를 최소화하기 위해 먼저 휴지통을 끄고 비우고 페이징 파일과 최대 절전 모드를 비활성화하고 모든 파일을 시작 부분으로 압축하는 조각 모음을 실행하는 것이 좋습니다. 디스크.

즉, Windows 7을 복구하기 위해 복구 설치를 수행 할 수 있습니다. 이 가벼운 설치 방식은 현재 설치된 Windows 7을 수정하고 사용자 계정, 데이터, 프로그램 및 시스템 드라이버를 보존합니다. 링크 된 기사는 스크린 샷을 통해 프로세스를 자세히 설명합니다. GRUB2 부트 섹터에 대한 일부 파괴를 처리해야 할 수도 있습니다.

복구 설치가 작동하지 않으면 Gparted가 Windows 파티션을 삭제 한 것입니다. 그렇지 않으면 데이터 복구 유틸리티 에 의지해야 할 수도 있기 때문에이 경우에 백업 해두기를 바랍니다 .


아, 그건 의도적이었습니다. 휴지통을 비우고 조각 모음을 한 후에 Windows를 사용하여 파티션 크기를 먼저 조정하려고했지만 (특수 파일을 사용하지 않도록 설정하는 것을 잊었습니다) 파티션 크기를 필요한만큼 줄일 수 없었습니다. 수리 설치를 시도하고 작동하는지 확인합니다. 그렇지 않은 경우 Linux에서 Windows 파티션을 마운트하고 유용한 파일을 다른 파티션으로 복사 할 수 있으므로 데이터 복구에 의존 할 필요가 없습니다.
David Z

지금 살펴보면 Windows 내에서만 복구 설치를 수행 할 수 있으므로 도움이되지 않습니다.
David Z

Windows 7 SP1 DVD / USB를 사용하여이를 수행 할 수 있습니다. 위 기사의 세부 사항.
harrymc

1
아니, 난 못해 이 기사에서는 복구 설치를 수행하기 위해 이미 Windows를 실행 중이어야한다고 명시 적으로 말합니다 (다중). 게다가, 나는 그것을 시도했는데 DVD에서 부팅 할 때 업그레이드 옵션을 사용할 수 없습니다.
David Z

리눅스가 디스크를 마운트 할 수 있습니까? 파일 시스템을 볼 수 있습니까? 특히 Windows 폴더를 뚫고 파일을 복사 할 수 있습니까? Windows DVD를 DOS로 부팅하고 디스크를 볼 수 있습니까? 컴퓨터에서 가능한 모든 장치를 분리하십시오.
harrymc

1

Windows 10으로 업그레이드하려고 시도하는 동안 컴퓨터에서 비슷한 문제 (같은 오류 코드 0xc0000225)가 발생했습니다

문제는 드라이브 중 하나에 여전히 남아있는 빈 EFI 파티션에서 비롯된 것입니다. 부팅시 컴퓨터는 2 개의 EFI 파티션을 찾습니다. 하나는 기본 OS에서, 다른 하나는 몇 달 전에 제거했던 이전 OS에 해당합니다 (첫 번째 하드 드라이브에서 SSD로 이동하여 모든 것을 포맷했습니다).

어쩌면 그것은 또한 당신의 문제 일 것입니다. 나는 당신을 위해 2 가지 해결책을 가지고 있습니다.

  • 제어판에서 컴퓨터를 관리하고 쓸모없는 EFI 파티션을 찾아 삭제하십시오.
  • Windows 설치 지원으로 컴퓨터를 실행하고 (Microsoft 웹 사이트에서 마법사를 다운로드하여 만들 수 있음) 설치 프로그램, 고급 설정을 실행하고 모든 볼륨이 표시되면 EFI 파티션을 찾아 삭제하십시오.

또한 Windows를 다시 설치했지만 잘못된 EFI 파티션을 삭제하면 충분합니다.

이후 부팅시 더 이상 문제가 발생하지 않으므로 컴퓨터에 W10 등을 설치할 수 있습니다.

클릭 해야하는 정확한 이름을 제공하지 않으면 죄송합니다. OS는 프랑스어입니다 ^^


-1

여기에 나에게 표시된 페이지와 필요한 답변이 있기 때문에 여기에 답변을 추가하십시오.

0xc0000225는 BIOS에서 ACPI APIC 지원을 비활성화하여 발생할 수도 있습니다 (이 BIOS에 표시되어 있음). 우분투에서 일시 중단 문제를 해결하는 동안 비활성화했지만이 경우 Windows에서 활성화해야합니다.

이로 인해 설치 CD / USB, 동일한 오류로 복구가 실패하여 Windows가 활성화 될 때까지 아무것도 수행 할 수 없었습니다.

Windows 10 크리에이터 스 업데이트 중에 0xc0000225가 발생했지만 BIOS에서 설정을 비활성화 할 때까지 Windows로 다시 부팅되지 않으므로 업데이트에서 발생한 것처럼 보이지만 실제로는 그렇지 않습니다! 교활한!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.