我花了很多时间来配置我的笔记本电脑(128 GB SSD,使用 60 GB),因为我安装了 MATLAB、LaTeX、Mathematica 和一些模拟软件。如果我可以将整个 SSD 复制到另一台笔记本电脑的 SSD 上,我就不想在另一台笔记本电脑上重复配置/安装这些东西了。
我找到了较旧的帖子如何将我的 Ubuntu 系统(笔记本电脑)复制到另一台笔记本电脑?但是他们推荐CloneZilla,它对系统包大小有限制(不超过4GB),也许有更好的解决方案?
答案1
答案2
我确信有很多方法,所以预计其他人会有截然不同的答案。
对于这种情况,如果您有一个驱动器底座,它会很有帮助:一个可以在笔记本电脑外部放置额外 SSD 的 USB 设备。我将专注于这样的安排。我还假设您习惯从命令行执行操作。我将主要使用默认安装的软件。
我会使用安装介质(例如包含您的 Ubuntu 版本的 DVD)运行,然后选择“试用 Ubuntu”,这样您就不会从要复制的驱动器运行。打开终端(单击桌面并输入Ctrl- AltT)。成为超级用户(sudo -i
并使用您的用户密码)。
该命令df -h
将为您提供一个可读的分区列表。您可能会发现 SSD 上的所有内容都列为/dev/sda<something>
。因此,这/dev/sda
将是您要复制的所有内容的来源。
你可以
ls -l /dev/sd*
显示硬盘及其分区。您应该只会看到 下的内容/dev/sda
。
现在将目标 SSD 放入驱动器底座并启动它。
现在,再试一次:
ls -l /dev/sd*
我希望至少看到/dev/sdb
,也许还有一些编号的分区。如果是这样,一切都很好,只是你应该说服自己你真的想销毁所有这些/dev/sdb
分区。如果你只有/dev/sdb
它自己,就没有分区。
现在,如果两个 SSD 驱动器大小相同,事情就变得非常简单了。只需复制整个驱动器即可。我通常的方法是
dd if=/dev/sda of=/dev/sdb bs=102400
if=
命名源(“输入文件”)并of=
命名目标(“输出文件”)。不要颠倒这些!
bs=
给出一个块大小,这里大约是 100K。默认值只有 512 字节,而且会非常慢。你希望它至少是 1024 的倍数。由于有零,所以它是 4096 的倍数。
结果会起作用,但有点奇怪,因为所有分区的 UUID 也被复制了。奇怪的是“UUID”代表通用唯一 ID,而它们不再是唯一的。这个问题可以修复,但最好将其放在一个单独的问题中。在修复之前,不要尝试在同一台机器上使用两个驱动器做任何事情,因为内核可能会搞不清楚哪个分区是哪个。复制完成后立即将副本从底座中取出。
如果目标驱动器比笔记本电脑中的驱动器大,并且笔记本电脑驱动器具有旧的 MSDOS 分区表,则您仍然可以使用此技术,但驱动器末尾会有一些未分配的空间。
在所有其他情况下,您可能需要调整分区大小,然后单独复制它们。在其他问题中,这也可能是最佳选择。
如果您要问另一个问题,我建议您提及一些其他信息:
- 驱动器大小是多少?您说现有的驱动器是 60 GB,但它的标签可能还列出了 LBA 的数量,可以提供更多详细信息。
- 现有分区表的类型是什么?几乎可以肯定是 MSDOS 或 GPT。您可以从 gparted 等工具中查找。