我正在一台旧笔记本电脑上使用 Ubuntu Server 12.04 构建 NAS 服务器,对此我非常满意。操作系统安装在 8Gb 的 U 盘上(交换分区和 grub 也安装在其上)。
我使用以下方法进行了“备份”:
dd if=/dev/sdb of=/mnt/nas-disk/backups/ubuntu-nas-server/pendrive.iso bs=4M
我工作得很完美,事实上我犯了一个错误并用垃圾覆盖了 pendrive,并且我能够使用以下命令恢复所有内容:
dd if=/mnt/nas-disk/backups/ubuntu-nas-server/pendrive.iso of=/dev/sdb bs=4M
但是,我有另一个容量不完全相同的 U 盘(它是一个 8GB 的 U 盘,但容量多或少有 7.9GB)。当我执行上一个命令并尝试使用新驱动器启动时,它根本不起作用。
dd 命令让我知道它无法复制新设备中的所有文件。
我需要一种方法来“克隆”我的 U 盘,以防它出现故障。有什么方法可以做到这一点吗?
答案1
对于恢复:您可以尝试:
- 在你的 pendrive 上创建(新)分区(swap 和 ext3/ext4),
fdisk /dev/sda
例如使用 - 挂载新创建的分区(
mkdir /mnt/tmp1 && mount /dev/sda1 /mnt/tmp1/
) - 从 .iso/.img 挂载数据分区(
mkdir /mnt/tmp2/ && kpartx -a imagefile.img && mount /dev/mapper/loop0p1 /mnt/ -o loop,ro
) - 将数据从已安装的映像复制到新的数据分区(
cp /mnt/tmp2 /mnt/tmp1 -r
) - 卸载映像 (
kpartx -d imagefile.img
) - 将 grub 安装到 usbstick 的 MBR 上(
grub-install /dev/sda
)(参见:https://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-using-grub_002dinstall.html)
这些只是示例命令。请让它们满足您的需求!
对于备份,你可以尝试只备份数据分区(例如 /dev/sda1),这样可以更轻松地将数据提取到任何地方,而不仅仅是完整的合适的 USB 棒