Phân vùng EFI vs phân vùng khởi động


41

Tôi vừa ngồi xuống để cài đặt debian 7, trong đó có một thứ gọi là 'EFI' hoàn toàn mới đối với tôi.

Tôi đã trải qua cài đặt như tôi thường làm;

  • 256MB / phân vùng khởi động, có thể khởi động, không được mã hóa
  • Kích thước đĩa còn lại là / phân vùng, được mã hóa

Trình cài đặt đã cảnh báo tôi về 'không tìm thấy phân vùng EFI' nhưng tôi đã bỏ qua nó, vì tôi thích sống nguy hiểm.

Nhưng cài đặt đó không có khả năng khởi động, grub phàn nàn về 'ma thuật ELF' và thả tôi vào chế độ cứu hộ.

Vì vậy, bây giờ tôi đang chạy lại cài đặt và đã tìm thấy tùy chọn để tạo phân vùng EFI. Câu hỏi của tôi như sau;

  • Nó là gì?
  • Tại sao tôi dường như cần một cái bây giờ?
  • Tôi vẫn cần một phân vùng khởi động / riêng biệt?
  • Tôi đã cài đặt windows 7 trên cùng một đĩa, luôn hoạt động tốt với grub2 từ mbr, liệu có thể cứu cài đặt đó không?

Câu trả lời:


47

Máy tính của bạn có chương trình cơ sở UEFI, một sự thay thế cho BIOS cũ (mặc dù nó vẫn hỗ trợ các hệ điều hành chỉ dành cho BIOS, dưới tên "CSM").

  • Trong các hệ thống BIOS, bộ tải khởi động (hoặc "giai đoạn 1" của bộ tải khởi động lớn) được lưu trữ bên trong MBR , trong khu vực zeroth của đĩa. (MBR 512 byte dự trữ 446 byte cho mã bootstrap, phần còn lại được sử dụng cho thông tin phân vùng.) Nếu bộ tải khởi động quá lớn, mã MBR "giai đoạn 1" của nó thường cố gắng tìm các tệp "giai đoạn 2" trong phân vùng / boot của bạn.

  • Trong các hệ thống EFI hoặc UEFI, vùng mã bootstrap trong MBR thường trống (hầu hết các hệ thống UEFI thậm chí không sử dụng MBR để phân vùng, thích GPT ). Thay vào đó, tất cả các bộ tải khởi động được lưu trữ dưới dạng các .efichương trình thông thường trong "phân vùng hệ thống EFI", đó là một phân vùng FAT32 thông thường có "loại phân vùng" đặc biệt trong bảng phân vùng. Nếu bạn có nhiều hệ điều hành, chúng có chung phân vùng hệ thống EFI.

    / khởi động / efi
    ├── EFI
    Arch ─
    │ │ ─── initramfs-linux.img
    │ │ ─── vmlinuz-linux.efi
    │ └── gummiboot
    │ └── gummiboot.efi
    Bộ tải
    Entry ── mục
    Arch ─ ─
    └── loader.conf
    └── SHELLX64.EFI
    

    Một số người dùng chọn đặt phân vùng EFI tại /boot, giúp cấu hình dễ dàng hơn một chút cho các hệ thống chỉ dành cho Linux. Nhưng khi dualboote - ngay cả khi đó là hai bản phân phối Linux khác nhau - tôi khuyên bạn nên có phân vùng EFI tại /boot/efi. Một riêng biệt /bootthường là không cần thiết.)

Phân vùng EFI là bắt buộc nếu bạn muốn khởi động hệ thống của mình ở chế độ UEFI. Tuy nhiên, nếu bạn muốn Debian có khả năng khởi động UEFI, bạn cũng có thể cần phải cài đặt lại Windows, vì việc trộn hai phương thức khởi động là bất tiện nhất.

Cả Windows 7 và Debian 7 đều hỗ trợ cả BIOS và UEFI và họ cài đặt bộ tải khởi động phù hợp tùy thuộc vào chế độ nào mà trình cài đặt được khởi động. Thông thường, các hệ thống UEFI có công tắc "chế độ khởi động" trong màn hình cài đặt của chúng, có các tùy chọn như "UEFI chỉ "," UEFI và CSM "," Legacy (BIOS) only "," BIOS, sau đó UEFI "hoặc một cái gì đó tương tự. (CSM là Mô-đun hỗ trợ tương thích, mô phỏng BIOS.)

Hệ thống Windows 7 của bạn có thể đã được cài đặt ở chế độ BIOS, nhưng trình cài đặt Debian hiện khởi động ở chế độ UEFI và đề nghị cài đặt bộ tải khởi động tương thích UEFI. (Có thể bạn đã bật công tắc "UEFI / BIOS" ở đâu đó. Tôi không biết.)

Hiện tại, bạn có thể bỏ qua hoàn toàn EFI và cài đặt lại GRUB2 vào MBR, có thể sử dụng grub-install --target=i386-pc.


1
Câu trả lời chính xác! Vì vậy, nếu tôi sử dụng GPT và EFI, tôi chỉ cần tách riêng "phân vùng khởi động EFI", "/" (root), "hoán đổi", "/ home" và điều đó có ổn không?
Timur Fayzrakhmanov

2
@TimurFayzrakhmanov: Yêu cầu tối thiểu là "/ boot (phân vùng hệ thống EFI)" và "/ (root)".
grawity

1

Nó không phải là cùng một hệ điều hành nhưng đó là một vấn đề tương tự, tôi đã cài đặt Ubuntu 13.04 qua PC với windows 8 và nó đã cho tôi tùy chọn khởi động, nó đi trực tiếp vào windows 8. Vì vậy, tôi cần sử dụng sửa chữa khởi động nhưng nó không nhận ra Thẻ không dây vì vậy tôi làm theo các bước trên liên kết này để khắc phục sự cố với thẻ không dây: Tôi có thể bật WiFi trên đĩa CD Ubuntu Live không?

Về cơ bản những gì tôi đã làm để kích hoạt không dây là:

  1. Chuyển đến Cài đặt hệ thống → Nguồn phần mềm → Trình điều khiển bổ sung
  2. Chọn bất kỳ tùy chọn khả dụng nào khác ngoài "Không sử dụng thiết bị"
  3. Nhấn "Áp dụng thay đổi"

Sau đó, tôi đã làm theo các bước từ https://help.ubfox.com/community/Boot-Repair

Về cơ bản những gì tôi đã làm là:

  1. khởi động Boot-Repair từ một trong hai: 1.the Dash (logo Ubuntu ở phía trên bên trái màn hình)

    1. hoặc Hệ thống-> Quản trị-> Menu Khởi động-Sửa chữa (chỉ dành cho Ubuntu 10.04)

    2. hoặc bằng cách gõ 'boot-Repair' trong một thiết bị đầu cuối

  2. Sau đó nhấp vào nút "Đề nghị sửa chữa". Khi quá trình sửa chữa kết thúc, hãy lưu ý URL (paste.ubfox.com/XXXXX) xuất hiện trên một tờ giấy, sau đó khởi động lại và kiểm tra xem bạn đã phục hồi quyền truy cập vào HĐH của mình chưa.

  3. Nếu việc sửa chữa không thành công, hãy chỉ ra URL cho những người giúp bạn qua email hoặc diễn đàn.

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.