LINUX.ORG.RU

Можно ли поставить загрузчик, если единственный винт отформотирован в LVM?

 ,


0

1

Сабж. Ставил дебиан, по дури сделал /dev/sda через pvcreate, и на нём разделы. Система поставилась, но пришлось ставить загрузчик на флешку.

Можно как-то поставить загрузчик или придется переносить данные и делать таблицу разделов?

Помнится что в mdadm подобная проблема решается, и загрузчик ставится без проблем даже на всех винтах, отформатированных в raid6 без таблицы разделов. Можно ли так на LVM?

★★★★★

Можно. Как раз недавно Ubuntu так ставил. Четыре HDD, все под завязку — PV. Т.е. под /boot никакого отдельного раздела нет (тебе же такой вариант нужен?). Всё установилось штатно, вручную ничего не ковырял, кроме выбора LV для установки корня.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Вот дебиановский инсталлер так не хочет. Т.е. просто поставить grub-install на /dev/sda? или куда?

xorik ★★★★★
() автор топика
Ответ на: комментарий от xorik

Т.е. просто поставить grub-install на /dev/sda? или куда?

Видимо, да. Хотя что там под капотом делает инсталлер Ubuntu я не видел. А в Gentoo на прошлых машинах у меня всегда был раздел под /boot, ещё до перехода на LVM по десятилетней давности мануалам :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Я подозреваю что LVM устройство создано не на /dev/sdX, а на /dev/sdX1. Можно посмотреть вывод pvdisplay?

xorik ★★★★★
() автор топика
Ответ на: комментарий от xorik

Можно посмотреть вывод pvdisplay?

$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdd3
  VG Name               bbvg0
  PV Size               546,03 GiB / not usable 712,00 KiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              139784
  Free PE               2832
  Allocated PE          136952
  PV UUID               M9P4dH-9Qfj-l3GW-IYr8-E4FG-WM8s-k00C5h

  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               bbvg0
  PV Size               931,51 GiB / not usable 3,00 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              238466
  Free PE               63354
  Allocated PE          175112
  PV UUID               30jlub-5EN9-dyZQ-U2HD-Javk-726b-hEuzvy

  --- Physical volume ---
  PV Name               /dev/sdc2
  VG Name               babakvg
  PV Size               1,36 TiB / not usable 2,20 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              357632
  Free PE               5632
  Allocated PE          352000
  PV UUID               Ud85qq-0HxN-5OxP-lsS1-hLus-u3wh-cTzBTt

  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               babakvg
  PV Size               1,36 TiB / not usable 2,20 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              357632
  Free PE               174591
  Allocated PE          183041
  PV UUID               wLRbRz-ggSH-f18U-t2mN-ihEM-IgsH-E0oTv1

Там сейчас каша — я перепахивал на лету три конфигурации в одну, так что сейчас такие химеры живут :) —

$ sudo fdisk -l /dev/sd?

Диск /dev/sda: 1500.3 Гб, 1500301910016 байт
255 головок, 63 секторов/треков, 182401 цилиндров, всего 2930277168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x60c3468b

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda2   *      546210  2930272064  1464862927+  8e  Linux LVM

Диск /dev/sdb: 1000.2 Гб, 1000204886016 байт
255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x70000963

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb3            2048  1953523711   976760832   8e  Linux LVM

Диск /dev/sdc: 1500.3 Гб, 1500301910016 байт
255 головок, 63 секторов/треков, 182401 цилиндров, всего 2930277168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x228dad98

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc2          546210  2930272064  1464862927+  8e  Linux LVM

Диск /dev/sdd: 640.1 Гб, 640135028736 байт
255 головок, 63 секторов/треков, 77825 цилиндров, всего 1250263728 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x0006693b

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd3       105145425  1250258624   572556600   8e  Linux LVM
KRoN73 ★★★★★
()

Для метаданных нужен отступ вначале диска.

uspen ★★★★★
()
Ответ на: комментарий от uspen

Дело то в этом

Так начало сильно зависит от программы, которой разбиваешь :) И в наше время не бывает нулевым.

KRoN73 ★★★★★
()

Ну в общем видимо загрузчик не безопасно ставить, чтобы не затереть структуру lvm, поэтому проще переформатировать...

xorik ★★★★★
() автор топика

Метаданные PV у LVM2 начинаются с 5-го сектора, а GRUB2 рассчитывает на 62 свободных. Нет, поставить загрузчик нельзя.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Метаданные PV у LVM2 начинаются с 5-го сектора, а GRUB2 рассчитывает на 62 свободных. Нет, поставить загрузчик нельзя.

Спасибо

xorik ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

GRUB2 рассчитывает на 62 свободных

Второй можно лишь в редких случаях и с костылями упихнуть в 62 сектора при таблице DOS. Стандартный оффсет нынче — 2048 секторов.

Gotf ★★★
()
Ответ на: комментарий от Xenius

даже если представить что lilo прокатит — какой в этом смысл?

представь что будет дальше — следующие 2 года (или сколько там месяцев до следующей переустновки) — ты будешь постоянно переписывать загрузчик при обновлении ядра?

прощё всё занова уж переделать (ну потратишь лишние часа 4 на переделывание, подумаешь?), зато поставишь теперь уже какой-нибудь нормальный загрузчик

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

ты будешь постоянно переписывать загрузчик при обновлении ядра?

И что в этом сложного? Между прочим, конфиг grub2 обновляется гораздо дольше чем срабатывает lilo.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Между прочим, конфиг grub2 обновляется гораздо дольше чем срабатывает lilo.

но конфиг grub (grub2) можно даже никогда не обновлять.. :)

а обновлять lilo — придётся (или останешься без загрузки).

так как grub делает копию своих модулей — то даже в случае будущих API-несовместимостей (в следующих его версиях) — опасности остаться без загрузки всё равно нет.

# P.S.: я тебя разумеется отговариваю от lilo .. но всё равно было бы замечательно, если ты lilo поставишь и расскажешь нам как оно получилось или нет :)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

было бы замечательно, если ты lilo поставишь и расскажешь нам как оно получилось или нет :)

Кстати дебиановский инсталлер вроде как умеет лило генерировать, если с грабом проблемы. Но я как-то забыл попробовать и поставил загрузчик на флешку

xorik ★★★★★
() автор топика
Ответ на: комментарий от Xenius

Насколько я помню дамп суперблока LVM, если там вдруг что-то и есть свободное в начале, то оно не выглядит как гарантированно свободное. И по сути таковым не является. Сегодня LILO есть, завтра его не станет.

Вот суперблок MD 1.2 предоставляет 4 килобайта под загрузчик, и это, фактически, может быть только GRUB2 :)

Gotf ★★★
()
Ответ на: комментарий от xorik

Кстати дебиановский инсталлер вроде как умеет лило генерировать, если с грабом проблемы. Но я как-то забыл попробовать и поставил загрузчик на флешку

Попробуй сделать hexdump -C /dev/lvm_device | head , тогда если у тебя в первых секторах нули, будет видно, где начинаются не нули.

Я бы попробовал сделать дамп начала устройства на всякий случай и попробовать lilo поставить. Если уж даже lilo не сработает, тогда уже и переустанавливать. Естественно, иметь данные без бакапа не желательно.

Для установки lilo загружаешься с флешки, ставишь пакет lilo, делаешь конфиг /etc/lilo.conf и просто ставишь его командой lilo (и да, после каждого изменения конфига переустанавливаешь). Сгенерить конфиг можно утилитой liloconfig.

Xenius ★★★★★
()

а я бы загружчик оставил на флешке. Всеравно с них профита мало.

CHIPOK ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.