GRUB2를 사용하여 젠투 리눅스와 Windows 7을 듀얼 부팅하는 시스템이 있습니다. 컴퓨터에는 4 개의 드라이브가 있으며 Windows는 드라이브 # 2의 세 번째 (마지막) 파티션에 설치됩니다. 드라이브 레이아웃은 다음과 같습니다.
|boot|-----------------home-----------------|-------------windows-------------|
( boot
그리고 home
Linux 파티션입니다) 이상한 설정이지만 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가 다시 나타납니다.