我的实际笔记本电脑上有一个 xubuntu 分区,带有 MBR 和 grub,用于双启动 Windows 和 Linux。我正在尝试克隆 xubuntu 分区并恢复到基于 UEFI 的新笔记本电脑中。
在新笔记本电脑(最初只有 Windows 10 的 HP Probook)中,我设法创建了一个 ext4 分区并安装了 xubuntu 的新副本。现在我尝试用我的 xubuntu clonezilla 映像覆盖新的 ext4 分区,但恢复后遇到问题,因为 xubuntu 系统无法启动并且 grub 以 cmdline 模式启动。
我仍然可以通过 BIOS 启动选项启动到 Windows 分区。
这就是我所做的:
使用clonezilla将旧的ext4 xubuntu分区克隆到映像(在USB磁盘上)
在新笔记本电脑上,我禁用了安全启动并禁用了旧版支持,以便创建/调整分区大小
创建了一个新的空 ext4 分区,我在其中安装了新的 xubuntu 系统。现在我可以启动 Windows 和 xubuntu
恢复了ext4分区上的clonezilla xubuntu镜像,覆盖了全新安装的xubuntu
系统无法用xubuntu分区启动,用grub命令行启动
如何恢复 grub 选项?
谢谢
答案1
Xubuntu 的 GRUB 可能通过文件系统 UUID 来标识包含 GRUB 配置文件和/或 Xubuntu 根文件系统的分区。当您使用 clonezilla 映像覆盖全新安装时,该 UUID 会被映像中的文件系统 UUID 覆盖。
GRUB 命令行模式表明 GRUB 甚至没有找到自己的配置文件和/或normal.mod
GRUB 命令行模式表示由于 UUID 更改,文件。也许可以使用命令行模式来执行手动启动所需的命令,但如果您以前没有使用过 GRUB 命令行,那么这会非常棘手。相反,您可能应该使用 Xubuntu Live CD Recovery - 它更容易。要访问您的安装,请找到“更新失败”段落并执行步骤 1-7:
1.) 启动 [X]Ubuntu Live CD。
2.) 按 Ctrl-Alt-F1
3.)
sudo mount /dev/sda1 /mnt
## 将 sda1 替换为根分区的实际设备名称4.)
sudo mount --bind /dev /mnt/dev
5.)
sudo mount --bind /proc /mnt/proc
6.)
sudo mount --bind /sys /mnt/sys
7.)
sudo chroot /mnt
现在您应该可以在命令行模式下访问从映像恢复的文件系统。
但由于您的映像来自基于 MBR 的系统,因此它很可能包含 MBR 版本的 GRUB 引导加载程序。在新系统上,您将需要 UEFI 版本的 GRUB 以及命令efibootmgr
。在替换 GRUB 之前,您可能需要挂载 ESP 分区(= 包含磁盘上任何操作系统的所有 UEFI 引导加载程序的小 FAT 分区。)/boot/efi
- 如果该挂载点尚不存在,请创建它。
如果 Live CD 成功启动网络连接,您现在可能只能使用apt
命令:
sudo apt-get remove grub-pc
sudo apt-get install grub-efi-amd64 grub-efi-amd64-signed efibootmgr
作为 GRUB 重新安装过程的一部分,安装很可能grub-efi-amd64
会自动重建您的 GRUB 配置,您无需执行任何其他操作。您可能想要显示 UEFI 启动设置并将sudo efibootmgr -v
其与 UEFI 启动设置进行比较。您将能够使用该efibootmgr
命令从 Xubuntu 中更改启动顺序等。