Tại sao một hệ điều hành và trình cài đặt của nó hoạt động khác nhau tùy thuộc vào chế độ kế thừa được sử dụng hay không?


0

Một số bối cảnh:

Đầu ngày hôm nay, tôi đã cố gắng cài đặt lại Kali Linux trên máy của mình (khởi động kép với Windows). Để thực hiện điều này, tôi đã tải xuống ISO và đặt nó vào thanh USB Easy2Boot của mình. Để khởi động máy tính xách tay của tôi từ thanh Easy2Boot, tôi cần phải đi đến BIOS của mình và:

  • Vô hiệu hóa PTT
  • Kích hoạt ROM tùy chọn kế thừa
  • Chuyển sang chế độ Di sản

Điều này là do thực tế là Easy2Boot không hỗ trợ UEFI và vì vậy cây gậy sẽ không xuất hiện trừ khi tôi làm điều này.

Tôi không có vấn đề trong quá trình cài đặt, nhưng sau đó. Tôi đã khởi động tốt vào hệ thống, nhưng nếu tôi hoàn nguyên các thay đổi tôi đã thực hiện trong BIOS và trở về chế độ UEFI, tôi đã nhận được lời nhắc cứu GRUB thay vì Kali. Ngoài ra, trong khi các tùy chọn BIOS đó vẫn được đặt, GRUB không thể phát hiện cài đặt Windows của tôi. Cuối cùng, tôi đã sử dụng Rufus để cài đặt Kali với "Lược đồ phân vùng: GPT" và "Hệ thống đích: UEFI (không CSM)". Khi làm điều này, tôi đã nhập quá trình cài đặt. Đáng chú ý, trình cài đặt dường như là khác nhau. Không chỉ có sự khác biệt về ngoại hình, mà menu ban đầu còn có các tùy chọn khác nhau.

Câu hỏi của tôi:

Làm thế nào mà việc chuyển đổi giữa chế độ Legacy và chế độ UEFI đã gây ra những vấn đề này? Tôi hiểu rằng sự tham gia duy nhất mà MBR / GPT có trong việc khởi động là cung cấp mã ban đầu để khởi động từ đó.

  • Vì GRUB có thể tải ở chế độ UEFI, tại sao nó lại kết thúc ở chế độ phục hồi thay vì tiếp tục khởi động Kali chỉ vì thay đổi này?

  • Tại sao có sự khác biệt giữa các trình cài đặt tôi thấy khi ở chế độ Legacy vs UEFI?

  • Khi ở chế độ Legacy, tại sao GRUB không thể phát hiện Windows? Tôi đã nghĩ rằng BIOS đã hoàn thành công việc của mình khi tải GRUB, nên nó sẽ không gặp vấn đề gì, vì tôi biết rằng GRUB không có vấn đề gì khi phát hiện Windows khi cài đặt ở chế độ UEFI.


1
Luôn sử dụng chế độ UEFI cho PC UEFI. Di sản vẫn chỉ dành cho các hệ điều hành (rất) cũ hoặc "đặc biệt" và trong bao lâu tôi không biết nhưng nếu tôi đoán, 5 năm nữa chúng ta sẽ không có cuộc thảo luận này, đó sẽ là UEFI hoặc không có gì . Mọi vấn đề bạn đang hỏi đều dễ dàng bị googl, cụ thể là Grub trong Legacy sẽ không phát hiện Windows ở chế độ khác (UEFI) và ngược lại. Ngoài ra, Windows cũng yêu cầu MBR cho BIOS (Legacy) và GPT cho UEFI. Tôi chỉ là người dùng Ubuntu cấp thấp và tôi biết điều đó và hơn thế nữa. Một người dùng Kali dự kiến ​​sẽ biết gấp 10 lần những gì tôi biết ...
GabrielaGarcia

1
Tôi thực sự khuyên bạn nên nghiên cứu chế độ khởi động UEFI và Legacy để hiểu chúng là gì và chúng khác nhau như thế nào.
music2myear

... Tôi nghĩ rằng đã đến lúc để bạn suy nghĩ lại về sự lựa chọn phân phối Linux của bạn. Kali là rất cụ thể cho pentesting. Đây KHÔNG phải là Linux dành cho máy tính để bàn để sử dụng hàng ngày và được nhắm mục tiêu đến các chuyên gia đã là những người dùng Linux rất tiên tiến. Câu trả lời ở đây tổng hợp: unix.stackexchange.com/questions/399626/
GabrielaGarcia

