Ổ đĩa SATA thứ cấp trong SATA1 vs SATA3 - Khởi động EFI và các sự cố BIOS


1

Tôi vừa có một PC mới (HP P7-1380T) được cài đặt sẵn Windows 7. Máy được thiết lập để khởi động EFI mà không cần 'khởi động an toàn'. Tôi đã lên kế hoạch cài đặt ổ đĩa SATA cũ (XP và Linux khởi động kép với grub trong MBR) làm ổ đĩa thứ cấp để sao chép cả hai tệp windows và linux sang ổ đĩa mới - và sau đó để nó ở dạng thiết bị dự phòng. Vấn đề là tôi không thể cài đặt ổ đĩa cũ theo cách mà cả Windows và Linux đều có thể nhìn thấy.

Máy đi kèm với ổ cứng của nó trong SATA0 và ổ đĩa DVD / ROM trong SATA2. SATA1 và SATA3 là miễn phí.

Khi tôi cắm ổ đĩa cũ vào SATA1, tôi không thể khởi động Windows 7. Bộ tải khởi động EFI cố gắng khởi động từ ổ đĩa SATA1 cũ thay vì ổ đĩa SATA0 mới. Nó tải được đến khi tải lên menu khởi động grub, lúc đó tôi tắt nguồn để tránh làm hỏng thêm. Trong SATA1, ổ đĩa cũ hiển thị trong BIOS và khi tôi khởi động Linux từ đĩa CD trực tiếp, nó sẽ thấy nó là / dev / sdb.

Khi tôi cắm ổ đĩa cũ vào SATA3, nó không hiển thị trong BIOS và khi tôi khởi động CD linux trực tiếp, nó cũng không thấy ổ đĩa. Nhưng với ổ đĩa trong SATA3, Windows 7 khởi động và nhìn thấy phân vùng XP cũ và làm cho nó có sẵn dưới dạng ổ F :.

Rõ ràng, tôi thích sử dụng SATA1 hơn, vì vậy Linux có thể sử dụng ổ đĩa, nhưng cho đến nay, tôi chỉ có thể có Windows hoặc Linux nhìn thấy nó, nhưng không phải cả hai. Tại sao bộ tải khởi động Windows EFI sẽ cố gắng khởi động ổ đĩa thứ cấp, khi nó rõ ràng được thiết lập để khởi động khỏi SATA0? Có một số công cụ tôi có thể sử dụng để thay đổi hành vi này?


Bạn có thể xác nhận thứ tự khởi động trong cấu hình phần sụn UEFI không? Đôi khi cài đặt thực tế không liên quan gì đến việc đánh số cổng. Việc phần mềm UEFI quyết định khởi động từ ổ MBR cũng không chắc chắn. Với cách thức hoạt động của phần sụn, tôi không thể thấy điều này thậm chí có thể xảy ra mà không cần thiết lập lại CPU mỗi khi bạn khởi động.
billc.cn

Trình quản lý khởi động Windows, đĩa mềm USB, ổ cứng USB, ổ đĩa CD / DVD ATAPI. Có thể là Windows Boot Manager có thứ tự khởi động riêng được triển khai trong phần mềm sau khi tải không? Có lẽ tiện ích quản lý bộ tải khởi động EasyBCD sẽ làm sáng tỏ. hãy nghĩ về nó, trước khi khởi động chương trình cũ của MBR, trình quản lý khởi động sẽ hiển thị một thanh tiến trình với thông báo như 'thiết bị quét'. Có lẽ nó đang phát hiện ổ đĩa và đưa nó vào danh sách khởi động của nó.
littlenoodles

Tôi đã tải EasyBCD và bộ tải khởi động windows hiển thị Windows 7 ở cuối danh sách, với mục 'Ổ cứng' chung phía trên nó. Có lẽ đó là vấn đề, ổ cứng chung đó khởi động khi tôi ở trong SATA1 (BIOS báo cáo), nhưng không phải khi tôi ở trong SATA3 (BIOS bỏ qua nó). Tôi có thể thử chỉnh sửa thứ tự khởi động với EasyBCD, nếu bạn nghĩ đó là vấn đề (và tôi không thể gạch hệ thống của mình ...)
littlenoodles

Câu trả lời:


1

Vì có Windows XP trên đó, ổ đĩa cũ của bạn gần như chắc chắn sử dụng phân vùng MBR và bộ tải khởi động BIOS. Thật không may, không có tiêu chuẩn hóa trong cách các hệ thống EFI hiện đại phản ứng khi chúng hiển thị hai đĩa, một trong số đó sử dụng bộ tải khởi động GPT và EFI và một trong số đó sử dụng MBR và bộ tải khởi động BIOS. Bạn có thể khiến đĩa bị bỏ qua bằng cách thay đổi cài đặt chương trình cơ sở hoặc thứ tự khởi động, nhưng điều đó có thể không đủ. Dọc theo những dòng đó, hãy tìm các tùy chọn hoặc tùy chọn thứ tự khởi động để vô hiệu hóa hỗ trợ "CSM" hoặc "di sản". Bạn cũng có thể thử bật hỗ trợ "khởi động nhanh".

