我有一台計算機,在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 等。這成為可讀的指令。