我已经使用dd复制了1到1份内部磁盘。外部磁盘可以引导,但是由于磁盘将共享相同的uuid,因此启动过程实际上将从内部磁盘继续进行。
如何对内部磁盘进行完全可引导的备份到外部磁盘?
重复的uuid似乎导致从内部磁盘而不是外部磁盘启动。对此有任何解决方案,比如包装好的dd,它可以处理这个问题吗?
用途:第一次备份到外部磁盘,从外部磁盘启动,应用系统升级,重新启动后测试升级。如果升级成功,内部磁盘也可以升级。
发布于 2019-03-12 12:26:34
但是..。
您实际上可以在备份之后更改备份驱动器的UUID。记住对每个分区都这样做。例如,/dev/sdb1:
# Generate a random UUID:
cat /proc/sys/kernel/random/uuid
7a5e6fad-4fa2-4177-b8a6-dfeeeb6289df
# Then use this for the partition UUID
tune2fs -U 7a5e6fad-4fa2-4177-b8a6-dfeeeb6289df /dev/sdb1然后在后援..。检查旧UUID的下列文件并用新的UUID替换。您需要用操作系统替换<distribution>:
/etc/fstab
/boot/grub/grub.cfg
/boot/efi/EFI/<distribution>/grub.cfg更困难的问题是说服BIOS使用外部EFI分区。如果您不能指定使用哪个驱动器.您可能需要将您的EFI配置复制到您的主驱动器上(例如:/boot/efi/EFI/debian/到/boot/efi/EFI/backup/),并将其安装在您的BIOS中。
发布于 2019-03-14 01:53:27
我今天早些时候做的!我的笔记本电脑使用了基于MBR的ThinkPad X201平板电脑启动,但大部分步骤在(u)EFI和“遗留”BIOSes之间应该是相同的。过去,我在基于EFI的macintosh上也做过类似的工作。
要更新新磁盘的UUID,从旧磁盘启动并运行(用于ext* type分区):
tune2fs -U `uuidgen` /dev/sdb1…如果/dev/sdb1是新磁盘的partiton,并且是在/dev/sda中引导的。
如果它给了您一个错误,那么它可能会要求您在重命名之前运行文件系统检查。运行tune2fs命令,然后再次运行tune2fs。
对于其他文件系统,您需要弄清楚如何更改UUID。以下是两个更常见的问题:
btrfstune -U `uuidgen` /dev/sdb1。xfs_admin -U `uuidgen` /dev/sdb1,但我不能百分之百地肯定这一点,因为我从未亲自使用过XFS。对新磁盘上的所有分区重复此操作。
/etc/fstab.安装新磁盘的根分区并编辑/etc/fstab,用新UUID替换旧磁盘的UUID。您可以通过运行blkid来检查新UUID是什么。
之前引导到新驱动器(使用临时的临时解决方案)
此时,对于对新驱动器的临时一次引导,可以在内核参数中指定root=/dev/sdb1 (如果/dev/sdb1是新磁盘的根分区)。在GRUB2中,这就像在linux引导条目上按下'e‘,并将其加到行的末尾(以linux开头)。如果整个linux安装都在一个分区上(没有单独的主分区等),那么您可以从一开始就这样做(在更改UUID之前)。
接下来,我们需要实际更新引导的ramdisk。对于下一步,我强烈建议只删除原始磁盘,如果可能的话。如果您可以这样做,那么在更新grub时,您可以很容易地避免将旧磁盘添加到新磁盘的启动菜单中的可用条目中。
在任何情况下,作为根,您都应该运行(在debian和派生程序上;我相信命令是update-initrd在其他一些命令上):
update-initramfs -u我不知道这是否真的需要,我很惭愧地承认。我这么做是因为“它不会疼”,也不是在我的笔记本电脑上。
grub-install /dev/sdX(其中/dev/sdX是您希望grub引导加载程序重新安装的驱动器。不要指定分区,例如/dev/sdX1 1,等等--只指定设备名称)。
这使我的克隆磁盘启动没有任何问题,在我的第一次尝试。在过去,当我最后一次迁移到一个更大的驱动器时,我或多或少地以同样的方式完成了这个过程。
您可能还必须在BIOS/(U)EFI设置中更改磁盘的引导优先级,以使其在仍然给您带来麻烦的情况下自动使用磁盘。
发布于 2019-03-12 12:17:43
您没有提到文件系统类型,但是可以更改UUID,并生成随机的UUID:
uuidgen然后你就可以在预感中改变它。为异家庭..。
tune2fs -U <output of uuidgen> /dev/sdb1有关更多信息,请参见此页。
请注意,此时您还需要更改引导加载程序(如果是grub,那么在大多数情况下可以编辑/ boot /grub/grub.cfg ),还需要修改fstab以反映UUID的更改。
我认为一种选择是在使用外部磁盘时关闭内部磁盘。IIRC,曾经有这样的开关(例如,你把开关安装在一个3.5“或5.25”的海湾)。
https://unix.stackexchange.com/questions/504278
复制相似问题