答案1
您可能需要减少 sda5 中包含 123Gb 的文件数量,以适应具有 111G 容量的 sdb。那是问题吗?
在 sdb 上为您的 Linux 创建一个新分区,也许还有一个交换分区。如果您的计算机具有 UEFI BIOS,那么您将需要 ESP 分区。我想 123Gb 有一些文件可以删除或移动到 USB 驱动器。您是否在 USB 上使用 sysrescuecd?这使得分区和复制变得更容易。
因此,如果您想将 sda5 上的 Linux 复制到 sdb2,请执行以下操作:
- 使用 gparted 创建分区 sdb2
- 格式化分区 sdb2 或者 ext4
- 创建挂载点 /mnt/sdb2 和 /mnt/sda5
- 将 /dev/sdb2 挂载到 /mnt/sdb2
将 /dev/sda5 挂载到 /mnt/sda5
cd /mnt/sda5 cp -a bin sbin etc usr var lib boot tmp root home /mnt/sdb2/
不要复制 /dev /proc /sys 或 /mnt 目录!如果使用 sysrescuecd 并且您的 sda5 未运行,这可能不是问题。如果从 sda5 运行,则尝试复制这些目录将导致递归循环并非常快速地填满无限磁盘。
cd /mnt/sdb2
mkdir /dev /proc /sys /mnt
这些空目录在引导时由内核填充。
引导目录取决于您是否使用 EFI,因为这可能需要使用 EFI 将 ESP 分区安装在 /boot/efi 上。如果旧 linux 中当前未将 ESP 分区挂载到 /boot/efi,则应将 /boot 的内容从旧 linux 复制到新 linux,或者确保 /boot/efi 为空并将 ESP 目录放入fstab 被挂载到新的 /boot/efi。
然后编辑 /etc/fstab 以正确安装新分区。您可以使用 /dev/sdb2 类型标签而不是 UUFI 代码来开始。尝试在旧安装中更新 grub,看看它是否可以为 sdb2 创建 Grub 菜单。如果是这样,则引导到新的 sdb2。
也许只需将 Linux 重新安装到新的 SSD 上会更容易,然后您可以将所需的文件从旧家复制到新家。如果您的旧 Linux 是定制的,那么旧的安装文件可以复制到新的 Linux 中。
EDIT1:添加了 /lib 目录。
EDIT2:试图澄清 /boot 目录和 ESP 分区。