首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ubiquity安装程序无法安装grub以更正路径

ubiquity安装程序无法安装grub以更正路径
EN

Ask Ubuntu用户
提问于 2021-06-16 23:08:10
回答 1查看 550关注 0票数 1

我是不是遗漏了一些东西,或者为什么grub不能总是安装在手动分区+预置的地方呢?

我为Xubuntu20.04.2桌面使用了一个没有分区指令的预置文件。当启动“自动无处不在”时,在手动分区sda之后,忽略选择/dev/sda 1并将grub安装到/dev/sda中。

在预种中加入d-i grub-installer/only_debian boolean false和/或d-i grub-installer/with_other_os boolean false。手动分区后,sda选择/dev/sda 1被忽略,grub被安装到/dev/sda中。

我入侵了一种动态设置d-i grub-installer/bootdev string default的方法,但这需要引导到活动环境中,首先对磁盘进行分区并设置活动分区,然后开始“泛-自动”或用“自动-泛”重新启动。

代码语言:javascript
运行
复制
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;

测试此功能可以在vm中使用单个磁盘,但在具有多个磁盘的硬件或从usb安装的硬件上可能无法正常工作。

d-i grub-installer/skip boolean true似乎总是被忽视。再一次,我黑出了一种方法来实现这个功能,我把d-i grub-installer/bootdev string设置为空的。但是,在ubiquity/success_命令中手动安装grub不起作用。检查/dev/sda1 1的前几个扇区,都是00。另一个命令圆满完成。

代码语言:javascript
运行
复制
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;
EN

回答 1

Ask Ubuntu用户

发布于 2021-06-17 09:02:07

最后,我放弃了partman/early_command方法。目前,我将grub-installer/bootdev设置为空,使用ubiquity/success_command强制将grub安装到/target分区并将其标记为活动。

有点丑,但很管用。测试sata/nvme/mbr分区表和单独的引导/家庭/根分区与ext2 2/3/4。

代码语言:javascript
运行
复制
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 ');

最终,我认为普遍存在需要更新,以反映在gui的选择。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1346353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档