我确定有很多方法,所以预计其他人会有非常不同的答案。
对于这种情况,如果你有一个驱动器坞,那会帮助很多:一个可以将额外的固态硬盘放在笔记本外部的USB设备。我将集中讨论这样的安排。我还假设您习惯于使用命令行进行操作。我将主要使用默认安装的软件。
我会从安装介质上运行,比如包含您版本Ubuntu的DVD,并选择“尝试Ubuntu”,这样您就不会从要复制的驱动器上运行。打开终端(点击桌面并键入
Ctrl-
AltT)。成为超级用户(
sudo -i
并使用您的用户密码)。
命令
df -h
将给出一个可读性强的分区列表。您可能会发现您的固态硬盘上的所有内容都被列为
/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”代表通用唯一标识符,但它们不再是唯一的。这个问题可以修复,但最好单独提问。在修复之前,绝对不要尝试在同一台机器上使用这两个驱动器进行任何操作,因为内核很可能会对哪个分区是哪个分区感到困惑。在复制完成后,立即将副本从托盘中取出。
如果目标驱动器比您的笔记本电脑上的驱动器大,并且笔记本电脑驱动器具有旧的MSDOS分区表,您仍然可以使用这种技术,但是驱动器末尾将会有一些未分配空间。
在其他所有情况下,您可能需要调整分区的大小,并逐个复制它们。这也可能是在另一个问题中更好的选择。
如果您要提出另一个问题,我建议您提供一些额外的信息:
1. 驱动器的大小是多少?您说现有的驱动器是60GB,但其标签可能还列出了LBA的数量,这可以提供更详细的信息。
2. 现有分区表的类型是什么?几乎肯定是MSDOS或GPT。您可以通过gparted等工具找到答案。
sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /destination/path
https://www.ostechnix.com/backup-entire-linux-system-using-rsync/ - kenn