我有一台计算机,在drive 的分区上安装了Linux 发行版/dev/sda
。我还有另一个物理驱动器,/dev/sdb
.
我想将 Linux 安装到第二个物理驱动器 - 以便稍后在同一台计算机或另一台计算机上运行。我知道目标机器的计划硬件配置,并且我有一个新 Linux 发行版的安装程序(比如在第三个驱动器上,/dev/sdc
或者在我可以安装的 ISO 中等)
我可以在不重新启动的情况下执行安装吗?也就是说,除了从安装介质启动的通常方式之外?
如果这个问题太笼统,那么 - 我可以使用 Debian Buster/Devuan Beowulf 这样做吗?
注意:您可以对系统做出任何合理的假设,但请明确说明。
答案1
使用dd
如果您想要相同的 Linux 安装,请复制命令并复制/dev/sda
到。/dev/sdc
答案2
您可以使用某种虚拟化解决方案,例如 virtualbox,并将 /dev/sdb 设置为 VM 驱动器,而不仅仅是创建虚拟 HDD 映像。然后,您可以继续在虚拟机上安装操作系统,如果您仔细对待 GRUB 配置,它将可以正常工作。
答案3
我可以在不重新启动的情况下执行安装吗?也就是说,除了从安装介质启动的通常方式之外?
是的。这基本上就是所有可启动安装程序在幕后所做的事情。而且,基本上,这是许多发行版的唯一方法。事实上,您可能有一个从可启动介质运行的漂亮图形安装程序,这更像是一个值得拥有的插件。
在 debian 下,debootstrap
有一个工具可以实现这一点。
请参阅 Debian 维基页一个完整的例子。这里已经分区好了,根分区挂载为/sid-root;不要忘记分别将 /proc 和 /sys 和 /dev 绑定安装到 /sid-root/proc、/sid-root/sys、/sid-root/dev。
main # export MY_CHROOT=/sid-root
main # cd /
main # mkdir $MY_CHROOT
main # debootstrap --arch i386 sid $MY_CHROOT http://deb.debian.org/debian/
[ ... watch it download the whole system ]
main # echo "proc $MY_CHROOT/proc proc defaults 0 0" >> /etc/fstab
main # mount proc $MY_CHROOT/proc -t proc
main # echo "sysfs $MY_CHROOT/sys sysfs defaults 0 0" >> /etc/fstab
main # mount sysfs $MY_CHROOT/sys -t sysfs
main # cp /etc/hosts $MY_CHROOT/etc/hosts
main # cp /proc/mounts $MY_CHROOT/etc/mtab
main # chroot $MY_CHROOT /bin/bash
...
现在你只需要安装 grub 等。我发现这成为可读的指令。