Cảnh báo trên mạng: Hệ thống tệp `ext2 'không hỗ trợ nhúng. Nhưng hệ thống của tôi cũng không được nhúng, tại sao grub lại cố gắng?


34

Tôi đang đọc bản phát hành của Jessie trên Debian, vì vậy tôi rất thận trọng (nên nói là hoang tưởng) về bất kỳ tin nhắn nào có thể gây ra sự cố, cụ thể là cảnh báo. Hệ thống của tôi là máy tính để bàn có kiểm tra Debian / cài đặt không ổn định, trên các phân vùng ext4 cho cả hai /boot/, tuy nhiên tôi đang thấy thông báo này trong khi nâng cấp grub-pcgói trong Debian:

Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
Generating grub configuration file ...

Tại sao grub nói rằng hệ thống của tôi được nhúng? Nguyên nhân của điều này là gì? Tôi đã cố kiểm tra nhị phân cài đặt grub, nhưng tôi không thể hiểu ý nghĩa của nó.


1
Đây cũng không phải là về hệ thống của bạn được nhúng. embedlà một lệnh Grub: "Nhúng Giai đoạn 1.5 STAGE1_5 trong các cung sau MBR nếu [...]". Tôi không hiểu những gì được cho là vấn đề với ext2, mặc dù.
Hauke ​​Laging

2
Rõ ràng grub gọi ext3 và ext4; ext2, vì vậy cảnh báo là tốt, xem ở đây . Có vẻ như cảnh báo nhúng và danh sách chặn là về nơi grub đang được cài đặt, MBR so với phân vùng khởi động phân vùng.
Mehmet

Câu trả lời:


31

Bạn đang nhận được cảnh báo vì bạn đang cài đặt grub vào phân vùng thay vì MBR. Điều này có nghĩa là không thể nhúng grub vào không gian chưa sử dụng giữa MBR và phân vùng đầu tiên. Thay vào đó, nó phải có danh sách các khối /boot/grub/core.imgnằm trong MBR. Thiết lập này có thể bị phá vỡ bởi những thứ như phân mảnh và do đó không được khuyến khích, do đó cảnh báo. Vì nó chỉ là một cảnh báo, bạn có thể bỏ qua nó.


Vì vậy, ... tôi phải bỏ chọn phân vùng trên cấu hình gói.
Braiam

64

Hầu hết mọi người đến với điều này từ một công cụ tìm kiếm có lẽ đang tự hỏi, "tại sao tôi lại gặp phải lỗi này?":

warning: File system `ext2' doesn't support embedding. 
warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their  use is discouraged.. 
error: will not proceed with blocklists.

Bởi vì bạn đã làm, ví dụ:

grub-install /dev/sda1

thay vì

grub-install /dev/sda

Tức là đã cố gắng cài đặt vào một phân vùng thay vì MBR.


1
Tôi biết tôi đã cài đặt lại grub và tôi đã làm điều đó với grub-install / dev / sda. Tôi vẫn nhận được cảnh báo.
Johan Herstad

Bạn có một cảnh báo, và nó tiếp tục? Hay một lỗi? Điều này chủ yếu là về khắc phục lỗi đó.
Nathan Kidd

Tôi đã chạy apt dist-upgradetrên Debian và nó yêu cầu tôi chọn lại GRUB nên đi đâu (như thể tôi biết!). Tôi thực sự đã chọn / dev / sda1 (phân vùng / boot của tôi). Bây giờ nó không khởi động. Nếu tôi khởi động một bản phân phối trực tiếp và chạy cài đặt grub, nó sẽ đưa ra khiếu nại và từ chối tiếp tục. Có thể sửa chữa?
Boann

@Boann, tôi tình cờ làm việc với một vấn đề tương tự ở đây, hãy hỏi Ubuntu.com / a / 531051/49881 Có lẽ nó sẽ giúp bạn.
Nathan Kidd

5

Tôi trích dẫn từ infocác trang của Grub2 :

MBR
====

Định dạng bảng phân vùng thường được sử dụng trên nền tảng PC BIOS được
gọi là định dạng Bản ghi khởi động chính (MBR); đây là định dạng
cho phép tối đa bốn phân vùng chính và các phân vùng logic bổ sung.
Với định dạng bảng phân vùng này, có hai cách để cài đặt GRUB:
nó có thể được nhúng vào khu vực giữa MBR và phân vùng đầu tiên
(được gọi bằng nhiều tên khác nhau, chẳng hạn như "rãnh ghi khởi động", "khoảng cách MBR" hoặc
"nhúng khu vực "và thường có ít nhất 31 KiB) hoặc
hình ảnh cốt lõi có thể được cài đặt trong một hệ thống tệp và một danh sách các khối
tạo nên nó có thể được lưu trữ trong khu vực đầu tiên của phân vùng đó.

Mỗi trong số đó có những vấn đề khác nhau. Không có cách nào để dự trữ
không gian trong khu vực nhúng với sự an toàn hoàn toàn, và một số
phần mềm độc quyền được biết là sử dụng nó để gây khó khăn cho người dùng trong việc khắc phục
các hạn chế cấp phép; và các hệ thống đôi khi được phân vùng
mà không để lại đủ không gian trước phân vùng đầu tiên. Mặt khác
, cài đặt vào hệ thống tệp có nghĩa là GRUB dễ bị các
khối của nó di chuyển xung quanh bởi các tính năng của hệ thống tệp như đóng gói đuôi
hoặc thậm chí bởi các triển khai fsck tích cực, vì vậy cách tiếp cận này khá
mong manh; và cách tiếp cận này chỉ có thể được sử dụng nếu hệ thống tệp `/ boot '
nằm trên cùng một đĩa mà BIOS khởi động, do đó GRUB không
phải dựa vào việc đoán số ổ đĩa BIOS.

Nhóm phát triển GRUB thường khuyên nên nhúng GRUB trước
phân vùng đầu tiên, trừ khi bạn có yêu cầu đặc biệt. Bạn phải
đảm bảo rằng phân vùng đầu tiên bắt đầu ít nhất 31 KiB (63 cung)
từ đầu đĩa; trên các đĩa hiện đại,
dù sao đi nữa, việc căn chỉnh các phân vùng trên các ranh giới lớn hơn thường là một lợi thế, vì vậy
phân vùng đầu tiên có thể khởi động 1 MiB từ đầu đĩa.

Điều đó có nghĩa với tôi rằng ext2 không liên quan đến việc nhúng theo bất kỳ cách nào vì nó nhúng hoặc hệ thống tập tin liên quan.

Câu hỏi đặt ra những gì bạn đã làm để tạo thông báo lỗi này (hay đúng hơn là: cảnh báo). Tôi giả sử điều này có thể xảy ra nếu Grub2 được yêu cầu tự cài đặt vào một phân vùng thay vì vào chính ổ đĩa (MBR hoặc phân vùng mở rộng).


Tôi đã không đề cập rằng mối bận tâm của tôi là về điều ext2, tôi biết GRUB đưa ra những lời tào lao về ext2 / 3/4. Quan tâm của tôi là: 1) tại sao cảnh báo xuất hiện và 2) tôi nên lo lắng
Braiam
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.