Grub không thấy ổ đĩa ngoài (Intel mac)


0

Tôi có Intel Mac (MacMini) và ổ đĩa USB ngoài. Trên ổ đĩa trong, tôi có một phân vùng có cài đặt OSX và một phân vùng có Ubuntu + Grub2. Trên ổ đĩa ngoài, tôi có một bản sao của phân vùng OSX hoàn chỉnh của tôi và một bản sao của phân vùng Ubuntu hoàn chỉnh của tôi (cả hai đều có UUID khác với bản gốc).

Tôi sử dụng rEFIt để khởi động kép. OSX và Linux nội bộ và OSX bên ngoài xuất hiện trong menu rEFIt và có khả năng khởi động. Linux bên ngoài, mà tôi muốn có thể khởi động, bị thiếu. Sau khi tạo bản sao lưu Linux, tôi đã cập nhật grub trên Linux nội bộ (nó tìm thấy tất cả 4 cài đặt) và trên bản cài đặt bên ngoài (thông qua chroot - nó tìm thấy tất cả các bản cài đặt trừ Linux nội bộ). Điều này đã không giải quyết vấn đề.

Khi tôi cố gắng khởi động Linux bên ngoài bằng Grub bên trong, tôi nhận được thông báo lỗi:

error: no such device: <the UUID of the external Linux partition>
error: no such partition.
error: you need to load the kernel first.

Khi tôi gõ lsvào menu Grub bên trong, nó sẽ liệt kê tất cả các phân vùng trên ổ đĩa trong, nhưng (hd1)hoàn toàn bị thiếu.

Tôi đã cố gắng đồng bộ các bảng phân vùng trên ổ đĩa ngoài bằng cách sử dụng gptsync, nhưng nó tuyên bố không có GPT. gdisktuy nhiên đã tìm thấy một và so sánh thủ công với fdiskđầu ra của nó cho tôi ấn tượng rằng chúng đồng bộ hóa. (Phân vùng Linux được bao gồm trong cả hai bảng.)

BIÊN TẬP:

Tôi đã ghi rEFInd vào đĩa cd và thử nghiệm. Các kết quả:

  • Khi tôi khởi động máy mac của mình, nhấn C để khởi động từ đĩa CD, nó sẽ hiển thị ngay nền xám của rEFInd nhưng sau đó ngay lập tức khởi chạy grub từ cài đặt bên trong. Tôi có thể giải quyết vấn đề này bằng cách chọn rEFInd từ rEFIt. Tuy nhiên, điều này mang lại cho tôi chút tự tin khi cài đặt rEFInd trong OSX.

  • rEFInd hiển thị tất cả các tùy chọn cần hiển thị. Như dự kiến, Grub vẫn không thể khởi động linux từ đĩa bên ngoài.

  • Khi tôi khởi chạy kernel Linux từ đĩa bên ngoài bằng rEFInd, nó sẽ khởi động, nhưng sau khi khởi động, nó bật ra phân vùng INternal được gắn kết là /. Theo này bài viết, những thay đổi duy nhất người ta phải thực hiện sau khi sao chép một phân vùng, đang trong grub. Vì tôi không sử dụng grub, tôi không hiểu.

Câu trả lời:


1

Trước tiên, bạn nên hiểu sự khác biệt giữa khởi động chế độ EFI và khởi động ở chế độ BIOS / CSM / kế thừa. Máy Mac dựa trên Intel có phần sụn EFI và khởi động OS X ở chế độ EFI. Phần sụn này bao gồm trình giả lập BIOS (được gọi là Mô-đun hỗ trợ tương thích hoặc CSM; hoặc đôi khi được gọi là hỗ trợ "chế độ kế thừa") cho phép chúng khởi động bộ tải khởi động ở chế độ BIOS. Apple dự định điều này sẽ được sử dụng để khởi động Windows; nhưng nhiều người cũng sử dụng hỗ trợ BIOS / CSM / kế thừa này để khởi động các hệ điều hành khác, bao gồm cả Linux. Mặc dù vậy, Linux hỗ trợ khởi động chế độ EFI cũng như khởi động chế độ BIOS, do đó, sử dụng CSM của Mac thường không cần thiết và thậm chí là một sự phức tạp. OTOH, có một số mô hình nhất định mà phần cứng hoạt động tốt hơn trong Linux khi được khởi động ở chế độ BIOS so với khi khởi động ở chế độ EFI.