Nếu không có cái nào trong số này hoạt động, bạn có thể xem xét một giải pháp thay thế:

  1. Cài đặt cả hai đĩa.
  2. Khởi động hệ thống Linux khẩn cấp từ ổ đĩa quang. Một cái gì đó như System Cứu CD hoặc Parted Magic sẽ hoạt động tốt.
  3. Sử dụng hệ thống khẩn cấp để sao chép tất cả các tệp của bạn từ đĩa cũ sang đĩa mới.
  4. Tùy chọn, tắt nguồn, xóa đĩa cũ, khởi động bằng các cài đặt mới của bạn và kiểm tra xem các tệp của bạn có thể truy cập được không. Khởi động lại vào hệ thống khẩn cấp.
  5. Khởi chạy parted, GParted hoặc gdisktrên đĩa cũ.
  6. Tạo bảng phân vùng GUID mới (trống) trên đĩa cũ. Bạn thực hiện điều này partedbằng mklabellệnh, trong GParted bằng cách sử dụng hộp thoại Device-> Tạo bảng phân vùng và tùy chọn Nâng cao của nó, và gdiskbằng cách nhập ovào menu chính và sau đó lưu các thay đổi với w. Điều này sẽ khiến đĩa không thể khởi động trong chế độ BIOS, vì vậy nó sẽ không gây ra sự cố mà bạn đang gặp phải bây giờ.
  7. Tạo các phân vùng và hệ thống tập tin mới trên đĩa cũ. Đảm bảo sử dụng công cụ nhận biết GPT, chẳng hạn như parted, GParted hoặc gdisk; không sử dụng fdisk, cfdiskhoặc sfdisk!
  8. Trong hệ thống khẩn cấp hoặc sau khi khởi động lại vào cài đặt thông thường của bạn, hãy bắt đầu sử dụng đĩa cũ làm đĩa sao lưu.

Tất nhiên, quy trình này có nghĩa là bạn sẽ không thể khởi động Windows XP hoặc cài đặt Linux cũ của bạn. Nếu bạn muốn duy trì khả năng khởi động Windows XP, bạn sẽ cần tìm kiếm giải pháp dựa trên phần sụn nhiều hơn; hoặc có lẽ bạn có thể thực hiện sao lưu hình ảnh của phân vùng XP và thử chạy nó bằng máy ảo - nhưng việc cài đặt lại hoàn toàn XP có ý nghĩa hơn trong trường hợp đó.


Câu trả lời của bạn nghe có vẻ hy vọng. Tôi đã nghĩ đến việc bằng cách nào đó vô hiệu hóa MBR trên ổ đĩa cũ để không có gì để khởi động ở đó. Tôi có thể làm điều đó từ đĩa CD cứu hộ bằng cách sử dụng fdisk để chỉ xóa bỏ phân vùng mặc định (hoặc một cái gì đó) - mà không phải xóa ổ đĩa không?
littlenoodles

Dù bằng cách nào, tôi không quan tâm đến việc giữ khả năng khởi động XP - hoặc thậm chí phân vùng linux / root cũ của tôi. Tôi chỉ muốn sao chép dữ liệu từ phân vùng XP và chuyển linux / home cũ của tôi sang ổ đĩa mới. Tôi giả sử bạn đang khuyên bạn nên phân vùng lại ổ đĩa GPT mới để phân bổ các phiên bản linux trước toàn bộ quy trình cứu hộ, vì vậy tôi có thể chuyển nội dung linux sang phân vùng linux không?
littlenoodles

Một điều khác - nếu tôi có thể làm cho linux thấy ổ đĩa cũ là SATA3, thì các vấn đề khởi động của tôi sẽ không còn nữa - windows vẫn ổn với ổ đĩa cũ trong SATA3, đó là linux không thể thấy nó ở đó.
littlenoodles

Đã thử thêm một số thứ. Đã khởi động gparted từ ổ đĩa flash trực tiếp và đặt lại cờ khởi động trên phân vùng XP cũ của tôi. Không có tác dụng. Điều kỳ lạ là, khi tôi để ổ đĩa flash cắm vào và cố gắng khởi động win7, nó đã khởi động gparted - và tôi gitva menu khởi động gparted đồ họa trong khi tôi có một menu văn bản khi tôi đặc biệt yêu cầu khởi động từ flash. Tôi nghĩ rằng windows đang thực hiện việc khởi động và có khái niệm nội bộ về thứ tự khởi động. Trong cả hai trường hợp sata1 và flash, tôi nhận được một thanh tiến trình "windows đang tải tập tin" trước khi tải. Tôi không hiểu điều đó khi không có ổ đĩa thứ cấp và win7 tự khởi động.
littlenoodles

Bạn có thể phân vùng lại ổ đĩa mới trước hoặc sau khi di chuyển dữ liệu khỏi ổ đĩa mới, nhưng rõ ràng trước đó sẽ có ý nghĩa hơn nếu bạn có lượng dữ liệu Linux đáng kể. Bạn thể chuyển đổi ổ đĩa cũ từ định dạng MBR sang GPT mà không mất dữ liệu bằng cách sử dụng gdisk và tất cả đều hoạt động chính xác, nhưng điều này thực sự phụ thuộc vào việc kích hoạt phần sụn của bạn để khởi động đĩa cũ ở chế độ BIOS. Windows không thể khởi động được; đó là công việc của phần sụn và mọi trình quản lý khởi động và bộ tải khởi động bạn đã cài đặt. Điều đó nói rằng, một bộ tải khởi động Microsoft có thể gây ra vấn đề.
Rod Smith
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.