Được rồi, tôi đã có thời gian để đưa ra một phác thảo thích hợp ở đây. Nó dài, nhưng nó khá hoàn chỉnh và sẽ giúp bạn thấy những gì đang diễn ra.
Đầu tiên, một cách điều này có thể xảy ra:
- BIOS của bạn mất các thiết lập của nó.
- Không có vấn đề gì, tất cả những thứ đó được lưu trữ trong phân vùng EFI.
- ... ngoại trừ cài đặt SATA IDE so với AHCI, vì những lý do rõ ràng.
- Bạn đã sử dụng SATA-AHCI? Bây giờ bạn có thể đang sử dụng SATA-IDE.
- Bạn đã thử khởi động trước khi bạn phát hiện ra điều đó?
- Nếu bạn đã làm, nó đã thất bại. Bạn đã để Windows cố gắng sửa nó chưa?
- Nếu bạn đã làm, BLAM, rất có thể nó đã phá hủy Cơ sở dữ liệu cấu hình khởi động.
- Đảm bảo bạn đang sử dụng đúng cài đặt SATA mà bạn đang sử dụng lần trước.
Đây là những gì bạn có thể làm bây giờ. NẾU BẤT CỨ ĐIỀU NÀY NÀO KHÔNG ĐÚNG, HÃY CẨN THẬN NHỮNG GÌ NÀY TRONG SỰ THẬT CỦA BẠN, và ĐỌC nó cho ý tưởng nhưng đừng SAU nó mà không suy nghĩ trước.
Bạn đã bỏ qua tất cả những điều tào lao về việc sửa Bản ghi khởi động chính (MBR), bảng phân vùng, cờ phân vùng và rác khác KHÔNG ÁP DỤNG cho kịch bản khởi động EFI. TẠI TẤT CẢ . Tốt nhất, bạn sẽ có thể xây dựng lại hoàn toàn một giải pháp khởi động NON-EFI mới, không liên quan . Điều đó có thể không tầm thường, tuy nhiên, bởi vì:
Bạn đã nhận ra rằng Windows chắc chắn rằng nó không có Cơ sở dữ liệu cấu hình khởi động, nhưng thật không may, hoàn toàn không biết gì hoặc RẤT chắc chắn về việc nó sẽ đi đâu - bạn hoàn toàn không thể biết được.
Bạn biết rằng cửa hàng khởi động bình thường (ở đâu đó) \ Boot \ BCD và tệp đó là HIDDEN; xem nó bằng cách sử dụng "dir / a: hs".
Bạn đã làm quen với BCDEDIT.EXE một chút và nhận ra rằng nó sẽ cho phép bạn "giả lập" Cơ sở dữ liệu cấu hình khởi động trong tệp phân tầng bằng cách sử dụng "/ CREATESTORE" (và vui lòng không đặt tên là "BCD"), rằng bạn có thể sử dụng rõ ràng tệp dàn với tùy chọn "/ STORE", rằng bạn có thể thêm một mục trình đơn cho Trình quản lý khởi động Windows bằng cách sử dụng "/ CREATE {bootmgr}" và bạn NÊN có thể nhập tệp bằng "/ NHẬP" ...
... nhưng khi bạn cố gắng làm điều này, bạn không thể. Bạn nhìn vào tùy chọn / SYSSTORE, nghe có vẻ đúng, nhưng bạn không thể sử dụng nó để sử dụng một cửa hàng khác vì nó "mơ hồ". Bạn có linh cảm rằng nó biết cửa hàng ở đâu-- hoặc nên - nhưng bạn không thể tìm thấy nó.
Bạn đã thử sử dụng "MOUNTVOL" để gắn kết phân vùng EFI, nhưng nó thậm chí không hiển thị trong danh sách, vì vậy bạn không thể.
Nếu TẤT CẢ điều đó áp dụng khá chặt chẽ với bạn, thì đây là điều có thể xảy ra:
Windows có thể cho biết bạn đã thiết lập EFI (bạn đã khởi động DVD thông qua khởi động UEFI, bạn có phân vùng EFI, v.v.).
Do đó, nó biết nơi tìm kiếm tệp BCD - tuy nhiên, bằng cách nào đó, nó có vị trí sai (không phải vấn đề này, nhưng tương tự) hoặc BCD đã bị xóa.
Rõ ràng, bởi vì nó biết nó NÊN ở đâu, điều này phá vỡ / SYSSTORE-- và thực sự, đó có lẽ là hành vi đúng, bởi vì nếu không bạn sẽ đặt nó sai chỗ.
Gần như tôi có thể nói, MOUNTVOL cố tình che giấu phân vùng EFI (hoặc bằng cách nào đó không có khả năng nhận thấy nó). Điều này ngăn việc gắn hệ thống tập tin, ngăn việc tìm thư mục con chính xác, xác minh rằng cơ sở dữ liệu tồn tại, v.v.
Vì vậy, ở đây, cuối cùng, là những gì bạn cần làm về nó. Tin tốt là bây giờ có lẽ nó đơn giản hơn nhiều so với bạn hy vọng.
- Bạn thực sự phải gắn kết phân vùng EFI.
Trên thực tế, tôi có linh cảm không đúng hoàn toàn-- Tôi hoàn toàn nghi ngờ phân vùng EFI đã được gắn bởi một số hệ thống con bên trong, đó là lý do tại sao BCDEDIT bị khủng hoảng-- nó không nhìn thấy cơ sở dữ liệu, nhưng nó biết nó sẽ đi đâu. Bất cứ thứ gì nó không có, tuy nhiên, là một ký tự ổ đĩa. Vậy lam gi?
Chà ... rễ DOS của bạn đi được bao xa? Bạn có nhớ lệnh ASSIGN không? Đoán xem.
Bắt đầu DISKPART.
Nếu bạn không quen thuộc với DISKPART, cách cơ bản nó hoạt động là một hệ thống phân cấp của các bộ; bạn phải chọn chính xác một yếu tố ở một cấp độ để tiến tới cấp độ tiếp theo. Vì vậy, "DANH SÁCH DISKS", và sau đó "CHỌN DISK n" trong đó n là bất cứ điều gì phù hợp với bạn.
Sử dụng "PHẦN DANH SÁCH" và "DANH SÁCH LIST" (lưu ý không phải số nhiều) để hiểu rõ hơn và xác định phân vùng EFI của bạn.
Nó thường là phân vùng FAT32 100 MB được đánh dấu "HỆ THỐNG". Hãy nhớ rằng đĩa của bạn hiện đang sử dụng bảng phân vùng GPT, vì vậy bạn có thể thấy khá nhiều phân vùng. Một số trong số này là để phục hồi khẩn cấp-- rất nhiều chất béo họ làm cho các vấn đề EFI, eh? Ồ tốt
Lưu ý rằng phân vùng EFI và một số khác không có ký tự ổ đĩa. Nếu bạn rất có khuynh hướng, bạn cũng có thể xem các thuộc tính phân vùng GPT, có thể cung cấp cho bạn một vài khoảnh khắc "Aha" liên quan đến tiếp tuyến.
"CHỌN PHẦN N" trong đó n là phân vùng EFI. (Tôi hy vọng bạn có thể chọn âm lượng thay thế nếu bạn cần.)
"CHỈ ĐỊNH". Đó là nó. Đừng chỉ định ký tự ổ đĩa; chỉ "GỬI".
"DANH SÁCH DANH SÁCH". Bây giờ bạn sẽ thấy một ký tự ổ đĩa được gán cho phân vùng EFI.
"XUẤT HIỆN" DISKPART.
Và bây giờ ... một cảnh báo lớn về chất béo. Bạn có thể sẽ truy cập trực tiếp vào S: (hoặc bất cứ điều gì bạn nhận được từ ASSIGN) và nhận thấy / Phân vùng khởi động. "AHA!" Bạn sẽ nói. "Không có tệp BCD ở đây!" Đầu tiên ... hãy nhớ rằng tập tin bị ẩn. Thứ hai ... đào sâu thêm một chút, và bạn sẽ nhận thấy rằng trong khi có:
S: \ EFI \ Khởi động
cũng có:
S: \ EFI \ Microsoft \ Khởi động
Bạn cần kiểm tra cả hai vấn đề này.
S: \ EFI \ Boot dành cho bo mạch chủ và chứa Windows Boot LOADER (và có thể những thứ khác cho các hệ điều hành khác). Cái này có tên này vì bo mạch chủ không biết bạn có Windows hay không và cần một đường dẫn cố định có ý nghĩa.
- Kiểm tra S: \ EFI \ Boot. Đối với Windows 7 Professional, 64-bit, bạn sẽ thấy:
bootx64.efi
Nếu bạn đã cài đặt trình bao EFI (luôn luôn là một ý tưởng hay), bạn cũng có thể thấy "shellx64.efi".
LƯU Ý: Người dùng Linux khởi động kép sử dụng "chainloader + 1" S NOT KHÔNG thấy mục nhập thêm ở đây.
- Kiểm tra S: \ EFI \ Microsoft \ Boot bằng cả "dir" và "dir a: h". Đối với Windows 7 Professional, 64 bit, bạn sẽ thấy một loạt các mẫu ngôn ngữ ("en_US", v.v.) và các tệp sau:
bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002
... Ngoại trừ việc bạn có thể không thấy BCD, phải không? Nhưng những tập tin sao lưu chắc chắn trông hấp dẫn.
Xác định tập tin sao lưu bạn muốn sử dụng. Bất cứ thay đổi nào gần đây mà nó thiếu đều không quan trọng bằng khả năng khởi động hệ thống của bạn, vì vậy hãy tìm một thứ còn nguyên vẹn nhất. Có lẽ bạn sẽ thấy một cái lớn và một cái khá nhỏ. Cái nhỏ đã bị hỏng và là một thành phần của quá trình sửa chữa thất bại - không sử dụng nó. Nếu cả hai đều lớn, hãy sử dụng cái cũ hơn. TRONG BẤT K CAS TRƯỜNG HỢP NÀO, hãy tạo ra các bản sao BACKUP BACKUPS BACKUPS ở một nơi khác.
Sao chép bản sao lưu mà bạn đã quyết định sử dụng vào "BCD".
Thoát khỏi vỏ, tắt máy sạch sẽ, và khởi động lại.
Nói với Windows để bắt đầu BÌNH THƯỜNG. Tại thời điểm này, nó nên bắt đầu.
Q: Điều gì xảy ra nếu bạn KHÔNG CÓ BCD dự phòng?
A: Vâng, điều đó thực sự không nên xảy ra. Điều đó có thể có nghĩa là bạn đang ở trong thư mục sai, hỗ trợ EFI nhưng thực tế không sử dụng nó hoặc bằng cách nào đó đã xây dựng lại toàn bộ phân vùng EFI của bạn mà không cần tất cả các tài liệu Windows cần thiết (có thể, đặc biệt là khi sử dụng nhiều phiên bản Windows). Trong trường hợp đó, bạn sẽ cần sao chép các tài liệu EFI từ DVD, sau đó sửa đổi hoặc xây dựng lại Cơ sở dữ liệu cấu hình khởi động bằng BCDEDIT.
H: Bạn có thể cho tôi một ví dụ về một kịch bản trong đó "BCDEDIT / SYSSTORE" có thể được sử dụng để làm bất cứ điều gì trên hệ thống EFI không?
A: Cho đến nay, không.
Dù sao, hy vọng điều này sẽ giúp giải quyết một số vấn đề cho mọi người, hoặc ít nhất là khiến họ suy nghĩ. Là một điểm cuối cùng rất quan trọng, xin lưu ý rằng bạn có thể gắn kết và kiểm tra phân vùng EFI của mình trong Windows thông thường bằng cách sử dụng kỹ thuật DISKPART ASSIGN ở trên. Bạn nên làm điều này ít nhất một lần, để có bản sao lưu hoàn chỉnh phân vùng EFI, TRƯỚC KHI bạn gặp phải loại rắc rối này. Tôi khuyên bạn nên sao lưu vào thư mục con trên ổ C: và một trên ổ flash USB.
Xin lỗi đó là dài dòng. Tôi cần phải biến bài viết này thành một bài viết thích hợp vào một lúc nào đó, nhưng có rất nhiều người thất vọng đến nỗi tôi cảm thấy cần phải ghi lại kinh nghiệm của mình một cách đầy đủ và nhanh nhất có thể.
Chúc mừng, Matt "Breakpoint" Heck