Bộ tải khởi động nên được cài đặt ở đâu khi tôi muốn chạy Ubuntu từ ổ cứng ngoài?


9

Tôi có một máy tính xách tay đang chạy windows 10 và tôi muốn cài đặt Ubuntu trên ổ cứng ngoài và bất cứ khi nào tôi cần, tôi có thể chỉ cần cắm nó vào và khởi động từ ổ đĩa ngoài.

Tôi đã làm theo một hướng dẫn, thực sự là hai và cả hai đều nói rằng bộ tải khởi động phải được cài đặt trên ổ cứng ngoài. Điều này là kết quả mà tôi chỉ có thể truy cập Windows khi cắm ổ cứng gắn ngoài. Bất cứ khi nào tôi không cắm nó vào máy tính xách tay sẽ không khởi động và tôi sẽ chỉ nhận được một màn hình đen với một đường trắng. Sau khi sửa bản ghi khởi động chính, tôi có thể truy cập windows.

Bây giờ tôi muốn thử lại nhưng tôi sợ rằng nếu tôi cài đặt bộ tải khởi động vào ổ đĩa bên trong thì bằng cách nào đó tôi có thể xóa phân vùng windows của mình nếu không tôi sẽ gặp vấn đề với việc khởi động.

Vậy tôi phải làm sao?


Có thể có lỗi và cách khắc phục tại bug.launchpad.net/ubfox/+orms/1835639
Bellera

Câu trả lời:


10

Đầu tiên, điều quan trọng là bạn hiểu chế độ khởi động của mình. Máy tính hiện đại có thể khởi động theo một trong hai cách:

  • BIOS - Đây là cách khởi động cũ, được sử dụng trên hầu hết các máy tính được giới thiệu trước năm 2011. Máy tính hiện đại hỗ trợ khởi động chế độ BIOS thông qua một tính năng gọi là Mô-đun hỗ trợ tương thích (CSM), còn gọi là "hỗ trợ khởi động chế độ kế thừa" hoặc một thuật ngữ tương tự. Do đó, phương pháp này có thể được gọi bằng ba tên: BIOS, CSM hoặc di sản. Nó liên quan đến mã bộ tải khởi động 16 bit được chia nhỏ trong Bản ghi khởi động chính (MBR) và nhiều nơi khác. Đây là một phương pháp khởi động không phù hợp nhưng trưởng thành và hầu hết các trang web không đề cập rõ ràng đến chế độ khởi động mô tả khởi động chế độ BIOS. Tuy nhiên, nếu máy tính của bạn đi kèm với Windows 8 trở lên, rất có thể nó không sử dụng phương pháp khởi động này.
  • EFI / UEFI - Đây là chế độ khởi động riêng cho hầu hết các máy tính được giới thiệu từ giữa năm 2011 và nó hoàn toàn khác với khởi động ở chế độ BIOS, vì vậy bạn nên bỏ qua mọi lời khuyên rõ ràng về việc khởi động ở chế độ BIOS, hoặc bất cứ điều gì không đề cập đến chế độ khởi động (vì nó có thể đã cũ hoặc được viết bởi một người không biết sự khác biệt). Một ngoại lệ: Thật khó hiểu, nhiều người, và thậm chí các nhà sản xuất máy tính, gọi EFI của họ là "BIOS". Thực hành này tạo ra rất nhiều nhầm lẫn.

Vì bạn đề cập đến Windows 10, rất có thể máy tính của bạn dựa trên EFI và khởi động ở chế độ EFI. Tôi sẽ tiến hành theo giả định đó. Nếu điều này là không chính xác, bỏ qua phần còn lại của câu trả lời này.

