我有一台 Windows 10 机器,上面有一个运行 Ubuntu 的 VirtualBox。在 Ubuntu 中,我的 /dev/sda1 分区空间不足,因此为了扩展它,我(通过 gparted)
- 增加了虚拟磁盘的大小
- 删除了我的 sda2 和 sda5 分区
- 调整 sda1 的大小
- 重新创建 sda2 和 sda5 分区
当然,现在我的 sda5 分区是空白的,我想从虚拟磁盘备份中复制文件。使用 dd 导致我的分区恢复到原始大小。
rsync -a --info=progress2 /dev/sdc2 /dev/sdb2
扔了
Skipping non-regular file "sdc2"
我完全是 Linux 新手,所以请对我宽容一点!我哪里做错了?实现此目标的最佳方法是什么?
答案1
我意识到这个问题已经有两年了,但是它没有答案,所以我想无论如何都要回答它。
/dev/ 中的文件允许访问原始设备数据。它们不提供实际文件。为此,您需要mount
文件系统。然后内核可以解释原始数据以获取存储在设备上的文件、目录等的结构。
该/mnt
目录通常用于临时挂载。由于您要从一个文件系统复制到另一个文件系统,因此您需要创建两个目录来挂载它们。
cd /mnt
sudo mkdir sdc2
sudo mkdir sdb2
sudo mount /dev/sdc2 /mnt/sdc2
sudo mount /dev/sdb2 /mnt/sdb2
现在,如果您查看文件夹 /mnt/sdc2,您应该会看到您的备份文件。您可以在这两个目录之间进行 rsync 来复制实际文件,并umount
在完成后复制它们。