@GabrielaGarcia Rất cám ơn về liên kết, đây là một bài đọc rất thú vị. Tuy nhiên, tôi sẽ nói rằng chính những thách thức mà tôi đã phải đối mặt và tưởng tượng phải đối mặt với Kali đã khiến tôi chọn nó, như một cách học qua các cuộc đấu tranh của tôi - đó không phải là lựa chọn của tôi cho phân phối sử dụng tại nhà.
VortixDev

Nhấn vào điểm cụ thể trong bài đăng đó là "Nếu bạn hỏi một câu hỏi mới bắt đầu về Kali, nhiều người sẽ bỏ qua bạn.", Tôi muốn nói rằng tôi tin rằng câu hỏi sẽ áp dụng cho bất kỳ phân phối nào .
VortixDev

Câu trả lời:


3

Tôi hiểu rằng sự tham gia duy nhất mà MBR / GPT có trong việc khởi động là cung cấp mã ban đầu để khởi động từ đó.

Và menu ban đầu thực sự là một phần của mã này. Nó không được cung cấp bởi HĐH; nó được hiển thị bởi bộ nạp khởi động (cũng thực hiện công việc của 'trình quản lý khởi động').

Bộ nạp khởi động theo bản chất của nó là dành riêng cho một loại phần sụn. (Ngay cả GRUB2 cũng có các lõi riêng cho BIOS và UEFI và các mô-đun của nó phải được biên dịch khác nhau cho cả hai loại.)

Vì vậy, hoàn toàn có thể cùng một đĩa cài đặt sẽ sử dụng các bộ tải khởi động hoàn toàn khác nhau cho các hệ thống BIOS và UEFI (ví dụ: syslinux cho BIOS nhưng systemd-boot trên UEFI; hoặc GRUB2 cho BIOS nhưng rEFInd trên UEFI). Nếu họ cung cấp các menu khởi động, tất cả họ đều làm theo cách riêng của họ, với sự xuất hiện và chủ đề của riêng họ.

(Cũng có thể là ISO gốc không có bộ tải khởi động cho cả hai loại phần sụn - trong một số trường hợp, Rufus chèn cấu hình bộ tải khởi động riêng (syslinux) vào hỗn hợp.)

Cuối cùng, ngay cả khi đó là cùng một GRUB2 với cùng cấu hình cơ sở, nó có thể không có cùng chế độ đồ họa có sẵn trong cả hai trường hợp. Các tùy chọn menu có thể bị thiếu do sự khác biệt trong chính các phần cứng: ví dụ: "Khởi động hệ điều hành hiện tại" được thực hiện hoàn toàn khác nhau giữa BIOS và UEFI; và "Kiểm tra bộ nhớ" (memtest86) là một chương trình riêng biệt, bản thân nó cần có các biến thể BIOS và UEFI ...

Vì GRUB có thể tải ở chế độ UEFI, tại sao nó lại kết thúc ở chế độ phục hồi thay vì tiếp tục khởi động Kali chỉ vì thay đổi này?

Không thể trả lời mà không thấy lỗi chính xác được báo cáo bởi GRUB. Có thể là phân vùng EFI của bạn có các tệp lõi GRUB, nhưng thiếu các mô-đun hoặc grub.cfg.

Một lần nữa, hãy nhớ rằng BIOS GRUB và UEFI GRUB hoạt động như hai phần mềm riêng biệt. Mặc dù chúng chia sẻ hầu hết mã nguồn, chúng được biên dịch thành các định dạng khác nhau, chúng được cài đặt vào các vị trí khác nhau trên hệ thống và được khởi động khác nhau bởi các phần cứng.

Khi ở chế độ Legacy, tại sao GRUB không thể phát hiện Windows? Tôi đã nghĩ rằng BIOS đã hoàn thành công việc của mình khi tải GRUB, nên nó sẽ không gặp vấn đề gì, vì tôi biết rằng GRUB không có vấn đề gì khi phát hiện Windows khi cài đặt ở chế độ UEFI.

Có vẻ như hệ thống Windows của bạn được cấu hình để khởi động ở chế độ UEFI, có nghĩa là nó chỉ được cài đặt bộ tải khởi động tương thích UEFI.

Tuy nhiên, khi hệ thống ở chế độ BIOS, nó không có cách nào khởi động các chương trình UEFI - bởi vì chúng phụ thuộc vào nhân UEFI có mặt và cung cấp một số dịch vụ nhất định. (Giống như MS-DOS không có cách nào để bắt đầu các chương trình Windows ...)

Xét cho cùng, toàn bộ quan điểm của 'Chế độ kế thừa' là HĐH sẽ chỉ thấy phần sụn như thể đó là một BIOS PC truyền thống; mọi dịch vụ UEFI sẽ vô hình.

