Linux

製作可啟動的 Linux 副本

  • January 1, 2020

我在 SSD 驅動器上安裝了特定的 Linux。我想要做的是將所有 ext4 分區文件複製到其他驅動器(也是 ext4)並使其可啟動。副本應盡可能相似,僅在分區大小和文件的物理位置上有所不同。

我知道我需要使 /boot/ 文件夾相同,但是 GRUB 呢?如何使目標驅動器可啟動?

整個分區/磁碟的副本在這裡不適用 - 我需要說明如何製作可引導的 ext4 文件系統副本。

根據@davidgo 評論,我成功製作了 Linux 的可引導副本。命令是:

# mount target partition at /mnt
mount /dev/target1 /mnt
# make copy of all files excluding on-line folders
rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt
# mount on-line folders inside /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
# chroot to target
chroot /mnt
# install and update grub on target MBR
grub-install /dev/target
update-grub2 /dev/target
# leave chroot
exit
# unmount on-line folders and the target partition
umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
umount /mnt

您可能想使用lsblk來查看哪個是您的目標驅動器及其分區。您可能想先對其進行分區並製作 ext4 文件系統:

fdisk /dev/target
mkfs.ext4 /dev/target1

/etc/fstab可能需要更新到目標分區(否則係統將無法啟動)。

引用自:https://serverfault.com/questions/996703