Để khởi động đĩa nội bộ ở chế độ EFI, HĐH thường lưu trữ bộ tải khởi động dưới dạng tệp trên Phân vùng hệ thống EFI (ESP) trên đĩa. Tên tệp này có thể là bất cứ điều gì hợp pháp, nhưng đối với Ubuntu, nó sẽ EFI/ubuntu/shimx64.efilần lượt ra mắt EFI/ubuntu/grubx64.efi. Trình cài đặt hệ điều hành đăng ký tên của trình tải khởi động với trình quản lý khởi động tích hợp của EFI, lưu trữ tên đó trong NVRAM. Nếu EFI hoạt động chính xác (không phải tất cả), điều này dẫn đến một quá trình khởi động hoạt động.

Rắc rối với quá trình này, như được áp dụng cho một đĩa di động, là ba lần:

  • Trình cài đặt Ubuntu sẽ cài đặt GRUB thành "ESP" - nhưng bạn có thể có sẵn nhiều ESP (gần như chắc chắn là một trên đĩa cứng và có thể một trên ổ USB). Kiểm soát nơi cài đặt GRUB có thể khó khăn. Nó không được thực hiện bằng cách sử dụng tùy chọn được đánh dấu với tiêu đề rõ ràng về nơi cài đặt GRUB. Thay vào đó, chỉ có thể thực hiện (AFAIK) từ tùy chọn cài đặt "Something Else" bằng cách đánh dấu ESP bạn muốn sử dụng làm "phân vùng khởi động EFI" hoặc "Phân vùng hệ thống EFI" (tên này phụ thuộc vào phiên bản Ubuntu).
  • Nếu bạn cài đặt GRUB vào ESP trên ổ USB, thì khi bạn tháo ổ USB, EFI có thể nhận thấy rằng nó có mục nhập bộ tải khởi động đã đăng ký không hợp lệ và xóa mục đó. Nhiều EFI làm điều này và điều đó có nghĩa là nếu bạn cài đặt GRUB vào một ổ đĩa ngoài và sau đó rút phích cắm ra, bạn sẽ mất khả năng khởi động từ đĩa đó, ngay cả khi bạn cắm lại đĩa.
  • Cách Ubuntu định cấu hình GRUB khiến nó dựa vào các tệp cấu hình có trong /boot/grubthư mục Ubuntu , điều này không có khả năng nằm trên ESP. Do đó, nếu Ubuntu cài đặt GRUB vào ESP trên đĩa bên trong của bạn, bạn sẽ tránh được sự cố đầu tiên nhưng gặp phải sự cố khác vì khi bạn khởi động với ổ USB bị ngắt kết nối, GRUB sẽ khởi chạy và không thể tìm thấy các tệp cấu hình của nó. Kết quả là một grub>dấu nhắc sẽ làm bí ẩn hầu hết người dùng.

