
übersehe ich etwas oder warum kann Grub bei manueller Partitionierung + Voreinstellung nicht immer dort installiert werden, wo es hingeleitet wird?
Ich verwende eine voreingestellte Datei für den Xubuntu 20.04.2-Desktop, die keine Partitionierungsanweisungen enthält. Beim Booten von „automatic-ubiquity“ wird nach der manuellen Partitionierung von sda die Auswahl von /dev/sda1 ignoriert und Grub in /dev/sda installiert.
hinzugefügt d-i grub-installer/only_debian boolean false
und/oder d-i grub-installer/with_other_os boolean false
vorab festgelegt. Nach der manuellen Partitionierung von SDA wird die Auswahl von /dev/sda1 ignoriert und Grub wird in /dev/sda installiert.
Ich habe eine Möglichkeit zum dynamischen Festlegen gehackt d-i grub-installer/bootdev string default
, aber dazu muss man in die Live-Umgebung booten, die Festplatte partitionieren und zuerst die aktive Partition festlegen und dann „ubiquity --automatic“ starten oder mit „automatic-ubiquity“ neu booten.
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string default
d-i partman/early_command string \
BOOTFLAG=$(lsblk -rpo PARTFLAGS,PKNAME,PATH | grep "0x80" | cut -f 3 -d ' '); \
if [ $BOOTFLAG ]; then debconf-set grub-installer/bootdev $BOOTFLAG; fi;
Beim Testen funktioniert dies mit einer VM mit einer einzelnen Festplatte, funktioniert aber möglicherweise auf Hardware mit mehreren Festplatten oder bei der Installation von USB nicht wie gewünscht.
d-i grub-installer/skip boolean true
scheint immer ignoriert zu werden. Ich habe wieder einen Weg gefunden, das zum Laufen zu bringen, ich habe d-i grub-installer/bootdev string
es leer gelassen. Die manuelle Installation von Grub in ubiquity/success_command funktioniert jedoch nicht. Beim Überprüfen der ersten paar Sektoren von /dev/sda1 sind alle 00. Der andere Befehl wird erfolgreich abgeschlossen.
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string
ubiquity ubiquity/success_command string \
in-target grub-install -‑force /dev/sda1; \
echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> /target/etc/fstab;
Antwort1
Irgendwann habe ich die partman/early_command
Methode verworfen. Derzeit stelle ich sie grub-installer/bootdev
auf „leer“ und erzwinge die ubiquity/success_command
Zwangsinstallation von Grub auf der /target
Partition und markiere sie als aktiv.
irgendwie hässlich, aber es funktioniert. getestet nur für SATA-/NVME-/MBR-Partitionstabelle und separate Boot-/Home-/Root-Partitionen mit ext2/3/4.
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string
ubiquity ubiquity/success_command string \
echo 'tmpfs /tmp tmpfs nosuid,nodev 0 0' >> /target/etc/fstab ;\
worker() { grub-install --force --root-directory=/target $2 &&\
parted -s $3 -- set ${4##*-} boot on; } ;\
worker $(lsblk -lpo MOUNTPOINT,KNAME,PKNAME,PARTUUID | grep '/target ');
letztendlich denke ich, dass Ubiquity aktualisiert werden muss, um die Auswahlmöglichkeiten in der GUI widerzuspiegeln.