.


Cảm ơn! Tôi đã có một nghi ngờ rằng các mã khác nhau đã được sử dụng cho UEFI vs Legacy, nhưng tôi không muốn đưa ra giả định trong bài viết của mình. Điểm mấu chốt trong vấn đề này đối với tôi là GRUB sử dụng UEFI để hỗ trợ quá trình khởi động - Tôi không nhận thức được điều này và cho rằng mã này độc lập với nguồn được sử dụng để khởi động nó và do đó sẽ hoạt động cho dù đó là UEFI hay Khởi động di sản. Ngoài ra, để biết thêm thông tin về vấn đề GRUB, tôi tin rằng nó nói "hệ thống tệp không xác định" và mọi nỗ lực sửa chữa nó bằng các phương pháp được mô tả trực tuyến đều thất bại tại "insmod normal", trong đó nó sẽ lặp lại thông báo.
VortixDev

2

Bạn đã viết:

Tôi đã tải xuống ISO và đặt nó vào thanh USB Easy2Boot của mình. Để khởi động máy tính xách tay của tôi từ thanh Easy2Boot, tôi cần phải đi đến BIOS của mình và:

Vô hiệu hóa PTT   Kích hoạt ROM tùy chọn kế thừa   Chuyển sang chế độ Di sản   Điều này là do thực tế là Easy2Boot không hỗ trợ UEFI, và vì vậy cây gậy sẽ không xuất hiện trừ khi tôi làm điều này.

Easy2Boot có thể không hỗ trợ UEFI, nhưng Rufus làm. Nếu bạn sử dụng Rufus để tạo một thanh USB có thể khởi động, bạn có thể đặt nó để hỗ trợ UEFI và nó sẽ hoạt động.

Lưu ý rằng bạn thực sự cần phải chọn các cài đặt chính xác để làm việc này. Bạn cần đặt sơ đồ phân vùng thành GPT, sau đó chọn UEFI (Non CSM) làm hệ thống đích. Lưu ý rằng phiên bản mới nhất của Rufus tự động thực hiện hầu hết các cài đặt này bởi vì trước đây, nó khiến mọi người nhầm lẫn về lý do tại sao nó không hoạt động.

Đây là những gì tôi sử dụng để tạo các trình cài đặt Windows 10 tùy chỉnh có hỗ trợ cho UEFI.

Vì câu trả lời khác giải thích tại sao nó không hoạt động, nhưng không thực sự đi sâu vào chi tiết như cách giải quyết vấn đề một cách chính xác, tôi quyết định đăng câu trả lời này, bởi vì mặc dù câu trả lời khác là đúng về mặt kỹ thuật, tôi nghĩ rằng điều này sẽ trả lời câu hỏi thực tế của bạn tốt hơn: cách tốt nhất để cài đặt Linux trên máy tính của tôi là gì.

Xin hãy hiểu, đây không phải là một bài viết để quảng bá Rufus. Có những công cụ khác cũng hoạt động, tôi tình cờ có kinh nghiệm với Rufus, vì vậy tôi có thể đảm bảo rằng nó sẽ hoạt động. Nếu bạn thấy một chương trình khác thuận lợi hơn cũng hỗ trợ UEFI, vui lòng sử dụng chương trình đó.

Điều đó nói rằng, tôi thấy từ trang web từ Easy2Boot rằng họ nên hỗ trợ chế độ UEFI bằng cách thực hiện một số chuyển đổi và công cụ. Rufus vẫn dễ dàng hơn nhiều theo quan điểm của tôi, nhưng Easy2Boot, phần mềm mà bạn đã có, cũng nên có thể.


1
Tôi đề nghị thêm tùy chọn chính xác cần được chọn trong Rufus - GPT / UEFI - trước khi ghi ISO. Điều này là do tôi nghĩ mặc định là cái khác, "MBR cho BIOS và UEFI", bản thân nó đã gây hiểu lầm và tôi đã thấy nhiều người dùng chỉ ghi mà không thay đổi và kết quả là USB chỉ hoạt động cho BIOS / Legacy. Phương pháp "DD" cũng hoạt động và tạo bản sao ISO 1: 1 đã chứa bộ tải khởi động cho cả hai tình huống, thay vì Rufus đưa ra lựa chọn bộ tải khởi động riêng.
GabrielaGarcia

@GabrielaGarcia Điểm tốt. Tôi sẽ thực hiện chỉnh sửa cho điều đó. :)
LPChip
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.