Рейтинг:1

Установщик ubiquity не может установить grub по правильному пути

флаг us

Я что-то упустил или почему grub не всегда можно установить туда, куда он направлен, с ручным разделением + preseed?

Я использую файл preseed для рабочего стола xubuntu 20.04.2, в котором нет директив разделения. когда загружается «автоматическая вездесущность», после ручного разделения sda выбор /dev/sda1 игнорируется, а grub устанавливается в /dev/sda.

добавлен d-i grub-installer/only_debian логическое значение false и/или d-i grub-installer/with_other_os логическое значение false для предварительной загрузки. после ручного разделения sda выбор /dev/sda1 игнорируется, а grub устанавливается в /dev/sda.

Я взломал способ динамической установки d-i grub-installer/bootdev строка по умолчанию но для этого требуется загрузиться в живую среду, разбить диск на разделы и сначала установить активный раздел, а затем запустить «вездесущность — автоматический» или перезагрузку с «автоматической вездесущностью».

d-i grub-installer/only_debian логическое значение false
d-i grub-installer/with_other_os логическое значение false
d-i grub-installer/bootdev строка по умолчанию
d-i partman/early_command строка \
 BOOTFLAG=$(lsblk -rpo PARTFLAGS,PKNAME,PATH | grep "0x80" | cut -f 3 -d ' '); \
 если [$BOOTFLAG]; затем debconf-set grub-installer/bootdev $BOOTFLAG; фи;

при тестировании это работает с виртуальной машиной с одним диском, но может не работать должным образом на оборудовании с несколькими дисками или при установке с USB.

d-i grub-installer/пропустить логическое значение true кажется, всегда игнорируется. снова я взломал способ заставить это работать, я установил строка d-i grub-installer/bootdev оставив его пустым. Однако ручная установка grub в ubiquity/success_command не работает. проверяя первые несколько секторов /dev/sda1, все равны 00. Другая команда завершается успешно.

d-i grub-installer/only_debian логическое значение false
d-i grub-installer/with_other_os логическое значение false
строка d-i grub-installer/bootdev 
вездесущность вездесущность/success_command строка \
 in-target grub-install -force /dev/sda1; \
 echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> /target/etc/fstab;
guiverc avatar
флаг cn
MBR Grub идет на устройство (sda), а не на раздел (sda1). Первые 512 байт диска (за пределами пространства раздела) были зарезервированы для MBR с ~ 1981 года, и машины не будут загружаться, если они находятся в разделе (с использованием устаревшего стандарта / стандарта BIOS)
dickfitzwell avatar
флаг us
хорошо. Я должен был более четко указать, что причина, по которой я хочу установить в раздел, заключается в том, что я использую альтернативный загрузчик. также, хотя это и не рекомендуется, grub МОЖЕТ быть установлен в раздел и загружен по цепочке из указанного альтернативного загрузчика.
oldfred avatar
флаг cn
Если вы используете другой загрузчик, вам может даже не понадобиться устанавливать grub. `sudo вездесущность -b` http://askubuntu.com/questions/838450/how-can-ubiquity-be-forced-not-to-install-grub/838527#838527
Рейтинг:0
флаг us

в итоге я бросил partman/early_command метод. в настоящее время я установил установщик grub/bootdev опустошить и использовать вездесущность/success_command принудительно установить grub на /цель раздел и пометить его как активный.

как-то некрасиво, но работает. проверено только для таблицы разделов sata/nvme/mbr и отдельных загрузочных/домашних/корневых разделов с ext2/3/4.

d-i grub-installer/only_debian логическое значение false
d-i grub-installer/with_other_os логическое значение false
строка d-i grub-installer/bootdev 
вездесущность вездесущность/success_command строка \
 echo 'tmpfs /tmp tmpfs nosuid,nodev 0 0' >> /target/etc/fstab ;\
 worker() { grub-install --force --root-directory=/target $2 &&\
 parted -s $3 -- включить загрузку ${4##*-}; } ;\
 рабочий $(lsblk -lpo MOUNTPOINT,KNAME,PKNAME,PARTUUID | grep '/target');

в конечном итоге я думаю, что вездесущность необходимо обновить, чтобы отразить выбор в графическом интерфейсе.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.