Khởi động từ phương tiện bên ngoài trên máy Mac là một đề xuất của iffy, đặc biệt là trong chế độ BIOS / CSM / kế thừa. Rất có thể đó là vấn đề bạn gặp phải. Tôi biết không có giải pháp "viên đạn bạc" nào cho vấn đề ở chế độ BIOS. Giải pháp có khả năng hiệu quả nhất là chuyển sang khởi động ở chế độ EFI. Để làm điều này, tôi khuyên bạn nên chuyển từ rEFIt bị bỏ rơi sang ngã ba của nó mà tôi duy trì, rEFInd. Trong số những thứ khác, rEFInd bổ sung hỗ trợ cho việc khởi chạy trực tiếp các nhân Linux với các trình tải sơ khai EFI (bao gồm hầu hết các nhân được cung cấp phân phối kể từ 3.3.0). Nếu bạn khởi động rEFInd từ ổ flash USB hoặc hình ảnh CD-R có sẵn trên trang tải xuống, nó có thể khởi chạy Linux từ cả ổ đĩa trong và ngoài của bạn (và cả OS X từ cả hai vị trí). Nếu điều này hoạt động, cài đặt rEFInd trong OS Xvà cũng cài đặt trình điều khiển cho bất kỳ hệ thống tập tin nào chứa nhân Linux của bạn (thường là ext4fs). Kết quả sẽ là khả năng khởi động trực tiếp HĐH, bỏ qua GRUB.

Nếu tất cả điều này hoạt động, tôi khuyên bạn nên loại bỏ MBR lai xấu xí và nguy hiểm , mà EFI của Apple sử dụng làm công cụ kích hoạt CSM của nó. ( gptsyncTiện ích tạo hoặc sửa đổi MBR lai.) Vui lòng đọc liên kết đó để hiểu MBR lai là gì và tại sao nó lại là một vấn đề như vậy.


BIÊN TẬP:

Thực tế là rEFInd CD-R không hoạt động chính xác khi bạn sử dụng "C" để khởi động trực tiếp nhưng đã hoạt động khi được khởi chạy từ rEFIt nói rất ít về xác suất rEFInd hoạt động chính xác khi được cài đặt trên ổ cứng hoặc ổ flash USB. Thật không may, việc khởi động từ phương tiện quang học trong EFI khá phức tạp và Apple dường như đã ném vào các nếp nhăn của chính họ. Do đó, việc khởi động theo cách đó có thể hơi khó khăn, đặc biệt là vì tôi (nhà phát triển của rEFInd) chỉ có một máy Mac cổ để thử nghiệm mọi thứ. Khởi động từ đĩa cứng (hoặc từ ổ flash USB) có nhiều khả năng hoạt động.

Dựa trên mô tả của bạn, tôi nghi ngờ rằng bạn không thể cập nhật /etc/fstabtệp của mình trên hệ thống tệp được sao chép. Cập nhật /etc/fstabđể tham khảo UUID mới cho phân vùng là bắt buộc khi làm theo quy trình đó. Nếu tình cờ bạn có một /boot/refind_linux.conftập tin, thì nó cũng phải được cập nhật. (Có thể bạn không có tệp đó, nhưng bạn có thể nếu bạn đã đi xa hơn một chút so với hướng dẫn của tôi hoặc nếu bạn đã chơi với rEFInd trong quá khứ.)


Cảm ơn. Tôi đã ghi một đĩa CD rEFInd và nối các kết quả của mình vào câu hỏi.
dremodaris

Xem chỉnh sửa của tôi, ở trên.
Rod Smith

Ah, tôi đọc qua fstab, xin lỗi. Tôi đã làm theo tất cả các hướng dẫn của bạn nhưng loại bỏ MBR và chúng hoạt động như một cơ duyên, cảm ơn! Đối với MBR, bạn đề cập gptsync. Ở đây bạn đề cập gdiskthay thế. Là câu trả lời bằng cách nào đó đã lỗi thời?
dremodaris

Hãy làm theo các liên kết Tôi cung cấp cho các gdisktài liệu trên MBRs lai. Các gptsynctiện ích tạo MBRs lai, nhưng với sự linh hoạt chút. Một trong nhiều tính năng của gdisklà khả năng tạo MBR lai, nhưng linh hoạt hơn. Một tính năng khác gdisklà khả năng thay thế MBR lai bằng MBR bảo vệ hợp pháp, đó là những gì tôi đã khuyên bạn nên làm, vì MBR lai là bất hợp pháp và nguy hiểm. (Bài đăng của tôi từ năm 2012 mà bạn đã liên kết mô tả cách thực hiện thay thế này. Nó vẫn còn hiệu lực.)
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.