如何将Linux移至另一个分区?


9

我需要复制一个正常工作的linux系统,该系统(包含在/中,新位置在/ mnt / sdb5中)似乎包含/ dev中相当数量的硬链接,软链接和特殊文件;cpio不用额外的魔法就能完成这项工作?

当前已知的保障措施:

  • 在该副本被认为是可引导的并且可以使用之前,不要删除/修改正在运行的系统root=/dev/sdb5;删除之前,请进行完整的分区备份。
  • 将使用cpio分别归档每个根目录,从而将其从LiveCD环境中解压缩,因此不会损害施主分区

但是,仍然不会因为cpio错过了一些标志并破坏权限/节点类型/软件或硬链接而浪费时间。

使用哪种工具/避免使用哪种水下岩石?



@沃伦,谢谢。现在要做另一个cpio-vs-tar测试;)
kagali-san 2011年

不用担心:希望能对您
有所

Answers:


10

要回答有关cpio以下问题的实际问题,这些是我将用于的标志cpio

find / -xdev -depth \! -path ./lost+found -print0 | cpio --pass-through --null --dot --make-directories --unconditional --preserve-modification-time --sparse /mnt/sdb5

当然,由于您不是通过网络复制的,因此我将使用cp

cp --archive --sparse=always --verbose --one-file-system --target-directory=/mnt/sdb5 /

而且,如果您希望能够多次复制,rsync则其恢复功能是一个更好的选择。(它同样也可以cp处理ACL和扩展属性,并且可以像cpio这样在网络上工作。因此,这是最有用的选项,除了在本地制作第一个副本(我更喜欢使用)cp。)

rsync --archive --inplace --hard-links --acls --xattrs --devices --specials --one-file-system --8-bit-output --human-readable --progress / /mnt/sdb5

不要忘记复制/boot/dev

/boot很简单,只需复制即可。但是,/dev由于它已被隐藏,因此如今更加棘手udev。我建议执行以下过程:

  1. mkdir /tmp/dev
  2. mount --move /dev /tmp/dev
  3. 复制/dev/mnt/sdb5使用上述命令之一
  4. mount --move /tmp/dev /dev
  5. rmdir /tmp/dev

6

正如@Klox所提到的,当复制相同大小的分区时,我同意使用dd

但是,当您要将磁盘复制到具有不同大小的其他分区时,我宁愿使用rsync。挂载新分区(比方说/ mnt / new),然后:

# rsync -a --exclude=/proc --exclude=/dev --exclude=/sys / /mnt/new

符号链接没有附加的魔术,也不需要实时CD(单个用户/ init 1就可以了)。


嗯是的 我rsync一直在用,错过了明显的时刻。dd出于上述原因,我很喜欢,但rsync更适合OP的需求。
Klox

3

最佳的dd使用方法是partimage,它将仅复制分区的已用部分,从而更方便地复制大型未使用的分区。

注意重要的警告:

Partimage不支持Ext4,后者是新Ubuntu安装中的默认设置。

方便的副本包含在System Rescue CD发行版中。


2

在硬盘驱动器之间移动Linux安装时,我总是从Live CD引导并用于dd复制整个分区。我知道这不能解决磁盘大小的变化(不可避免的是,新磁盘更大了,这简化了事情),但是由于您担心使用的原因,我喜欢这种技术cpio:可能出了问题。使用该dd技术,它是全部或全部:新磁盘启动且所有内容都相同,或者磁盘无法启动。以后不会出现潜伏问题的风险。

现在,当然存在分区未填充新磁盘的问题,但是我只想创建一个新分区来填充额外的空间,并依靠符号链接来移动目录。(我确定也有用于调整分区大小的工具,但是我没有使用它们。)


我所谈论的系统在500 gb XFS分区上只有大约50 GB的可用空间(无法缩小,目前仅通过可以支持增长xfs_grow),而根分区也是XFS。更糟糕的是,它是一个成熟的Gentoo,它本身几乎就是脂肪。更糟糕的是,此举必须在不增加存储量的情况下完成,并且目前不能备份超过60个演出-因此无法进行分区操作。需要将Win'放入该机器以测试一些东西。
kagali-san 2011年

同样,dd很不错,但是对于驱动器/分区操作,我倾向于使用更多..专有解决方案。Acronis TrueImage似乎工作得更好(压缩,Samba共享-来自livecd / liveusb闪存)。
2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.