Có một số giải pháp cho những vấn đề này, bao gồm:

  • Cài đặt thủ công GRUB cho tên tệp dự phòng trên đĩa ngoài - Trình cài đặt hệ điều hành khởi động bằng cách sử dụng tên tệp dự phòng của EFI/BOOT/bootx64.efi. Nếu bạn sao chép Shim (mà ra mắt GRUB) để tên tập tin này (bằng cách sao chép EFI/ubuntuđể EFI/BOOTtrên ESP và sau đó đổi tên shimx64.efiđể bootx64.efiEFI/BOOT), phần sụn của bạn sẽ có thể khởi chạy GRUB dựa trên USB của bạn giống như trình cài đặt Ubuntu. Điều này sẽ khắc phục cả hai vấn đề tôi vừa xác định, nhưng bạn sẽ cần sử dụng trình quản lý khởi động tích hợp của máy tính để chọn hệ điều hành nào sẽ khởi động. Trình quản lý khởi động tích hợp này có phạm vi từ không thể sử dụng đến có thể chấp nhận được, vì vậy đây có thể là một giải pháp có thể chấp nhận được. Bạn cũng có thể cần phải điều chỉnh thứ tự khởi động sau khi bạn cài đặt Ubuntu để ngăn nó khởi chạy GRUB từ ESP của đĩa bên trong hoặc ESP của đĩa bên ngoài theo mặc định.
  • Đặt một /bootphân vùng trên đĩa bên trong của bạn - Nếu bạn cài đặt GRUB vào đĩa bên trong, thì bạn cũng có thể đặt một /bootphân vùng trên đĩa bên trong. Điều này sẽ cho phép GRUB hoạt động bình thường trên tất cả các bốt; tuy nhiên, tùy chọn Ubuntu sẽ xuất hiện mọi lúc, ngay cả khi rút đĩa USB. Điều này có thể là không mong muốn, đặc biệt nếu Ubuntu là mặc định. Ngoài ra, giải pháp này có nghĩa là ổ USB ngoài của bạn sẽ chỉ có khả năng khởi động trên máy tính mà bạn đã chuẩn bị. Nếu bạn muốn có thể sử dụng đĩa đó trên các máy tính khác, bạn nên tránh giải pháp này.
  • Sử dụng một trình quản lý khởi động thông minh hơn - Một khởi động quản lý cung cấp cho bạn một lựa chọn hệ điều hành để khởi động, trong khi một boot loader tải một kernel vào bộ nhớ. GRUB thực hiện cả hai công việc và trình quản lý khởi động tích hợp của EFI chỉ thực hiện công việc đầu tiên. Có các trình quản lý khởi động khác có sẵn, một số trình quản lý có thể giúp bạn tránh các sự cố tôi đã xác định. Ví dụ, rEFInd của riêng tôi , nếu được cài đặt vào ESP của đĩa bên trong và tạo chương trình khởi động mặc định, sẽ phát hiện và hiển thị tùy chọn Ubuntu nếu và chỉ khi GRUB hoặc nhân Linux xuất hiện - nghĩa là khi ổ USB được cắm trong. Bằng cách đặt default_selectiontùy chọn trongrefind.confmột cách thích hợp, bạn có thể định cấu hình rEFInd để tự động khởi động Ubuntu nếu ổ USB Ubuntu của bạn được cắm và khởi động thẳng vào Windows nếu ổ USB Ubuntu không được cắm. Câu trả lời của tôi cho câu hỏi này cung cấp thêm chi tiết về loại cấu hình này, mặc dù trên Mac chứ không phải PC.

Với bất kỳ may mắn nào, một trong những cách tiếp cận này sẽ giúp bạn đứng dậy và chạy.


0
  1. Khởi động Ubuntu Live USB / CD
  2. Cắm ổ cứng gắn ngoài của bạn vào
  3. Cài đặt Ubuntu tại Ổ cứng ngoài (nâng cao, do đó bạn có thể đặt nơi cài đặt bộ tải khởi động)
  4. Cấu hình bios để khởi động từ hdd bên ngoài của bạn

Đây là một giải pháp dựa trên BIOS sẽ không hoạt động chính xác trên hầu hết các máy tính dựa trên EFI.
Rod Smith

0

Bạn cần cài đặt bộ tải khởi động trên bất kỳ ổ đĩa nào UEFI / BIOS của bạn sử dụng để khởi động. Bạn có thể thay đổi ổ đĩa này trong cài đặt BIOS của bạn, mà bạn có thể thường truy cập bằng cách nhấn một cái gì đó giống như F10, F12hoặc Delngay sau khi khởi động máy tính của bạn. Vì vậy, bước đầu tiên, bạn có thể thử cài đặt máy của mình để khởi động từ ổ đĩa ngoài thay vì ổ đĩa trong. Nếu bộ nạp khởi động được cài đặt đúng cách vào ổ đĩa ngoài, thì nó sẽ hoạt động.

