BootMgr bị thiếu, các bản sửa lỗi thông thường không hoạt động


19

Tôi biết câu hỏi này đã được hỏi trước đây nhưng tôi đã thử tất cả các bản sửa lỗi thông thường và không có gì hoạt động.

Về cơ bản, ổ cứng có hai phân vùng với Vista và Windows 7. Tôi đã xóa phân vùng Vista để có thêm chỗ và mở rộng phân vùng Windows 7 để lấp đầy ổ đĩa (sử dụng GParted).

Tôi đã thử:

  1. Chạy Startup Repair - nó không tìm thấy bất kỳ vấn đề nào.
  2. Đặt phân vùng thành Active - làm việc.
  3. bootsect /nt60 c: - đã làm việc.
  4. BootRec /FixMbr - đã làm việc.
  5. BootRec /FixBoot - đã làm việc.
  6. BootRec /ScanOs - Tôi nhận được thông báo "Tổng số cài đặt Windows được xác định: 0"
  7. BootRec /RebuildBcd - Tôi nhận được thông báo "Tổng số cài đặt Windows được xác định: 0"

BcdEdit hiển thị Trình quản lý khởi động Windows và Trình tải khởi động Windows, cả trên phân vùng C :.

[Cập nhật]

  1. Đổi tên BCD và chạy lại BootRec /RebuildBcd- đã làm việc.
  2. Sao chép bootmgr từ DVD - bị chặn vì tệp đã có sẵn.

[Cập nhật 2]

Tôi tìm thấy một bài viết ở đây đề cập đến một số lệnh khác.

  1. C:\chkdsk /f /r - đã làm việc.
  2. sfc /scannow /offbootdir=c:\ /offwindir=c:\windows- đã làm việc (xem tại đây ).

Tôi có thể thử cái gì khác?


Bạn có chắc chắn rằng bạn đang sử dụng bảng điều khiển sửa chữa cho cùng một phiên bản Windows mà bạn đang cố gắng sửa chữa?
David Schwartz

Có, tôi đã tạo DVD sửa chữa ngày hôm qua trước khi tôi bắt đầu.
Parsley72

thiếu bản sao của Bootmanager
JdeBP

1
Tôi đã thử mọi thứ trong câu trả lời hàng đầu ở đó. Tôi sẽ thử phần còn lại tối nay.
Parsley72

Lần tới, hãy sử dụng Diskpart từ Windows thay vì GParted.
ZippyV

Câu trả lời:


7

Tôi đã sửa nó bằng cách:

  1. Sao lưu phân vùng vào ổ đĩa ngoài (sử dụng GParted).
  2. Xóa phân vùng.
  3. Cài đặt lại Windows 7 trên ổ đĩa (hiện trống).
  4. Sao chép nội dung của phân vùng qua bản cài đặt mới của Windows (sử dụng System Cứu CD).

Windows bây giờ khởi động chính xác và trông giống hệt như trước đây.


2
Hấp dẫn. Điều này dường như chỉ ra rằng phải đối mặt với một đĩa trống, cài đặt Windows thực hiện các khởi tạo bổ sung không được thực hiện để sửa chữa. Lời khuyên của tôi về việc dọn sạch cửa hàng BCD có thể có tác dụng tương tự hoặc có thể không, có thể không. Chính vì những điều chưa biết như vậy mà nếu các giải pháp thông thường không hoạt động, người ta nên định dạng lại đĩa và bắt đầu lại từ đầu (như tôi cũng khuyên). Bạn thực sự may mắn khi có thể giữ phân vùng Windows của mình, điều này có lẽ chỉ hoạt động vì bạn đã thực hiện Startup Repair trên nó, nó đã sửa lỗi registry nhưng không phải tất cả các tệp boot-sector.
harrymc

Như đã đề cập ở trên, tôi đã thử xuất bcdedit, đổi tên và xây dựng lại và nó không hoạt động.
Parsley72

Bạn có thể cụ thể hơn về các bước bạn đã thực hiện để khắc phục điều này? Tôi cũng ở trong tình trạng tương tự với Windows 7 và tôi không thể hiểu ý của bạn bằng cách "Sao chép nội dung của phân vùng qua bản cài đặt mới của Windows (sử dụng CD cứu hộ hệ thống). Cảm ơn!
Martin Del Vecchio

1
Điều này là quá mức cần thiết và tôi gần như bị cám dỗ để làm điều đó bởi vì tôi có cùng một vấn đề trên Windows 8. Tuy nhiên, một giải pháp hiệu quả với tôi là sử dụng bcdboottrong bảng điều khiển phục hồi, như được mô tả trong câu hỏi này .
Stefan Seidel

