我正在尝试设置一台运行 Kali 滚动的笔记本电脑,就像它正在运行“DeepFreeze”一样。我的目标是能够执行以下操作:
- 设置sda1
- 使用 Clonezilla 将其克隆到 sda3,作为 sda1 的“干净版本”
- 将 sda1 与客户端一起使用
- 通过使用 Clonezilla 将 sda3 克隆回 sda1 来“恢复”它。
克隆分区之前:
- sda1 主分区被“使用”
- sda2扩展分区
--- sda5交换分区
- sda3 备份分区(sda1 的“干净”版本,根据需要覆盖 sda1)
- sda4 Clonezilla Live 分区(用于根据需要将 sda3 复制到 sda1)
克隆分区后:
使用 Clonezilla 将 sda1 克隆到 sda3 后,由于某种原因,kali 不断告诉 sda3 在 / 挂载,并启动到 sda3 而不是 sda1。
我想这是由 clonezilla 复制整个分区引起的,包括 sda1 内部告诉 grub 从它启动的任何内容。
我的问题是,我不知道如何阻止这种情况发生。
编辑:
/etc/fstab 内容:
root@kali:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=20d4493c-5934-4633-998e-0c6dd970d4ad / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=3f0d9a95-a494-4ffa-a071-aefcf3d377ed none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
块输出:
root@kali:~# blkid
/dev/sda1: UUID="20d4493c-5934-4633-998e-0c6dd970d4ad" TYPE="ext4" PARTUUID="f69a4b07-01"
/dev/sda3: UUID="20d4493c-5934-4633-998e-0c6dd970d4ad" TYPE="ext4" PARTUUID="f69a4b07-03"
/dev/sda4: LABEL="Clonezilla" UUID="26bc43b4-b906-45e0-be27-eab166704de5" TYPE="ext4" PARTUUID="f69a4b07-04"
/dev/sda5: UUID="3f0d9a95-a494-4ffa-a071-aefcf3d377ed" TYPE="swap" PARTUUID="f69a4b07-05"
答案1
是的,您的根分区是使用文件系统 UUID 挂载的,并且原始分区和克隆分区都具有相同的 UUID。要解决此问题,您可以注释相应的行并使用路径安装它/dev/sda1
。
#UUID=20d4493c-5934-4633-998e-0c6dd970d4ad / ext4 errors=remount-ro 0 1
/dev/sda1 / ext4 errors=remount-ro 0 1
您还应该检查grub
配置,因为有时也会使用 UUID。应该有类似的东西root=
指定设备的 UUID 或完整路径。
答案2
因此,虽然 Thomas 的回答让我沿着正确的道路思考,但实际上 cas 对 Thomas 回答的评论完全解决了我的问题:
在克隆分区之前,我编辑了/etc/default/grub
并取消注释了表示GRUB_DISABLE_LINUX_UUID=true
并运行的行update-grub
。
将 sda1 克隆到 sda3 后,Kali 始终启动到 sda1,并且 gparted 不再显示 sda3 已安装在/
.