Czytałem gdzieś, że nie zaleca się umieszczania partycji rozruchowej na partycji opartej na lvm. Ale i tak to robię. Wtedy jedynym problemem, z którym się zetknąłem jest to, że kiedy instaluję nową dystrybucję Linuksa i umieszczam partycję rozruchową na lvm, grub nie może jej wykryć. grub-mkconfig
Komenda zazwyczaj pomylisz się na generowaniu grub.cfg
pliku. Ale jeśli jest to jedyny problem na partycji rozruchowej opartej na lvm, myślę, że jest w porządku. Ponieważ wiem, jak to naprawić, po prostu podaj właściwy adres docelowej partycji rozruchowej, a następnie wszystko pójdzie dobrze.
Czy jest coś innego niż to, że lvm może powodować problemy? Ponieważ moim zdaniem lvm jest bardzo elastyczny i nie spowolnił systemu.
Dla mnie, jeśli, jak mówisz, grub nie może wykryć
/boot
systemu plików LVM igrub-mkconfig
zwykle popełnia błąd przy generowaniugrub.cfg
, wydaje się to wystarczającym powodem, aby uniknąć tej konfiguracji i przejść na coś, co grub lepiej obsługuje. Kiedy mówisz „po prostu podaj właściwy adres planowanej partycji rozruchowej”, nie wiem, co masz na myśli przez „adres” ani co dokładnie robisz jako obejście, ale szczerze mówiąc, to brzmi jak przerażający i delikatny hack.Jako podstawowa i praktycznie niezbędna funkcja bootloader może uzyskać dostęp do prostego systemu plików na prostej partycji dysku i stamtąd załadować następny etap. To wszystko, co naprawdę musi zrobić. Więcej funkcji w bootloaderze, takich jak parsowanie kontenerów takich jak LVM i żonglowanie wieloma dyskami w środowisku przed uruchomieniem, oznacza po prostu więcej funkcji Linuksa (jądra), które muszą zostać zduplikowane w grub (więcej kodu, więcej błędów), ale nigdy nie do końca dokładnie działają w ten sam sposób w obu środowiskach (więcej zamieszania) i bardziej ogólna złożoność. W przypadku ładowania początkowego, im prościej, tym lepiej.
źródło
grub-mkconfig
popełniłem błąd, podając ścieżkę rootowania,/dev/dm-0
ponieważ nie jest trwała. Więc zmieniłem go na właściwą ścieżkę, która jest/dev/mapper/lvm-kali--boot
w grzybach.root=<path>
) i nie ma nic wspólnego z tym, gdzie/boot
się znajduje.grub-mkconfig
zdecydowanie nie powinienem się mylić. Powinien odpowiadać wynikowigrub-probe --target=device /
./dev/mapper/lvm-kali--root
nieboot
. Typo/dev/mapper/lvm-kali--root
na początek!Używam katalogu „/ boot” w systemie plików „/” LVM od lat na Fedorze i nigdy nie miałem problemów.
Musisz tylko zadbać o to, aby ten pojedynczy dysk fizyczny, na którym „/” mieszka, był jednym w grupie woluminów. Mam grupę woluminów „vgmain” dla tego dysku fizycznego i „vgdata” dla całej reszty. Jest to ważne, jeśli musisz przenieść dysk na inny komputer w sytuacji rozwiązywania problemów. LVM nie będzie działać, jeśli składa się z wielu dysków fizycznych. Ale tak będzie, jeśli składa się tylko z jednego.
Ale nigdy nie musiałem przechodzić przez tę sytuację rozwiązywania problemów.
Najnowsze instalacje Fedory nie pozwalają na to automatycznie. Podczas instalacji będziesz musiał umieścić „/ boot” na zwykłej partycji, a następnie uruchomić normalnie, a następnie ręcznie przenieść zawartość do systemu plików „/” LVM. Upewnij się, że reorganizowałeś rzeczy tak, aby wyglądały jak „/ boot” jako zwykły katalog w LVM „/” i „/ boot2” jako stara partycja rozruchowa, a następnie wykonaj „grub install / dev / sda” lub coś podobnego. Uruchom ponownie, a następnie usuń system plików „/ boot2” i dołącz partycję z powrotem do LVM, aby była użyteczna.
źródło