2
Chà, thật đáng buồn là một bản sửa lỗi cài đặt lại từ đầu khác ... :( Tôi đoán cài đặt sửa chữa là đủ.
phoeagon

5

Tôi đoán rằng bạn đã có Vista trên đĩa dưới dạng phân vùng 1 và sau đó Windows 7 là phân vùng 2, sau đó xóa Vista, nghĩa là Windows 7 hiện đang ở phân vùng 1.

Thật không may, Windows xác định các phân vùng của nó bằng số của chúng, do đó tất cả các tham chiếu phân vùng trong sổ đăng ký Windows 7 hiện không chính xác và không thể sử dụng được.

Tôi tin rằng bạn sẽ phải cài đặt lại Windows 7. Cài đặt sửa chữa đơn giản là đủ và sẽ chỉ làm mới Windows và không làm phiền các ứng dụng đã cài đặt.

Hoặc, đối với giải pháp lén lút, bạn có thể tạo một số khoảng trống nhỏ trên đĩa trước phân vùng Windows 7 và định dạng nó thành NTFS, thực tế là tái tạo phân vùng giả 1 thay thế sẽ khôi phục phân vùng Windows 7 về vị trí số 2 trên đĩa. Bạn vẫn có thể cần phải thực hiện lại Startup Repair.

[CHỈNH SỬA]

Bạn có thể buộc Windows tạo lại phân vùng lưu trữ BCD bằng cách khởi động từ DVD vào tùy chọn Dấu nhắc lệnh của Sửa chữa và nhập:

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

Trong trường hợp có vấn đề về quyền, hãy sử dụng lệnh attrib bcd -s -h -rtrước khi đổi tên. Khởi động lại và nếu nó không hoạt động thì hãy khởi động lại Sửa chữa.

Một giải pháp tuyệt vọng khác là giả định rằng bootmgr bị hỏng và khởi động như trên và làm:

ren c:\bootmgr deletemelatter
bootrec /rebuildbcd
bootrec /fixboot

Nếu không có gì hoạt động, chỉ cần định dạng lại toàn bộ đĩa và cài đặt từ đầu. Không phải mọi vấn đề có thể được phân tích hoặc có một giải pháp.


Bạn có thể sửa chữa liên kết? Tôi nghĩ rằng tôi đã thử điều này nhưng tôi muốn kiểm tra những gì bạn đang đề xuất.
Parsley72

Xong - liên kết sửa chữa.
harrymc

Tôi đã thử điều này vào một ngày khác nhưng tôi đã chọn tùy chọn cài đặt phiên bản Windows 7 mới và nó nói với tôi rằng tôi không có đủ chỗ. Tôi hiểu những gì bạn đang nói về các tham chiếu phân vùng, nhưng tại sao Windows 7 registry cần phải tải BootMgr? Chắc chắn BootMgr được yêu cầu để khởi động Windows 7 để đăng ký có thể được tải chứ không phải ngược lại?
Parsley72

Các giá trị từ sổ đăng ký được BootMgr đọc trong quá trình khởi động, vì vậy sổ đăng ký là điều cần thiết để khởi chạy Windows. Tôi tự hỏi tại sao bạn không có đủ không gian. Sửa chữa Cài đặt có thể không gây ra lỗi tương tự, nhưng lưu ý rằng việc chạy Windows mà không có đủ dung lượng trống trên đĩa hệ thống là nguy hiểm. Nếu cài đặt Windows mới là một khả năng, thì bạn cũng có thể định dạng đĩa và cài đặt lại.
harrymc

1
"tất cả các tài liệu tham khảo phân vùng trong Windows 7 đăng ký hiện nay là không chính xác và không sử dụng được" ... tài liệu tham khảo được bạn đề cập đến, chính xác? Chỉ có một nơi trong sổ đăng ký mà tôi biết là giữ các tham chiếu phân vùng ( HKLM\SYSTEM\MountedDevices) và có thể sửa được bằng tay - và tôi khá chắc chắn rằng nó theo dõi các phân vùng bằng cách bắt đầu sector, không phải theo số ...
Mehrdad

5

Vui lòng đảm bảo rằng phân vùng Windows 7 Recovery được đặt là kích hoạt !!

Tôi gặp sự cố vì phân vùng hoạt động được đặt thành C: \


Tôi ước tôi có thể cho bạn một triệu phiếu bầu. Câu trả lời của bạn đã giải cứu tiến sĩ của tôi. Tôi đã nghĩ về định dạng. Chúa phù hộ bạn. Tôi đã thử mọi thứ trên Bing, Google và gần như tất cả các trang tìm kiếm. Điều này thực sự đã cứu tôi. Cảm ơn bạn rất nhiều.
afaolek

@afaolek Bạn có sao lưu ngay bây giờ không?
Frank Kuster

2

Có vấn đề tương tự và bên dưới đã khắc phục nó cho tôi, giả sử rằng bạn đã biết và bắt đầu đĩa cứu hộ trong Command Promt, tôi đã sử dụng công cụ bcdboot.exe để tạo lại BCD:

bcdboot c:\Windows /l en-gb /s x:

Đâu xlà ổ đĩa có Systemnhãn.


1
Điều này làm việc cho tôi khi bootrec không. Cám ơn rất nhiều. Tôi không cần chỉ định x :. "bcdboot c: \ Windows / l en-us" là đủ
Dmiters

@DmitryNarkevich Bạn được chào đón. Tương tự đối với tôi tại thời điểm đó là lý do tại sao tôi đăng câu trả lời này
Eduard Florinescu

1

Trình tải khởi động Windows xác định các phân vùng bằng cách bù trong các cung + chữ ký đĩa 4 byte trong MBR. Vì vậy, khi bạn di chuyển phân vùng hệ thống của mình bằng GParted, có hai điều kỳ lạ đã xảy ra:

1) Phần bù đĩa của phân vùng hệ thống Win7 đã thay đổi, tất cả các tham chiếu được lưu trữ trong tổ ong đăng ký BCD và HỆ THỐNG hiện đã bị hỏng.