Để sử dụng hàng ngày thông thường, có lẽ bạn sẽ luôn muốn khởi động từ cùng một ổ đĩa để thuận tiện, vì vậy bạn sẽ muốn cài đặt bộ tải khởi động vào ổ đĩa trong của mình. Tuy nhiên, trước khi thực hiện việc này, bạn nên tạo một bản sao lưu, tốt nhất là hình ảnh đĩa đầy đủ của ổ đĩa bên trong đang hoạt động. Nếu bạn gặp sự cố sau khi cài đặt Ubuntu cùng với Windows, công cụ Boot-Repair có thể giúp ích.


Tôi đã thay đổi thứ tự khởi động để khởi động từ USB trước ổ cứng gắn trong. Vì vậy, tôi tưởng tượng nếu tôi cài đặt Ubuntu trên ổ cứng gắn ngoài và cài đặt bộ tải khởi động trong ổ cứng gắn ngoài thì tôi có thể nhưng tôi có thể khởi động từ thanh USB phải không?
đội trưởng

Xin lỗi, tôi không chắc chính xác những gì bạn đang hỏi. Bạn có thể 1) cài đặt bộ tải khởi động trên ổ đĩa ngoài, 2) tháo ổ USB và 3) đặt BIOS của bạn để khởi động từ ổ đĩa ngoài, sau đó khởi động vào Ubuntu trên ổ đĩa ngoài.
Ben

@capitan Wright. Như tôi đã nói, điều này sẽ làm việc.
Izzno

0

Tôi sẽ cài đặt bộ tải khởi động trên thiết bị Bên ngoài! Bằng cách này, không có cơ hội cài đặt windows của bạn bị hỏng hoặc gỡ bỏ bộ tải khởi động. Nó sẽ là một nhiệm vụ đơn giản để thiết lập BIOS của bạn để khởi động:

USB-Key
USB-Disk
HDD
etc 
etc

Lưu ý: HÃY ĐẢM BẢO BẠN ĐẢM BẢO AN TOÀN (nếu bạn thấy tùy chọn đó)

Bằng cách này, nếu bạn ngắt kết nối thiết bị bên ngoài vì một số lý do, nó sẽ không gây ra sự cố với máy tính của bạn.

Và: Nếu bạn tránh xa các trình điều khiển độc quyền, bạn sẽ có thể chạy hệ thống này trên các máy tính khác ...

(Btw, tôi sẽ không đề xuất loại cài đặt này để sử dụng lâu dài vì nó sẽ chậm hơn eSATA)


Ubuntu hỗ trợ Khởi động an toàn. Mặc dù thỉnh thoảng có sự không tương thích, nhưng chúng rất hiếm, vì vậy không cần phải lộn xộn với cài đặt đó. Theo EFI, các cài đặt thứ tự khởi động thường phức tạp hơn nhiều so với bạn mô tả, cả hai mặt tốt và xấu - nó cung cấp nhiều tùy chọn hơn và kiểm soát chi tiết hơn; nhưng điều đó có nghĩa là còn nhiều điều phải học và các giải pháp đơn giản được học trong thế giới BIOS dường như không hiệu quả.
Rod Smith

Tôi đã không biết rằng Ubuntu có thể "đặt ra" như các cửa sổ vì tất cả các tùy chọn BIOS khởi động an toàn mà tôi từng thấy nói rõ rằng nó vô hiệu hóa tất cả các khả năng để thay đổi thứ tự khởi động vĩnh viễn và hệ điều hành.
Izzno

Ubuntu không "đặt ra" như Windows. Secure Boot chỉ đơn giản yêu cầu chương trình EFI được ký bằng khóa riêng có khóa chung được đăng ký với phần sụn. Microsoft ký các khóa cho bên thứ ba, bao gồm cả nhị phân Shim của Canonical, khiến chúng có thể chạy được trên các máy tính có khóa của Microsoft. Tôi chưa bao giờ nghe nói về việc triển khai Khởi động an toàn ngăn chặn thay đổi thứ tự khởi động, mặc dù tôi cho rằng một nhà cung cấp có thể chọn thêm hạn chế đó. Xem trang của tôi trên Secure Boot để biết thêm về chủ đề này.
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.