将文件从一个磁盘复制到另一个磁盘

Sab*_*imi 6 cp disk

我想将一个磁盘上的所有内容复制到另一个硬盘上。我认为该cp命令可能会起作用。

cp -aR /dev/nvme0n1p1/* /dev/sda1/
Run Code Online (Sandbox Code Playgroud)

/dev/nvme01np1是我想要复制其内容的旧磁盘,/dev/sda1是新磁盘。但是我收到一个错误,说这/dev/nvme01np1不是一个目录。

小智 13

这取决于您\xe2\x80\x99 想要做什么。

\n

使用dd对于克隆磁盘很有好处。这在块级别、低级别上运行。

\n

如果您要进行备份,rsync就足够了。它在文件系统级别运行,高于块设备级别。

\n

如果磁盘已经挂载(例如,有其他目录不在/dev 目录中),rsync建议使用该命令。如果您有千兆字节要传输,rsync 会很方便,因为如果进程中断,它可以在之前的位置重新启动。

\n

如果\xe2\x80\x99s有数十万个文件,则文件列表可能太长而出错。我\xe2\x80\x99 通过将 rsync 作业一次批处理到子目录中克服了这个问题。

\n
rsync -av --progress /path/of/source /path/of/target\n
Run Code Online (Sandbox Code Playgroud)\n

Rsync 可以通过 ssh 和 ssh 密钥在网络或 Web 上安全地使用,并使用系统 cron 进行调度。这是一个方便的了解工具。

\n
rsync -e "ssh -i $HOME/.ssh/id_rsa" -avz --progress /path/of/source user@host:/path/of/target\n
Run Code Online (Sandbox Code Playgroud)\n

更多信息

\n


pLu*_*umo 3

将文件从当前正在运行的系统复制到另一个磁盘是有问题的。您最好使用实时系统。但是,cp您无法从 复制设备/dev,只能在设备的挂载点之间进行复制。

如果要克隆分区或硬盘驱动器,最好使用dd复制块而不是文件。


  1. 确保第二个硬盘驱动器的大小至少与第一个硬盘驱动器的大小相同。

  2. 启动实时系统

  3. 复制硬盘,例如:

    dd if=/dev/nvme0n1p of=/dev/sda bs=32M
    
    Run Code Online (Sandbox Code Playgroud)

    或使用cat通过):

    cat /dev/nvme0n1p >/dev/sda
    
    Run Code Online (Sandbox Code Playgroud)

读: