我知道这个问题已被问过很多次,但我找不到直接的答案。
我的计算机上安装了 2 个 SSD,/dev/sda 和 /dev/sdb,我运行 dd 将 /dev/sda 克隆到 /dev/sdb,但是当我重新启动计算机时,它开始使用 /dev/sda1 中的 /boot 和 /dev/sdb2 中的 / 文件夹,我不想这样,我希望当它从 /dev/sda 启动时仅使用 sda,而当从 sdb 启动时仅使用 sdb,我尝试运行 update-grub,但无济于事,我该如何解决这个问题?
谢谢。
答案1
没关系,我确实使用了:
uuidgen
tune2fs -U '<uuid generated>' /dev/sdb2
现在它显示具有不同的 UUID,GRUB2 已使用 grub-customizer 进行定制,并且经过三次检查,发现两个启动驱动器的 UUID 不同。
不过还是感谢您的建议,它非常有帮助。
答案2
当您使用 dd 复制 2 个 SSD 时,它会复制所有内容,包括分区和 ext4 UID。启动 /dev/sda1 时,它会尝试挂载与配置的 UID 匹配的根文件系统。碰巧它在 /dev/sdb2 上找到了它,因此开始使用它而不是 /dev/sda2。
要解决此问题,您需要为 /dev/sdb2 重新生成 UID
sudo tune2fs -U random /dev/sdb2
如果您需要 grub 引导加载程序在从 /dev/sdb1 启动时使用 /dev/sdb2,则需要更新 /dev/sdb1 中的 grub 设置以查找您刚刚生成的新 UID。
已编辑:一些附加信息。您可以使用命令快速检查 UUID blkid
。
blkid
请注意,更改 UUID 需要文件系统是干净的,因此可能无法更新已挂载的文件系统。