在usb棒上复制linux分区

时间:2014-10-09 15:37:13

标签: linux usb gnu boot partition

我想知道如何在USB记忆棒上复制Linux分区(例如:/ dev / sda1),然后在USB记忆棒上启动。 我试图用命令cp复制它,但是当我尝试在它上面启动时,它在我复制的分区(/ dev / sda1)而不是usb上启动。 简而言之,我想要做的就是在我的Linux分区上创建一个USB记忆棒,我可以在任何计算机上启动它。

谢谢。

2 个答案:

答案 0 :(得分:0)

请更改您的BIOS设置,以便第一个启动设备为USB。

答案 1 :(得分:0)

cp非常适合复制文件,但您应该将其视为复制分区的过高级别。复制分区时,您从设备文件中读取并写入另一个设备文件,或普通文件,或者其他任何内容。使用cp,可能会更改许多文件属性:修改时间,所有者,权限等。这对于分区副本来说并不是很好,例如: root拥有的文件仍应由root拥有,或者〜/ .ssh / config仍应具有权限600。

此任务的程序是dd,它逐位复制。您指定输入文件和输出文件:

dd if=/dev/sda of=/dev/sdf bs=512

这会将/ dev / sda的内容复制到/ dev / sdf,同时一次读取512个字节(bs = blocksize)。一段时间后,它将完成并报告一些状态。要在复制期间获取统计信息,必须将SIGUSR1信号发送到dd进程。

请注意dd是一种危险的工具,如果使用不当:例如,它不会要求您允许覆盖10000张图片度假相册。它就是这么做的。确保指定正确的设备文件! 您还必须注意源和目标的大小适合:目标需要至少是源的大小。如果你有一个500GB的硬盘,它将无法复制到4GB的USB记忆棒。

复制整个硬盘也会复制引导加载程序。这可能是一个问题,引导加载程序配置中的条目引用了错误的磁盘。但是,启动引导加载程序应该没问题(提供架构匹配)。如果使用GRUB,您甚至可以获得一个命令行,您可以使用该命令行手动引导系统。