„Ostrzeżenie: system plików` ext2 'nie obsługuje osadzania. ”Ale mój system też nie jest osadzony, dlaczego grub próbuje?

34

Czytam się w związku z wydaniem Jessie na Debianie, więc jestem bardzo ostrożny (należy powiedzieć, że jest paranoikiem) na temat każdej wiadomości, która może powodować problemy, a mianowicie ostrzeżeń. Mój system to pulpit z zainstalowanym testowaniem / niestabilnym Debianem, na partycjach ext4 dla obu, /boota /mimo to widzę ten komunikat podczas aktualizacji grub-pcpakietu w Debianie:

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 ...

Dlaczego grub mówi, że mój system jest osadzony? Co jest tego przyczyną? Próbowałem sprawdzić plik binarny grub-install, ale nie mogłem tego zrozumieć.

Braiam
źródło
1
Nie chodzi tu również o wbudowanie systemu. embedto polecenie Grub: „Osadź scenę 1.5 STAGE1_5 w sektorach po MBR, jeśli [...]”. Nie rozumiem jednak, z czym powinien być problem ext2.
Hauke ​​Laging
2
Najwyraźniej grub wywołuje ext3 i ext4; ext2, więc ostrzeżenie jest w porządku, patrz tutaj . Wygląda na to, że ostrzeżenie osadzania vs list blokujących dotyczy miejsca, w którym instalowany jest grub, MBR a sektor rozruchowy partycji.
Mehmet

Odpowiedzi:

31

Otrzymujesz ostrzeżenie, ponieważ instalujesz grub na partycji zamiast MBR. Oznacza to, że grub nie może zostać osadzony w nieużywanym miejscu między MBR a pierwszą partycją. Zamiast tego musi mieć listę bloków /boot/grub/core.imgznajdujących się w MBR. Ta konfiguracja może zostać zepsuta przez takie elementy, jak defragmentacja, dlatego nie jest zalecana, stąd ostrzeżenie. Ponieważ jest to tylko ostrzeżenie, możesz je zignorować.

psusi
źródło
Więc ... Musiałem tylko odznaczyć partycję w konfiguracji pakietu.
Braiam
64

Większość osób przychodzących do tego z wyszukiwarki prawdopodobnie zastanawia się: „Dlaczego dostaję ten błąd?”:

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.

Ponieważ zrobiłeś, np .:

grub-install /dev/sda1

zamiast

grub-install /dev/sda

Ie próbował zainstalować na partycji zamiast MBR.

Nathan Kidd
źródło
1
Wiem, że ponownie zainstalowałem grub i zrobiłem to z grub-install / dev / sda. Nadal dostaję ostrzeżenie.
Johan Herstad
Masz ostrzeżenie i kontynuował? Czy błąd? Chodzi przede wszystkim o przezwyciężenie tego błędu.
Nathan Kidd
Uruchomiłem apt dist-upgradeDebiana i to idiotycznie poprosiło mnie o ponowne wybranie, gdzie powinien iść GRUB (jakbym wiedział!). Rzeczywiście wybrałem / dev / sda1 (moja partycja / boot). Teraz się nie uruchamia. Jeśli uruchomię dystrybucję na żywo i uruchomię grub-install, daje to skargę dotyczącą osadzania i odmawia kontynuowania. Naprawialny?
Boann
@ Boann, zdarzyło mi się pracować z podobnym problemem tutaj askubuntu.com/a/531051/149881 Może to ci pomoże.
Nathan Kidd
5

Cytuję ze infostron Grub2 :

MBR
====

Format tabeli partycji tradycyjnie używany na platformach PC BIOS
nazywa się formatem Master Boot Record (MBR); jest to format, który
pozwala na maksymalnie cztery partycje podstawowe i dodatkowe partycje logiczne.
W tym formacie tablicy partycji istnieją dwa sposoby instalacji GRUB-a:
można go osadzić w obszarze między MBR a pierwszą partycją
(nazywaną różnymi nazwami, np. „Ścieżką rozruchową”, „luką MBR” lub
„osadzaniem” obszar ”, który zwykle wynosi co najmniej 31 KiB), lub
obraz rdzenia można zainstalować w systemie plików, a listę bloków
tworzących go można zapisać w pierwszym sektorze tej partycji.

Każdy z nich ma inne problemy. Nie ma możliwości zarezerwowania
miejsca w obszarze osadzania z pełnym bezpieczeństwem, a niektóre zastrzeżone
oprogramowanie jest znane z tego, że utrudnia użytkownikom
obejście ograniczeń licencyjnych; a systemy są czasami dzielone na partycje
bez pozostawienia wystarczającej ilości miejsca przed pierwszą partycją. Z drugiej
strony, instalacja w systemie plików oznacza, że ​​GRUB jest podatny na
przenoszenie jego bloków przez funkcje systemu plików, takie jak pakowanie ogonów,
a nawet agresywne implementacje fsck, więc to podejście musi polegać na zgadywaniu numerów dysków BIOS.
kruche; i tego podejścia można użyć tylko wtedy, gdy system plików `/ boot '
znajduje się na tym samym dysku, z którego uruchamia się BIOS, więc GRUB nie

Zespół programistów GRUB ogólnie zaleca osadzenie GRUB-a przed
pierwszą partycją, chyba że masz specjalne wymagania. Musisz
upewnić się, że pierwsza partycja rozpocznie co najmniej 31 KiB (63 sektory)
od początku dysku; na nowoczesnych dyskach i tak często
zaletą jest wyrównanie partycji na większych granicach, więc pierwsza
partycja może uruchomić 1 MiB od początku dysku.

Oznacza to dla mnie, że ext2 nie jest w żaden sposób związany z osadzaniem, ponieważ jest to albo osadzanie, albo zaangażowany system plików.

Powstaje pytanie, co zrobiłeś, aby wyświetlić ten komunikat o błędzie (a raczej: ostrzeżenie). Zakładam, że może się tak zdarzyć, jeśli Grub2 zostanie poproszony o zainstalowanie się na partycji zamiast na samym dysku (MBR lub partycja rozszerzona).

Hauke ​​Laging
źródło
Nie wspomniałem, że moje zainteresowanie dotyczy Ext2, wiem, że GRUB daje bzdury na temat ext2 / 3/4. Moje zainteresowania to: 1) dlaczego pojawia się ostrzeżenie i 2) powinienem się martwić
Braiam