2) Phân vùng hệ thống Win7 hiện có cùng ID với phân vùng hệ thống WinVista đã từng có, vì vậy hai tham chiếu bây giờ va chạm: bootloader với các cài đặt cũ cố gắng khởi động Win7 như Vista, nhưng không thành công.

Về cơ bản, bạn cần xóa trung tâm đăng ký BCD và xây dựng lại từ đầu, đồng thời sửa tham chiếu đến đĩa C: trong MountedDevices của Win7 trong tổ hợp đăng ký HỆ THỐNG.

Sử dụng CD khởi động khẩn cấp, bạn có thể xóa BCD trong "Trình quản lý tệp", sau đó tạo lại BCD từ đầu và sửa chữa MountedDevices trong "Mount & Boot Center".



1

Tôi muốn cải thiện giải pháp Parsley72 đã đưa ra:

Thay vì sao chép phân vùng, hãy cài đặt windows, sau đó sao chép lại:

Bạn có thể khởi động vào đĩa CD (System System Disk hoặc windows set set) - Tôi sử dụng SRD để sửa lỗi của tôi - sau đó, chọn tùy chọn Fix your windows. Nó làm điều kỳ diệu!

Tôi nghĩ lý do là bạn đã có mọi thứ trên C: (hệ điều hành được khôi phục, MBR, v.v.), điều duy nhất còn lại là Windows tìm thông tin khởi động (điều mà chỉ phần mềm Windows mới có thể làm được).

Hợp lý hả?


1
Vì vậy, đó sẽ là người đầu tiên trong danh sách những điều tôi đã thử mà không giúp được gì?
Parsley72

1

Đây chỉ là một nhận xét rõ ràng về nhận xét của Narkevich (tôi chỉ muốn thêm một nhận xét nhưng dường như bị cấm làm như vậy

Lý do bạn không cần tùy chọn / sx: là theo mặc định, bcd boot thay đổi bcd trên ổ đĩa hiện đang hoạt động. Đó hầu như luôn là những gì bạn muốn. Nếu một chỉ định / s và một ký tự ổ đĩa, thì 1. Ký tự ổ đĩa là ổ đĩa hoạt động và lệnh sẽ làm điều tương tự mà không có / sx: như với nó; hoặc 2. Ký tự ổ đĩa khác với hoạt động hiện tại âm lượng. Trong trường hợp này, những gì thực sự xảy ra khi khởi động chỉ có thể bị ảnh hưởng nếu bcd trên đĩa hoạt động bị hỏng và hoặc 2. Sau đó, bạn thay đổi đĩa nào được đánh dấu hoạt động thành đĩa được đặt tên sau / s.

Chúc mừng


Câu trả lời được dành riêng cho các giải pháp cho câu hỏi. Đại diện không đủ để bình luận không biến điều này thành một giải pháp. Không câu trả lời thu hút downvote, điều này sẽ trì hoãn việc bạn tiếp cận đại diện để bình luận. Nó có thể có ý nghĩa hơn để lưu điều này cho đến khi bạn có thể đăng nó dưới dạng một bình luận.
fixer1234
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.