Answers:
你可以,但这不是一个好主意。
在GRUB中,您要做的是指定不同的内核和 initrd
系统上安装的每个分发的文件。
但是,一个发行版的引导配置可能与其他发行版的配置冲突,具体取决于每个发行版如何设置其引导配置并在其中命名其文件 /boot
。这可能会导致混乱的配置,并可能使一个或多个发行版无法启动。在更新内核或更改任何发行版中的引导设置时,应特别小心。但是,如果没有冲突,您应该能够毫无问题地启动两个操作系统。
apt-get autoremove
可能是破坏性的。有可能错过上面那个命令(没有明确与内核相关),你可以删除当前发行版不再需要的包,包括内核可能需要在另一个...我相信在不同的时候听它多次比以后更好的方式;-)将其视为对你的陈述的支持 “你可以,但这不是一个好主意。”
我意识到这对派对来说有点晚了,但我只是接下来要保留三个并发安装和一个 /boot
划分:
我已经使用arch多年了,但是对ubuntu很不熟悉,并且不确定如何阻止它安装bootloader所以我就让它。对于拱门,我一直在使用 syslinux
不是 grub
所以我对它更加熟悉。虽然这是 有些 在我的实验的早期,这是我的程序:
vmlinuz
和 ininrd.img
,它们的名称相同(如果它们在不同时间更新,可能除了版本号之外)。据我所知,它们是兼容的,但我选择不对待它们。 syslinux
像往常一样,为每个发行版创建条目(如下所示) 如果ubuntu更新内核,我会得到两个关键文件:
/boot/initrd.img-x.x.x-xx-generic
/boot/vmlinuz-x.x.x-xx-generic
对于上述每一个,我只是追加 _distro
到最后,以及替换一个静态命名的变体,以防止改变我的 syslinux.cfg
每次更新(更多如下所示)。该过程看起来像这样,使用14.04 / Trusty作为示例,仅显示感兴趣的文件。
$ cd /boot
$ sudo mv ./initrd.img-4.4.0-62-generic ./initrd.img-4.4.0-62-generic_trusty
$ sudo cp ./initrd.img-4.4.0-62-generic_trusty ./initrd-trusty.img
$ sudo mv ./vmlinuz-4.4.0-62-generic ./vmlinuz-4.4.0-62-generic_trusty
$ sudo cp ./vmlinuz-4.4.0-62-generic_trusty vmlinuz-trusty
由于arch的命名约定从不冲突,这意味着我最终得到2个备份/准确命名 initrd
和 vmlinuz
文件以及两个我可以用来防止改变我的文件 syslinux.cfg
每时每刻。关键文件是这样的(添加了注释):
$ ls /boot/
initramfs-linux.img ## arch main initramfs
initramfs-linux-fallback.img ## arch fallback initramfs
initrd.img-4.4.0-62-generic_trusty ## named recent 14.04 initrd
initrd.img-4.4.0-62-generic_xenial ## same for xenial (16.04)
initrd-trusty.img ## statically named initrd
initrd-xenial.img
vmlinuz-4.4.0-62-generic_trusty ## named vmlinuz
vmlinuz-4.4.0-62-generic_xenial
vmlinuz-linux ## arch's vmlinuz
vmlinuz-trusty ## statically named vmlinuz
vmlinuz-xenial
对于启动,这是我的 syslinux
项:
LABEL arch
MENU LABEL arch
LINUX ../vmlinuz-linux
APPEND luks-options-here rootflags=compress=lzo,discard,ssd,subvol=arch rw
INITRD ../intel-ucode.img,../initramfs-linux.img
LABEL xenial
MENU LABEL xenial
LINUX ../vmlinuz-xenial
APPEND luks-options-here ro rootflags=compress=lzo,discard,ssd,subvol=xenial quiet splash $vt_handoff
INITRD ../initrd-xenial.img
LABEL trusty
MENU LABEL trusty
LINUX ../vmlinuz-trusty
APPEND luks-options-here ro rootflags=compress=lzo,discard,ssd,subvol=trusty quiet $vt_handoff
INITRD ../initrd-trusty.img
到目前为止我离开了 grub
在ubuntus上,它在每次更新时都会抱怨,但没有任何错误。我的备份计划是复制 mbr.bin
至 /boot/
(通常它居住在 /usr/lib/syslinux...
在拱上)所以,如果 grub
我决定至少覆盖我的引导加载程序 dd
该 syslinux
bootloader回来了。我95%+确信我的arch安装永远不会被塞住(至少要开机),所以如果我复制/命名错误,我几乎总能启动并修复ubuntus。可能我会保留每个版本的前版本 initrd/vmlinuz
周围,以便我可以改变在启动时加载哪一个,以防出现问题 initramfs
处理。
希望相对清楚的是发生了什么。我可以使用链接,某种更新后的脚本等来自动化,但还没有到达那里。
接受的答案显示事情可能出错,但是因为我搜索其他人这样做的例子,并且只找到这样的答案(基本上,“可能,但不要”)我想我会添加一个有形的例子怎么一个 可以 设置这样的东西。
就个人而言,我对此感到非常兴奋。我有一个启动分区,正如你可能已经注意到的那样,在一个启动分区上有三个并排的发行版 btrfs
划分。不需要预先分配大小,不用担心不喜欢一个设置并将其吹走(留下一个未使用的分区浮动)并且当我已经不需要一堆逻辑卷来启动linux分区 有 一个引导程序!
希望这有助于某人。
您可以在不同的分区上拥有其他系统目录。
尽我所能回答你的问题。您可以共享/启动,但不建议这样做。就个人而言,我认为最终不值得头疼。
apt-get dist-upgrade
和apt-get autoremove
)并删除一个发行版可以认为不再需要的文件。