Làm cách nào để di chuyển Tệp khởi động Windows 7 (bootmgr, tầm) sang một ổ đĩa khác?


10

Tôi muốn có một thiết lập khởi động kép. Vì vậy, trước tiên tôi đã cài đặt Windows 7 trên phân vùng thứ nhất của một ổ đĩa cứng (chúng tôi sẽ gọi nó là HDD1), sau đó tôi đã đi cài đặt Ubuntu 9.10 trên phân vùng thứ hai của HDD1. Thật không may, điều này không hoạt động (nó đã bỏ qua GRUB2 và đi thẳng vào Windows). Tôi đã quyết định cài đặt lại Ubuntu và đó là khi tôi nhận thấy rằng (vì một số lý do) Windows đã quyết định đặt các tệp khởi động của nó trên một ổ cứng khác (chúng tôi sẽ gọi nó là HDD3).

Tôi muốn khắc phục điều này - Tôi muốn chuyển các tệp khởi động từ HDD3 sang HDD1. Nó có thể giúp khắc phục sự cố khởi động kép của tôi, nhưng ngay cả khi nó không, theo kinh nghiệm của tôi, nó sẽ giúp tiết kiệm rất nhiều vấn đề đau đầu. Tôi có thể làm cái này như thế nào? Tôi sẽ cho rằng nó không dễ dàng như việc sao chép các tập tin, nhưng tôi muốn được chứng minh là sai :)

Câu trả lời:


16

Thông qua một số Googling, tôi đã tìm thấy giải pháp sau (Tôi sử dụng HDD1 và HDD3 để đại diện cho hai ổ đĩa cứng mà tôi quan tâm, như được tham chiếu ở trên trong câu hỏi của tôi):

  1. Các tập tin khởi động bao gồm một thư mục có tên là Boot và một ứng dụng gọi là bootmgr . Chúng là các tệp hệ thống, và do đó thường được ẩn. Bạn phải làm cho chúng hiển thị.
  2. Sao chép cả hai từ HDD3 sang HDD1. Nó sẽ phàn nàn rằng hai tệp không thể được sao chép : BCDBCD.log , cả hai đều nằm trong thư mục Boot . Cái sau là không quan trọng (nó chỉ là một tệp nhật ký) và có thể bị bỏ qua; cái trước sẽ được sao chép trong bước tiếp theo.
  3. Mở một Dấu nhắc lệnh với các đặc quyền của Quản trị viên. bcdedit /export HDD1:\Boot\BCDNhập lệnh sau : , trong đó HDD1 là ký tự điều khiển của ổ đĩa đích của bạn. Trong trường hợp của tôi, HDD1 là C , vì vậy lệnh là bcdedit /export C:\Boot\BCD.
  4. Bây giờ, bạn phải chỉnh sửa tệp BCD để các mục nhập đều chính xác. Tôi đã sử dụng chương trình bcdedit đi kèm với Windows 7, nhưng có những chương trình khác. Tôi đã nghe EasyBCD khá tốt (và miễn phí), nhưng phiên bản mới nhất không hỗ trợ đầy đủ Windows 7. Tôi tin rằng một phiên bản mới hỗ trợ Windows 7 sẽ sớm ra mắt. Đầu tiên, tôi điều hướng đến HDD1 \ Boot trên dấu nhắc lệnh (với đặc quyền của Quản trị viên) và nhập bcdedit /store BCD /enum ALL. Tôi sử dụng công /storetắc để chỉ định tệp BCD trong thư mục hiện tại - bỏ qua công tắc này sẽ sử dụng công cụ mặc định mà tôi nghĩ, đó là trên HDD3. Lệnh này liệt kê tất cả các mục trong tệp BCD .
  5. Tôi đã quét các mục và hóa ra các mục cho {bootmgr}{memdiag}cả hai đều trỏ đến HDD3. Tất nhiên, tôi muốn họ trỏ đến HDD1. Vì vậy, tôi ban hành các lệnh theo mẫu sau : bcdedit /store BCD /set [entry_name] device partition=HDD1:. Vì HDD1 là C trên máy của tôi, tôi sẽ gõ như sau để đặt {bootmgr}mục : bcdedit /store BCD /set {bootmgr} device partition=C:.

Đó là về nó. Một bước cuối cùng là làm cho HDD1 Active hoạt động Disk Management(được truy cập từ Quản lý máy tính) - nó đã hoạt động trên hệ thống của tôi, vì vậy tôi không phải làm gì cả.

Bây giờ, đối với vấn đề khởi động kép kỳ lạ, hóa ra tôi quên rằng tôi đã chuyển đổi thứ tự các ổ đĩa cứng. Như vậy, thứ tự khởi động BIOS không chính xác (nó đã cố gắng khởi động từ HDD3 trước, thay vì HDD1). Và vâng, đó là một sai lầm cực kỳ ngu ngốc về phía tôi :)


Bước thứ hai của attrib không cần thiết vì cờ attrrib trên tệp gốc là + chỉ

Các hướng dẫn này rất hữu ích. Tôi có một số máy khởi động kép sử dụng Win7 và Ubuntu và theo thời gian, tôi đã tìm thấy giải pháp lâu dài tốt nhất cho vấn đề này là BootIT NG terabyteunliated.com/bootit-next-generation.htmlm .
jtreser

Nếu bạn gặp phải vấn đề trong đó trình quản lý khởi động nằm trong Phân vùng dành riêng cho hệ thống, bạn có thể gán cho nó một ký tự ổ đĩa từ Quản lý đĩa để bạn có thể truy cập các tệp và sao chép chúng. Câu trả lời chính xác!
Nate Bundy

1

Cách dễ nhất là chỉ cần tải xuống và cài đặt EasyBCD miễn phí: http://neosmart.net/dl.php?id=1

Trên trang "Sao lưu / Sửa chữa BCD" của EasyBCD, có một tùy chọn gọi là "Thay đổi ổ đĩa khởi động" sẽ hiển thị danh sách tất cả các đĩa cục bộ. Bạn chỉ cần chọn đĩa bạn muốn và EasyBCD sẽ tự động hóa toàn bộ quy trình cho bạn, bao gồm làm cho phân vùng đã chọn hoạt động và có khả năng khởi động, nhập nội dung bộ tải khởi động cũ và viết MBR.

(Tiết lộ: Tôi là tác giả của EasyBCD)


1
lời khuyên tuyệt vời để tải xuống, đặc biệt là nếu bạn KHÔNG THỂ khởi động
Ewoks

Nếu bạn không thể tải xuống, bạn có thể sử dụng CD EasyRE có thể khởi động thay thế: neosmart.net/PalRE Bạn sử dụng một PC khác để tạo CD có thể khởi động và khởi động từ nó để sửa PC.
Mahmoud Al-Qudsi
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.