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õ ls
và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. gdisk
tuy 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.