无需使用 USB 或 CD 或任何类型的外部存储设备即可交换 Linux 发行版

无需使用 USB 或 CD 或任何类型的外部存储设备即可交换 Linux 发行版

在不使用 USB 或 CD 或任何类型的外部存储设备的情况下将我的系统切换ubuntu到Linuxgaruda

我听说可以通过更改文件的内容来实现sources.list

但我认为只有当我从 [ 交换时才有可能德比安基于发行版]到[另一个德比安基于发行版]

但这里是[德比安基于发行版] 到 [基于发行版]

soo,这可能吗?

或者,还有其他方法来交换分配吗?

答案1

我听说可以通过更改sources.list文件的内容来实现,

但你被骗了。即使 Garuda 是基于 Ubuntu 的,或者至少是 Debian,这也不是一个好主意。但Garuda是基于arch工具的,所以完全不兼容。

或者,还有其他方法来交换分配吗?

当然可以,但到目前为止最简单的方法是从 USB 记忆棒启动。您还可以尝试使用仅使用您的 ubuntu 初始 RAM 磁盘的救援启动模式,从内部安装下载的安装介质并在您的 ubuntu 上安装,而无需在删除除所述下载之外的所有内容后重新分区/格式化您的存储,但不能保证Ubuntu 可以启动的设置适用于 Garuda,我称之为“非常先进的安装方法,需要大量特定于 Arch 的知识”,因为这样你就不能使用 Garuda 的安装程序(顺便说一下,它是可能是人们开始使用 Garuda 而不是 Arch 的大部分原因,所以为什么你想要吗),老实说,我认为你最终有 90% 的机会得到一个无法运行的系统。

另一种选择是减小 ubuntu 分区的大小,在生成的可用空间中创建一个新分区,将其格式化为 ext4,将 garuda 安装介质按位放在那里,告诉 grub 从该分区链式加载引导加载程序,然后通过启动至 Garuda 安装程序。在所述安装程序中,删除/格式化 Ubuntu 分区,安装 Garuda。 Garuda 启动后,立即删除安装程序分区,并将生成的可用存储添加到 Garuda 系统(如果需要)。
就并发症而言风险较小,但建议拥有引导加载程序学学位。

答案2

您可以将 Garuda.iso 放在您的 Ubuntu / ( root ) 分区中。然后将 .iso 添加到您的 Grub2 中。我添加了 2 个 .iso,如下所示(将 grub.cfg 更改为 root ):

### BEGIN /etc/grub.d/40_custom ###

menuentry "Xubuntu" {
insmod ext2
set isofile="/@/xubuntu-20.04.2.0-desktop-amd64.iso"
loopback loop (hd0,7)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash toram
initrd (loop)/casper/initrd
}

menuentry "Peppermint" {
insmod ext2
set isofile="/@/Peppermint-10-20191210-amd64.iso"
loopback loop (hd0,7)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash toram
initrd (loop)/casper/initrd.lz
}
### END /etc/grub.d/40_custom ###



重新启动时您将看到它们,并可以从它们启动。您必须将 .iso 的名称“hd0,7”更改为适当的 hd 和分区(很可能是 hd0,2 )。请注意,我的两个 .iso 都是基于 debian/ubuntu 的。

像 Garuda 这样的 Arch 发行版有完全不同的设置。因此,您需要启动的文件位于不同的位置。要探索它,您可以使用“Ark”打开它。

“vmlinuz-x86_64”位于“boot”中。所以它很可能会变成linux (loop)/boot/vmlinuz boot=boot iso-scan/filename=$isofile,我在 Garuda iso 中找不到“initrd”。尽管在前面提到的位置,但它有“initramfs-x86_64.img”。将行更改initrd (loop)/casper/initrdinitrd (loop)/boot/intel_ucode.img (loop)/boot/amd_ucode.img (loop)/boot/initramfs-x86_64.img. ( 看https://forum.garudalinux.org/t/cannot-boot-isos-using-super-grub-2-iso-and-container-filesystem-does-not-mount-automatically/27996/9)。我不确定它是否会起作用。从来没有尝试过。

相关内容